On 02 Mar 2011, at 14:39 , Nathan Whitehorn <nwhiteh...@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? — Bjoern A. Zeeb "Come on. Learn, goddamn it.", WarGames, 1983 _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"