On 07/23/14 09:34, Bjoern A. Zeeb wrote:
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?
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
_______________________________________________
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"