Date: Tue, 11 Jan 2000 18:11:11 +0100 From: Marcel Moolenaar <marcel@scc.nl> To: Peter Wemm <peter@netplex.com.au> Cc: Marcel Moolenaar <marcel@freebsd.org>, cvs-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src Makefile.inc1 Message-ID: <387B642F.E1C7B658@scc.nl> References: <20000111164317.057011CA0@overcee.netplex.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------7FB9AA0D17FFB36E1D029E1E Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Peter Wemm wrote: > > install.sh seems to use the wrong binaries. It should use the hosted tools > (/bin/test for example) built early on. Otherwise a 'make installworld' runs > the freshly installed /bin/test and segfaults if you've got a slightly older > kernel (pre signal changes). installworld doesn't use install.sh, but you're right about the problem in principle. I already have a patch that prevents installworld from running any previously installed binaries by copying anything it needs to a temporary directory. I choose to not install the patch before the release, because it's a good way to break the install process. It works, but I haven't been able to test it under differing situations yet... I've attached the patch for reference. BTW install.sh is only used for installing into the object tree. installworld uses the IMAKE "context"... -- Marcel Moolenaar mailto:marcel@scc.nl SCC Internetworking & Databases http://www.scc.nl/ The FreeBSD project mailto:marcel@FreeBSD.org --------------7FB9AA0D17FFB36E1D029E1E Content-Type: text/plain; charset=us-ascii; name="diff.out" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diff.out" Index: Makefile.inc1 =================================================================== RCS file: /home/ncvs/src/Makefile.inc1,v retrieving revision 1.122 diff -u -r1.122 Makefile.inc1 --- Makefile.inc1 2000/01/09 17:56:40 1.122 +++ Makefile.inc1 2000/01/11 10:37:19 @@ -118,6 +118,10 @@ STRICTTMPPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games TMPPATH= ${STRICTTMPPATH}:${PATH} +TMPDIR?= /tmp +TMPPID!= echo $$$$ +INSTALLTMP= ${TMPDIR}/install.${TMPPID} + # # Building a world goes through the following stages # @@ -178,7 +182,11 @@ WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 # install stage -IMAKEENV= ${CROSSENV} +# XXX - DESTDIR must be removed from IMAKEENV. It's for safety during +# testing only... +IMAKEENV= ${CROSSENV} \ + DESTDIR=/usr1/world \ + PATH=${STRICTTMPPATH}:${INSTALLTMP} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 USRDIRS= usr/bin usr/lib/compat/aout usr/games usr/libdata/ldscripts \ @@ -277,7 +285,18 @@ # Installs everything compiled by a 'buildworld'. # installworld: +.if !defined(DESTDIR) + mkdir -p ${INSTALLTMP} + for prog in [ cat chflags chown date echo egrep find grep install \ + install-info ln make makewhatis miniperl mtree mv perl rm sed \ + sh sysctl test true uname zic; do \ + cp `which $$prog` ${INSTALLTMP}; \ + done +.endif cd ${.CURDIR}; ${IMAKE} reinstall +.if !defined(DESTDIR) + rm -rf ${INSTALLTMP} +.endif # # reinstall --------------7FB9AA0D17FFB36E1D029E1E-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?387B642F.E1C7B658>