Author: jmmv
Date: Tue Oct 20 20:35:34 2015
New Revision: 289662
URL: https://svnweb.freebsd.org/changeset/base/289662

Log:
  Handle lib32 files during delete-old* when MK_LIB32=no.
  
  Extend OptionalObsoleteFiles.inc to delete all lib32 files when MK_LIB32 is
  set to no on a system that previously had lib32 libraries installed.
  
  Also, to prevent "make delete-old-dirs" from always deleting lib32 directories
  after an installworld, move the lib32 subtree to its own mtree file that only
  gets applied when MK_LIB32=yes.
  
  Test: Ran "make delete-old" and "make delete-old-libs" on a system that never
  had MK_LIB32 enabled, and on a system where MK_LIB32 was enabled and later
  disabled.  Did this both on amd64 and powerpc64.
  
  Test: Ran "make tinderbox" without errors.
  
  Reviewed by:  emaste
  Differential Revision:        https://reviews.freebsd.org/D3923

Added:
  head/etc/mtree/BSD.lib32.dist   (contents, props changed)
Modified:
  head/Makefile.inc1
  head/etc/Makefile
  head/etc/mtree/BSD.debug.dist
  head/etc/mtree/BSD.usr.dist
  head/etc/mtree/Makefile
  head/tools/build/mk/OptionalObsoleteFiles.inc

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Tue Oct 20 20:29:21 2015        (r289661)
+++ head/Makefile.inc1  Tue Oct 20 20:35:34 2015        (r289662)
@@ -560,6 +560,16 @@ _worldtmp:
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
            -p ${WORLDTMP}/usr/lib >/dev/null
 .endif
+.if ${MK_LIB32} != "no"
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${WORLDTMP}/usr >/dev/null
+.if ${MK_DEBUG_FILES} != "no"
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${WORLDTMP}/legacy/usr/lib/debug/usr >/dev/null
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${WORLDTMP}/usr/lib/debug/usr >/dev/null
+.endif
+.endif
 .if ${MK_TESTS} != "no"
        mkdir -p ${WORLDTMP}${TESTSBASE}
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
@@ -653,9 +663,13 @@ build32:
            -p ${LIB32TMP}/usr >/dev/null
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
            -p ${LIB32TMP}/usr/include >/dev/null
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${LIB32TMP}/usr >/dev/null
 .if ${MK_DEBUG_FILES} != "no"
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
            -p ${LIB32TMP}/usr/lib >/dev/null
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${LIB32TMP}/usr/lib/debug/usr >/dev/null
 .endif
        mkdir -p ${WORLDTMP}
        ln -sf ${.CURDIR}/sys ${WORLDTMP}
@@ -901,6 +915,14 @@ distributeworld installworld: _installch
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
            -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null
 .endif
+.if ${MK_LIB32} != "no"
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null
+.if ${MK_DEBUG_FILES} != "no"
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null
+.endif
+.endif
 .if ${MK_TESTS} != "no" && ${dist} == "tests"
        -mkdir -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE}
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \
@@ -917,6 +939,10 @@ distributeworld installworld: _installch
            sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
        ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \
            sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG}
+.if ${MK_LIB32} != "no"
+       ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib32.dist | \
+           sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG}
+.endif
 .endif
 .endfor
        -mkdir ${DESTDIR}/${DISTDIR}/base
@@ -2241,6 +2267,10 @@ _xi-mtree:
            -p ${XDDESTDIR}/usr >/dev/null
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
            -p ${XDDESTDIR}/usr/include >/dev/null
+.if ${MK_LIB32} != "no"
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib32.dist \
+           -p ${XDDESTDIR}/usr >/dev/null
+.endif
 .if ${MK_TESTS} != "no"
        mkdir -p ${XDDESTDIR}${TESTSBASE}
        mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \

Modified: head/etc/Makefile
==============================================================================
--- head/etc/Makefile   Tue Oct 20 20:29:21 2015        (r289661)
+++ head/etc/Makefile   Tue Oct 20 20:35:34 2015        (r289662)
@@ -151,6 +151,9 @@ BIN1+= regdomain.xml
 BIN2=  netstart pccard_ether rc.suspend rc.resume
 
 MTREE= BSD.debug.dist BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist
+.if ${MK_LIB32} != "no"
+MTREE+=        BSD.lib32.dist
+.endif
 .if ${MK_TESTS} != "no"
 MTREE+=        BSD.tests.dist
 .endif
@@ -344,6 +347,10 @@ MTREES=            mtree/BSD.root.dist             /       
        \
 .if ${MK_GROFF} != "no"
 MTREES+=       mtree/BSD.groff.dist            /usr
 .endif
+.if ${MK_LIB32} != "no"
+MTREES+=       mtree/BSD.lib32.dist            /usr
+MTREES+=       mtree/BSD.lib32.dist            /usr/lib/debug/usr
+.endif
 .if ${MK_TESTS} != "no"
 MTREES+=       mtree/BSD.tests.dist            ${TESTSBASE}
 MTREES+=       mtree/BSD.tests.dist            /usr/lib/debug/${TESTSBASE}

Modified: head/etc/mtree/BSD.debug.dist
==============================================================================
--- head/etc/mtree/BSD.debug.dist       Tue Oct 20 20:29:21 2015        
(r289661)
+++ head/etc/mtree/BSD.debug.dist       Tue Oct 20 20:35:34 2015        
(r289662)
@@ -41,12 +41,6 @@
                 private
                 ..
             ..
-            lib32
-                i18n
-                ..
-                private
-                ..
-            ..
             libexec
                 bsdinstall
                 ..

Added: head/etc/mtree/BSD.lib32.dist
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/etc/mtree/BSD.lib32.dist       Tue Oct 20 20:35:34 2015        
(r289662)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+#
+# Please see the file src/etc/mtree/README before making changes to this file.
+#
+
+/set type=dir uname=root gname=wheel mode=0755
+.
+    lib32
+        dtrace
+        ..
+        i18n
+        ..
+    ..
+..

Modified: head/etc/mtree/BSD.usr.dist
==============================================================================
--- head/etc/mtree/BSD.usr.dist Tue Oct 20 20:29:21 2015        (r289661)
+++ head/etc/mtree/BSD.usr.dist Tue Oct 20 20:35:34 2015        (r289662)
@@ -43,12 +43,6 @@
             ..
         ..
     ..
-    lib32
-        dtrace
-        ..
-        i18n
-        ..
-    ..
     libdata
         gcc
         ..

Modified: head/etc/mtree/Makefile
==============================================================================
--- head/etc/mtree/Makefile     Tue Oct 20 20:29:21 2015        (r289661)
+++ head/etc/mtree/Makefile     Tue Oct 20 20:35:34 2015        (r289662)
@@ -5,6 +5,7 @@
 FILES= ${_BSD.debug.dist} \
        BSD.include.dist \
        BSD.root.dist \
+       ${_BSD.lib32.dist} \
        ${_BSD.sendmail.dist} \
        ${_BSD.tests.dist} \
        BSD.usr.dist \
@@ -16,6 +17,9 @@ _BSD.debug.dist=      BSD.debug.dist
 .if ${MK_GROFF} != "no"
 _BSD.groff.dist=       BSD.groff.dist
 .endif
+.if ${MK_LIB32} != "no"
+_BSD.lib32.dist=       BSD.lib32.dist
+.endif
 .if ${MK_SENDMAIL} != "no"
 _BSD.sendmail.dist=    BSD.sendmail.dist
 .endif

Modified: head/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc       Tue Oct 20 20:29:21 
2015        (r289661)
+++ head/tools/build/mk/OptionalObsoleteFiles.inc       Tue Oct 20 20:35:34 
2015        (r289662)
@@ -3964,9 +3964,34 @@ OLD_FILES+=usr/share/man/man5/keymap.5.g
 OLD_FILES+=usr/share/man/man8/moused.8.gz
 .endif
 
-#.if ${MK_LIB32} == no
-# to be filled in
-#.endif
+.if ${MK_LIB32} == no
+OLD_FILES+=etc/mtree/BSD.lib32.dist
+OLD_FILES+=libexec/ld-elf32.so.1
+.  if exists(${DESTDIR}/usr/lib32)
+LIB32_DIRS!=find ${DESTDIR}/usr/lib32 -type d \
+    | sed -e 's,^${DESTDIR}/,,'; echo
+LIB32_FILES!=find ${DESTDIR}/usr/lib32 \! -type d \
+    \! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
+LIB32_LIBS!=find ${DESTDIR}/usr/lib32 \! -type d \
+    -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
+OLD_DIRS+=${LIB32_DIRS}
+OLD_FILES+=${LIB32_FILES}
+OLD_LIBS+=${LIB32_LIBS}
+.  endif
+.  if ${MK_DEBUG_FILES} == no
+.    if exists(${DESTDIR}/usr/lib/debug/usr/lib32)
+DEBUG_LIB32_DIRS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 -type d \
+    | sed -e 's,^${DESTDIR}/,,'; echo
+DEBUG_LIB32_FILES!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \
+    \! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
+DEBUG_LIB32_LIBS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \
+    -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
+OLD_DIRS+=${DEBUG_LIB32_DIRS}
+OLD_FILES+=${DEBUG_LIB32_FILES}
+OLD_LIBS+=${DEBUG_LIB32_LIBS}
+.    endif
+.  endif
+.endif
 
 .if ${MK_LIBCPLUSPLUS} == no
 OLD_LIBS+=lib/libcxxrt.so.1
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to