Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Hi, Ali Akcaagac wrote: A lot of the readers here als prefer lftp as good choice for ftp'ing. Well, since I do use ncftp anyway on several platforms I've got ncftpget for free and so the posted approach is perfectly fine for me. I don't speak for others, of course, just trying to show and share a neat solution. Your two lines of getting the patches is indeed nice. It is only one line ;). Similar like your wget approach in getvim.sh: ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*' So my fully-automatic build - this has been my goal - looks now like this (snippet from the Makefile): all: tar xfj vim-7.1.tar.bz2 tar xfz vim-7.1-lang.tar.gz tar xfz vim-7.1-extra.tar.gz (cd vim-7.1.patches ; ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*') cat vim-7.1.patches/7.1.* > patchfile (cd vim71 ; patch -p0 < ../patchfile) (cd vim71 ; ./configure --prefix=$(PREFIX) --with-x --enable-gui=gtk2 --enable-multibyte --enable-xim --enable-fontset --enable-perlinterp --enable-cscope && make) Can also be done with wget only. Please allow me to remind the people here on the "getvim" script that I once wrote. It collect all patches and made one huge patchfile out of it. Quite trivial to use. Using one huge patchfile is also my approach as you can see above and on Unix/Linux systems this can be done with a simple "cat 7.1.* > patchfile" 'cause the right sorting order is already built-in. If somebody has got another experience with, e.g. different locale settings, I would appreciate to know. As Tony has pointed out already, this doesn't work on Dos / Windows as the sorting order seems to be different there, unfortunately. http://www.akcaagac.com/tools/files/shell/getvim.sh I had a look: interesting and new to me is your approach with "seq". I'll remember this when I need a sequence of formatted, ascending numbers in a shell script. But for creating the vim patchfile with all patches included it is overdone, IMO. In this case you even need to edit the script with every new patch (see: $SUBLEVELEND). Plus you still need to apply the patch and build manually. Kind regards, Stephan.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
On Fri, 2007-05-18 at 07:21 +0200, Stephan Hegel wrote: > ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*' > fetches all patches to the local directory in one go. > > And it does it in a smart way, see the second try: > ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*' > ncftpget /pub/editors/vim/patches/7.1/7.1.*: local file appears >to be the same as the remote file, download is not necessary. Hi, A lot of the readers here als prefer lftp as good choice for ftp'ing. Your two lines of getting the patches is indeed nice. Can also be done with wget only. Please allow me to remind the people here on the "getvim" script that I once wrote. It collect all patches and made one huge patchfile out of it. Quite trivial to use. http://www.akcaagac.com/tools/files/shell/getvim.sh Greetings, Ali Akcaagac
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
scott wrote: a visit to yast, software management, searched for ncftp and it brought ncftp right to the fore, installed it for me, and i've been happily learning features since -- imagine commandline recall that works in ftp! bookmarks! And I just figured out that it comes with an utility called ncftpget: So ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*' fetches all patches to the local directory in one go. And it does it in a smart way, see the second try: ncftpget ftp.vim.org . '/pub/editors/vim/patches/7.1/7.1.*' ncftpget /pub/editors/vim/patches/7.1/7.1.*: local file appears to be the same as the remote file, download is not necessary. Perfect for running from a build script. That is what I have been looking for. One more big plus: besides for almost all sorts of Un*x, ncftp is available for Windows as well. Rgds, Stephan.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
A.J.Mechelynck wrote: Well, AFAICT it has disappeared between SuSE 10.0 and 10.2. No, my copy of Suse 10.2 contains the package: [18]/media/dvdram/suse/i586: rpm -qip ncftp-3.2.0-17.i586.rpm Name: ncftp Relocations: (not relocatable) Version : 3.2.0 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Release : 17Build Date: Sun 26 Nov 2006 03:50:45 AM CET Install date: (not installed) Build Host: fix.suse.de Group : Productivity/Networking/Ftp/Clients Source RPM: ncftp-3.2.0-17.src.rpm Size: 1069921 License: Artistic License Signature : DSA/SHA1, Sun 26 Nov 2006 03:51:52 AM CET, Key ID a84edae89c800aca Packager: http://bugs.opensuse.org URL : http://www.ncftp.com/ Summary : A Comfortable FTP Program Description : This program has been in service on UNIX systems since 1991 and is a popular alternative to the standard FTP program, /usr/bin/ftp. NcFTP offers many ease-of-use and performance enhancements over the stock FTP client and runs on a wide variety of UNIX platforms as well as operating systems like Microsoft Windows and Apple Mac OS X. Authors: Mike Gleason <[EMAIL PROTECTED]> Distribution: openSUSE 10.2 (i586) In case you have the six-CD version, the following note at www.opensuse.org could explain why you don't have it: "Due to size limitations of CD images, you get only a subset of all packaged software for openSUSE". But then you should be able to fetch the missing packages from ftp.opensuse.org. Rgds, Stephan.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
scott wrote: [...] ncftp should have popped right up for you -- what do you have in "Configured Software Catalogs" (under installation sources)? sc Status Refresh Name URL On On YaST iso:///?iso=openSUSE-10.2-GM-DVD-i386.iso&url=hd:///?device=/dev/hda2&filesystem=auto On On YUM http://gd.tuwien.ac.at/linux/suse.com/suse/update/10.2 On On YUM http://ftp.hosteurope.de/mirror/ftp.suse.com/pub/suse/update/10.2 [x] Synchronize changes with ZENworks Anyway, ftp (aka pftp from the lukemftp package), and occasionally lftp, are good enough for me. Best regards, Tony. -- hundred-and-one symptoms of being an internet addict: 242. You turn down a better-paying job because it doesn't come with a free e-mail account.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
On Thursday 17 May 2007 13:32, A.J.Mechelynck wrote: > > A.J.Mechelynck wrote: > >> - What is ncftp? On my openSUSE 10.2 system I have a program > >> called "ftp" but none called "ncftp". > Well, AFAICT it has disappeared between SuSE 10.0 and 10.2. I have > packages named lftp and lukemftp (which are installed); YaST also i think a lot of software that was installed by default in 10.0 was left off 10.2, but any of it you want is readily available if you get your "installation sources" correct i've got suse 10.2 and i got curious after seeing this thread a visit to yast, software management, searched for ncftp and it brought ncftp right to the fore, installed it for me, and i've been happily learning features since -- imagine commandline recall that works in ftp! bookmarks! anyway, i've got the plain jane installation sources: http://download.opensuse.org/distribution/10.2/repo/oss http://download.opensuse.org/distribution/10.2/repo/non-oss ncftp should have popped right up for you -- what do you have in "Configured Software Catalogs" (under installation sources)? sc
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Stephan Hegel wrote: A.J.Mechelynck wrote: - What is ncftp? On my openSUSE 10.2 system I have a program called "ftp" but none called "ncftp". [39]./home/steve: rpm -qi ncftp Name: ncftpRelocations: (not relocatable) Version : 3.1.9 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Release : 2 Build Date: Fri 09 Sep 2005 06:15:16 PM CEST Install date: Sun 16 Oct 2005 06:07:57 AM CEST Build Host: berlioz.suse.de Group : Productivity/Networking/Ftp/Clients Source RPM: ncftp-3.1.9-2.src.rpm Size: 1038391 License: Artistic License Signature : DSA/SHA1, Fri 09 Sep 2005 06:52:45 PM CEST, Key ID a84edae89c800aca Packager: http://www.suse.de/feedback URL : http://www.ncftp.com/ Summary : A Comfortable FTP Program Description : This program has been in service on UNIX systems since 1991 and is a popular alternative to the standard FTP program, /usr/bin/ftp. NcFTP offers many ease-of-use and performance enhancements over the stock FTP client, and runs on a wide variety of UNIX platforms as well as operating systems such as Microsoft Windows and Apple Mac OS X. Authors: Mike Gleason <[EMAIL PROTECTED]> Distribution: SUSE LINUX 10.0 (i586) Regards, Stephan. Well, AFAICT it has disappeared between SuSE 10.0 and 10.2. I have packages named lftp and lukemftp (which are installed); YaST also shows, among "FTP clients", gftp, tftp and yafc; but the only available packages (in category "zzzAll") whose name starts "nc" are ncpfs, ncurses and ncurses-devel. /usr/bin/ftp is actually a link, /bin/ftp -> /etc/alternatives/ftp -> /usr/bin/pftp where pftp comes from the "lukemftp" package which is "the enhanced ftp client in NetBSD" Best regards, Tony. -- "How do you like the new America? We've cut the fat out of the government, and more recently the heart and brain (the backbone was gone some time ago). All we seem to have left now is muscle. We'll be lucky to escape with our skins!"
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
A.J.Mechelynck wrote: - What is ncftp? On my openSUSE 10.2 system I have a program called "ftp" but none called "ncftp". [39]./home/steve: rpm -qi ncftp Name: ncftpRelocations: (not relocatable) Version : 3.1.9 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Release : 2 Build Date: Fri 09 Sep 2005 06:15:16 PM CEST Install date: Sun 16 Oct 2005 06:07:57 AM CEST Build Host: berlioz.suse.de Group : Productivity/Networking/Ftp/Clients Source RPM: ncftp-3.1.9-2.src.rpm Size: 1038391 License: Artistic License Signature : DSA/SHA1, Fri 09 Sep 2005 06:52:45 PM CEST, Key ID a84edae89c800aca Packager: http://www.suse.de/feedback URL : http://www.ncftp.com/ Summary : A Comfortable FTP Program Description : This program has been in service on UNIX systems since 1991 and is a popular alternative to the standard FTP program, /usr/bin/ftp. NcFTP offers many ease-of-use and performance enhancements over the stock FTP client, and runs on a wide variety of UNIX platforms as well as operating systems such as Microsoft Windows and Apple Mac OS X. Authors: Mike Gleason <[EMAIL PROTECTED]> Distribution: SUSE LINUX 10.0 (i586) Regards, Stephan.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
A.J.Mechelynck wrote: - What is ncftp? On my openSUSE 10.2 system I have a program called "ftp" but none called "ncftp". ncftp (pronounced Nik-F-T-P) is an alternative command-line FTP client. Slackware ships it[1] (or so the link leads me to believe). You can read more at the ncftp[2] web site. Michael Henry [1]: http://www.slackbook.org/html/basic-network-commands-ftp.html [2]: http://www.ncftp.com/
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Stephan Hegel wrote: Hi, A.J.Mechelynck wrote: - Using "cat" is OK as long as you can be sure that you'll get them in numeric order: this is usually the case on Unix but not necessarily on Dos, where a wildcarded filename usually gets its results in directory order, not sorted by filename. Well, you are right: I'm on Linux and wasn't aware of the different DOS sorting order. So, the following below applies to Linux/Unix only ... - By patching individually, if one of the patches fails horribly you may decide not to try the following. - Usually there aren't more than a handful of _new_ patches anyway, so (except when starting from scratch with many patches already published) it's hardly worth the trouble going to a cat step. What you have described even on your Web page, IMHO still too much manual work. After downloading new patches with "ncftp" I just type "make all" with the following Makefile: - PREFIX=/usr/local help: @echo "Available targets:" @echo " all" @echo " install" @echo " clean" all: clean tar xfj vim-7.1.tar.bz2 tar xfz vim-7.1-lang.tar.gz tar xfz vim-7.1-extra.tar.gz cat vim-7.1.patches/7.1.* > patchfile (cd vim71 ; patch -p0 < ../patchfile) (cd vim71 ; ./configure --prefix=$(PREFIX) --with-x --enable-gui=gtk2 --enable-multibyte --enable-xim --enable-fontset --enable-perlinterp --enable-cscope && make) install: (cd vim71; umask 022; installwatch -o /home/steve/install.log/vim-7.1.log make install) chmod 644 /home/steve/install.log/vim-7.1.log clean: rm -rf patchfile rm -rf vim71 .PHONY: help all install clean -- ... and everything is done in less than 150 sec. Works for me for a long time and starting from scratch keeps me out of trouble with old objects, etc. Should not happen with make ... yes, this is what optimists always say, but there is still Murphy ;). BTW, "make" should stop when "patch" or any other action fails. Interesting would be an extension to download the patches automagically. Comments & ideas ? Regards, Stephan. Comments: - Since on Linux I build only one version of Vim (a full-featured GUI-enabled executable which can also run in console mode) I prefer to keep already-built objects, doing what the Mozilla guys call a "depend" build rather than a "clobber" build (which is what you do). I've found that it spares quite a lot of time, finishing in a few seconds rather than a few minutes. - When I really need a clobber build (because my configuration has changed), then I do "make reconfig" in the src subfolder. - After "make clean", "make" will invoke configure, you don't need to run it separately. (I keep my configure options in a separate script, which I "source" in bash to set the required environment variables.) - What is ncftp? On my openSUSE 10.2 system I have a program called "ftp" but none called "ncftp". Best regards, Tony. -- hundred-and-one symptoms of being an internet addict: 241. You try to look for Net Search even when you're in File Manager.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Hi, A.J.Mechelynck wrote: - Using "cat" is OK as long as you can be sure that you'll get them in numeric order: this is usually the case on Unix but not necessarily on Dos, where a wildcarded filename usually gets its results in directory order, not sorted by filename. Well, you are right: I'm on Linux and wasn't aware of the different DOS sorting order. So, the following below applies to Linux/Unix only ... - By patching individually, if one of the patches fails horribly you may decide not to try the following. - Usually there aren't more than a handful of _new_ patches anyway, so (except when starting from scratch with many patches already published) it's hardly worth the trouble going to a cat step. What you have described even on your Web page, IMHO still too much manual work. After downloading new patches with "ncftp" I just type "make all" with the following Makefile: - PREFIX=/usr/local help: @echo "Available targets:" @echo " all" @echo " install" @echo " clean" all: clean tar xfj vim-7.1.tar.bz2 tar xfz vim-7.1-lang.tar.gz tar xfz vim-7.1-extra.tar.gz cat vim-7.1.patches/7.1.* > patchfile (cd vim71 ; patch -p0 < ../patchfile) (cd vim71 ; ./configure --prefix=$(PREFIX) --with-x --enable-gui=gtk2 --enable-multibyte --enable-xim --enable-fontset --enable-perlinterp --enable-cscope && make) install: (cd vim71; umask 022; installwatch -o /home/steve/install.log/vim-7.1.log make install) chmod 644 /home/steve/install.log/vim-7.1.log clean: rm -rf patchfile rm -rf vim71 .PHONY: help all install clean -- ... and everything is done in less than 150 sec. Works for me for a long time and starting from scratch keeps me out of trouble with old objects, etc. Should not happen with make ... yes, this is what optimists always say, but there is still Murphy ;). BTW, "make" should stop when "patch" or any other action fails. Interesting would be an extension to download the patches automagically. Comments & ideas ? Regards, Stephan.
Re: [Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Stephan Hegel wrote: A.J.Mechelynck wrote: patch -p0 As long as you have two patches this can be done easily. But what if you have 100+ ? Then try this: cat patches/7.1.* > patchfile patch -p0 < patchfile rm patchfile Done. Rgds, Stephan. If you have more than a hundred, Bram sets up recapitulative patches for one hundred patchlevels at a time, so if you want to patch plain-vanilla 7.0 to compile 7.0.233 you would do gunzip -c patches/7.0.001-100.gz |patch -p0 gunzip -c patches/7.0.101-200.gz |patch -p0 patch -p0 With command-line editing, you can recall the latest command and change only the last (or the last two) digit(s) every time. But normally you would download and implement the patches a few at a time as they are published, and there would never be many of them at any one time, except maybe the first time you compile Vim; so now (that there aren't many patches to the latest version) is a good time to start. - Using "cat" is OK as long as you can be sure that you'll get them in numeric order: this is usually the case on Unix but not necessarily on Dos, where a wildcarded filename usually gets its results in directory order, not sorted by filename. - By patching individually, if one of the patches fails horribly you may decide not to try the following. - Usually there aren't more than a handful of _new_ patches anyway, so (except when starting from scratch with many patches already published) it's hardly worth the trouble going to a cat step. Best regards, Tony. -- Justice, n.: A decision in your favor.
[Fwd: Re: compiling vim7.1 (huge version) gets build with normal version]
Forward to vim-dev list. See my comments at bottom. Original Message Subject: Re: compiling vim7.1 (huge version) gets build with normal version Date: Tue, 15 May 2007 08:14:28 -0700 From: Tushar Desai <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: A.J.Mechelynck <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> HI Tony, I tried what you suggested, but now I'm getting this really weird compile error (I'm compiling on ubuntu 7.04 with gnome 2.0) gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -DORBIT2=1 -pthread -I/usr/include/libgnomeui-2.0 -I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2 -I/usr/include/libbonoboui-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gnome-keyring-1 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/libxml2 -O2 -fno-strength-reduce -Wall -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/perl/5.8/CORE -I/usr/include/python2.5 -pthread -I/usr/include/tcl8.4 -D_REENTRANT=1 -D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1 -I/usr/lib/ruby/1.8/i486-linux -o objects/gui_gtk.o gui_gtk.c In file included from /usr/include/glib-2.0/glib/gi18n.h:23, from /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h:37, from /usr/include/libgnome-2.0/libgnome/gnome-i18n.h:41, from /usr/include/libgnome-2.0/libgnome/libgnome.h:30, from /usr/include/libgnomeui-2.0/gnome.h:5, from gui_gtk.c:62: /usr/include/libintl.h:92: error: expected identifier or '(' before ';' token make[1]: *** [objects/gui_gtk.o] Error 1 make[1]: Leaving directory `/home/tushar/vim/vim71/src' make: *** [myself] Error 2 Regards, -tushar. - End Original Message - This may be the problem addressed by patch 7.1.001, see http://ftp.vim.org/pub/vim/patches/7.1/ So, try the following: cd ~/vim/vim71 mkdir -pv patches cd patches ftp ftp.vim.org Name: ftp Password: ftp cd pub/vim/patches/7.1 mget * a bye cd .. patch -p0 rsync -avzcP --delete --exclude="/dos/" ftp.nluug.nl::Vim/runtime/ ./runtime/ 2>&1 | tee rsync.log vim -es -u NONE -c '%s/^.*\r//' -cx rsync.log echo $CONF_OPT_FEAT (if the reply is not --with-features=huge): source myconfig make 2>&1 |tee make.log etc. If you still get the same error, someone else will have to help you. Best regards, Tony. -- *** NEWSFLASH *** Russian tanks steamrolling through New Jersey Details at eleven!