Author: brooks
Date: Fri Jan 11 23:08:19 2013
New Revision: 245316
URL: http://svnweb.freebsd.org/changeset/base/245316

Log:
  Use the -N option to install and nmtree to eliminate the need for the
  checks for missing users and groups.
  
  Sponsored by: DARPA, AFRL

Modified:
  head/Makefile.inc1
  head/etc/Makefile

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Fri Jan 11 21:42:23 2013        (r245315)
+++ head/Makefile.inc1  Fri Jan 11 23:08:19 2013        (r245316)
@@ -340,12 +340,14 @@ LIB32WMAKEFLAGS+= \
 
 LIB32WMAKE=    ${LIB32WMAKEENV} ${MAKE} ${LIB32WMAKEFLAGS} \
                -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO -DWITHOUT_HTML
-LIB32IMAKE=    ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS
+LIB32IMAKE=    ${LIB32WMAKE:NINSTALL=*:NDESTDIR=*:N_LDSCRIPTROOT=*} -DNO_INCS \
+               INSTALL="install -N ${.CURDIR}/etc"
 .endif
 
-# install stage
 IMAKEENV=      ${CROSSENV:N_LDSCRIPTROOT=*}
-IMAKE=         ${IMAKEENV} ${MAKE} -f Makefile.inc1
+IMAKE=         ${IMAKEENV} ${MAKE} -f Makefile.inc1 \
+               INSTALL="install -N ${.CURDIR}/etc" \
+               MTREE_CMD="nmtree -N ${.CURDIR}/etc"
 .if empty(.MAKEFLAGS:M-n)
 IMAKEENV+=     PATH=${STRICTTMPPATH}:${INSTALLTMP} \
                LD_LIBRARY_PATH=${INSTALLTMP} \
@@ -609,34 +611,6 @@ installcheck_DESTDIR:
 .endif
 
 #
-# Check for missing UIDs/GIDs.
-#
-CHECK_UIDS=    auditdistd
-CHECK_GIDS=    audit
-.if ${MK_SENDMAIL} != "no"
-CHECK_UIDS+=   smmsp
-CHECK_GIDS+=   smmsp
-.endif
-.if ${MK_PF} != "no"
-CHECK_UIDS+=   proxy
-CHECK_GIDS+=   proxy authpf
-.endif
-installcheck: installcheck_UGID
-installcheck_UGID:
-.for uid in ${CHECK_UIDS}
-       @if ! `id -u ${uid} >/dev/null 2>&1`; then \
-               echo "ERROR: Required ${uid} user is missing, see 
/usr/src/UPDATING."; \
-               false; \
-       fi
-.endfor
-.for gid in ${CHECK_GIDS}
-       @if ! `find / -prune -group ${gid} >/dev/null 2>&1`; then \
-               echo "ERROR: Required ${gid} group is missing, see 
/usr/src/UPDATING."; \
-               false; \
-       fi
-.endfor
-
-#
 # Required install tools to be saved in a scratch dir for safety.
 #
 .if ${MK_INFO} != "no"
@@ -692,6 +666,7 @@ distributeworld installworld: installche
            done); \
        cp $$libs $$progs ${INSTALLTMP}
        cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale
+       rm -f ${METALOG}
 .if make(distributeworld)
 .for dist in ${EXTRA_DISTRIBUTIONS}
        -mkdir ${DESTDIR}/${DISTDIR}/${dist}
@@ -753,7 +728,8 @@ redistribute:
 .endif
 
 distrib-dirs distribution:
-       cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} ${.TARGET}
+       cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
+           INSTALL="install -N ${.CURDIR}/etc" ${.TARGET}
 
 #
 # buildkernel and installkernel
@@ -1059,6 +1035,11 @@ _lex=            usr.bin/lex
 _yacc=         usr.bin/yacc
 .endif
 
+.if ${BOOTSTRAPPING} < 1000026
+_nmtree=       lib/libnetbsd \
+               usr.sbin/nmtree
+.endif
+
 .if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041
 _awk=          usr.bin/awk
 .endif
@@ -1120,7 +1101,8 @@ bootstrap-tools:
     ${_lex} \
     usr.bin/xinstall \
     ${_gensnmptree} \
-    usr.sbin/config
+    usr.sbin/config \
+    ${_nmtree}
        ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
                cd ${.CURDIR}/${_tool}; \
                ${MAKE} DIRPRFX=${_tool}/ obj; \

Modified: head/etc/Makefile
==============================================================================
--- head/etc/Makefile   Fri Jan 11 21:42:23 2013        (r245315)
+++ head/etc/Makefile   Fri Jan 11 23:08:19 2013        (r245316)
@@ -291,25 +291,27 @@ distribution:
                ${DESTDIR}/etc/nsswitch.conf
 .endif
 
+MTREE_CMD?=    mtree
+
 distrib-dirs:
-       mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist 
-p ${DESTDIR}/
-       mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.var.dist -p 
${DESTDIR}/var
-       mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.usr.dist -p 
${DESTDIR}/usr
-       mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.include.dist \
+       ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/
+       ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var
+       ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr
+       ${MTREE_CMD} -eU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.include.dist \
                -p ${DESTDIR}/usr/include
 .if ${MK_BIND_LIBS} != "no"
-       mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BIND.include.dist \
+       ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BIND.include.dist \
            -p ${DESTDIR}/usr/include
 .endif
 .if ${MK_BIND_MTREE} != "no"
-       mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BIND.chroot.dist \
+       ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BIND.chroot.dist \
            -p ${DESTDIR}/var/named
 .endif
 .if ${MK_GROFF} != "no"
-       mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.groff.dist 
-p ${DESTDIR}/usr
+       ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.groff.dist -p ${DESTDIR}/usr
 .endif
 .if ${MK_SENDMAIL} != "no"
-       mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/
+       ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f 
${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/
 .endif
        cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
        cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* .
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to