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.