Date: Wed, 23 Jul 2014 09:40:02 -0700 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r219177 - in head: . games release release/scripts Message-ID: <53CFE562.1060501@freebsd.org> In-Reply-To: <51E8489E-E93D-4415-8AAA-8D2BB4E4E33E@lists.zabbadoz.net> References: <201103021439.p22EdQsU015424@svn.freebsd.org> <51E8489E-E93D-4415-8AAA-8D2BB4E4E33E@lists.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07/23/14 09:34, Bjoern A. Zeeb wrote: > On 02 Mar 2011, at 14:39 , Nathan Whitehorn <nwhitehorn@freebsd.org> wrote: > >> Author: nwhitehorn >> Date: Wed Mar 2 14:39:26 2011 >> New Revision: 219177 >> URL: http://svn.freebsd.org/changeset/base/219177 >> >> Log: >> Improve the distributeworld target in Makefile.inc1 and update the release >> infrastructure to use it. make distributeworld can now be used without >> preparing its environment first and installs games into its distribution >> using the regular make distribute logic instead of post-processing with >> a script. >> >> Also add two new targets, packageworld and packagekernel, that tar up the >> results of distributeworld and distributekernel (also new), respectively. >> >> Deleted: >> head/release/scripts/games-make.sh >> head/release/scripts/lib32-make.sh >> Modified: >> head/Makefile >> head/Makefile.inc1 >> head/games/Makefile.inc >> head/release/Makefile > .. > >> Modified: head/Makefile.inc1 >> ============================================================================== >> --- head/Makefile.inc1 Wed Mar 2 13:06:47 2011 (r219176) >> +++ head/Makefile.inc1 Wed Mar 2 14:39:26 2011 (r219177) >> @@ -631,6 +631,13 @@ ITOOLS= [ awk cap_mkdb cat chflags chmod >> … > >> @@ -653,8 +660,33 @@ distributeworld installworld: installche >> done); \ >> cp $$libs $$progs ${INSTALLTMP} >> cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale >> +.if make(distributeworld) >> +.for dist in ${EXTRA_DISTRIBUTIONS} >> + -mkdir ${DESTDIR}/${DISTDIR}/${dist} >> + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \ >> + -p ${DESTDIR}/${DISTDIR}/${dist} >/dev/null >> + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ >> + -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null >> + mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ >> + -p ${DESTDIR}/${DISTDIR}/${dist}/usr/include >/dev/null >> +.endfor >> + -mkdir ${DESTDIR}/${DISTDIR}/base >> + ${_+_}cd ${.CURDIR}; ${IMAKE} distrib-dirs \ >> + DESTDIR=${DESTDIR}/${DISTDIR}/base >> +.endif >> ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \ >> ${IMAKEENV} rm -rf ${INSTALLTMP} >> +.if make(distributeworld) >> +.for dist in ${EXTRA_DISTRIBUTIONS} >> + find ${DESTDIR}/${DISTDIR}/${dist} -empty -delete >> +.endfor >> +.endif >> + >> +packageworld: >> +.for dist in base ${EXTRA_DISTRIBUTIONS} >> + ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ >> + tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz . >> +.endfor >> >> # >> # reinstall >> @@ -840,6 +872,20 @@ reinstallkernel reinstallkernel.debug: i >> ${CROSSENV} PATH=${TMPPATH} \ >> ${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} >> >> +distributekernel distributekernel.debug: >> +.if empty(INSTALLKERNEL) >> + @echo "ERROR: No kernel \"${KERNCONF}\" to install."; \ >> + false >> +.endif >> + cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ >> + ${CROSSENV} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \ >> + DESTDIR=${DESTDIR}/${DISTDIR}/kernel \ >> + ${.TARGET:S/distributekernel/install/} >> + >> +packagekernel: >> + ${_+_}cd ${DESTDIR}/${DISTDIR}/kernel; \ >> + tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz . >> + >> # >> # doxygen >> # > This is where DISTDIR was introduced it seems. I guess it only became a real issue for me with NO_ROOT changes I use. In addition it probably doesn’t help that (not on the currently observed system) I also build world images from ports. > > Unfortunately this collides with: > > /usr/ports/Mk/bsd.port.mk:# DISTDIR - Where to search for and store copies of original sources > /usr/ports/Mk/bsd.port.mk:DISTDIR?= ${PORTSDIR}/distfiles > > That a lot of people I know have set in their environment, and done so in a decade. > > Just wondering if it’s worth avoiding the obvious by renaming it in base? > Yes, I think you're right. Could you rename it? It's used only in the scripts in this commit, so far as I know. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53CFE562.1060501>