Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jul 2014 19:04:04 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r268111 - in head: . release
Message-ID:  <201407011904.s61J44DF042107@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Tue Jul  1 19:04:04 2014
New Revision: 268111
URL: http://svnweb.freebsd.org/changeset/base/268111

Log:
  Merge ^/projects/release-debugdist into ^/head:
  r262491, r262493, r262516, r267345, r267397:
  
  r262491:
    Add DEBUG_DISTRIBUTIONS, and set it to include base and
    EXTRA_DISTRIBUTIONS, excluding 'doc', since the documentation
    distribution does not have corresponding debug information.
  
    Use DEBUG_DISTRIBUTIONS in the 'distributeworld installworld'
    and 'packageworld' targets, to reduce the number of occurances
    of excluding distributions that do not have .debug files.
  
  r262493:
    In release/Makefile, explicitly set WITHOUT_DEBUG_FILES=1
    for dvdrom and cdrom targets.  (Later reverted.)
  
    Exclude the *.debug.txz distributions from dvdrom and
    cdrom images, but include them for ftp distribution.
  
  r262516:
    Rename ${dist}.debug.txz to ${dist}-dbg.txz to prevent the
    following output:
  	eval: ${base....}: Bad substitution
  	eval: ${doc....}: Bad substitution
  	eval: ${games....}: Bad substitution
  	eval: ${lib32....}: Bad substitution
  
    This also follows other naming conventions seen in the
    wild.
  
  r267345:
    Explicitly set MK_DEBUG_FILES=no, which overrides the
    WITH_DEBUG_FILES=1 and WITHOUT_DEBUG_FILES=1 collisions
    previously experienced.
  
    This change allows us to create the {base,kernel}_debug.txz
    distributions without accidentally installing the *.debug
    files on the medium itself.
  
  r267397:
    Remove evaluations of MK_DEBUG_FILES where not needed.
    If DEBUG_DISTRIBUTIONS is empty, which is true if
    MK_DEBUG_FILES evaluates to 'no' above, the loop does
    nothing.
  
  MFC after:	1 month
  Tested on:	head@r267801
  Reviewed by:	brooks [1], emaste, imp [1]
  		[1] earlier version
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/Makefile.inc1
  head/release/Makefile

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Tue Jul  1 18:26:30 2014	(r268110)
+++ head/Makefile.inc1	Tue Jul  1 19:04:04 2014	(r268111)
@@ -782,6 +782,11 @@ EXTRA_DISTRIBUTIONS+=	lib32
 EXTRA_DISTRIBUTIONS+=	tests
 .endif
 
+DEBUG_DISTRIBUTIONS=
+.if ${MK_DEBUG_FILES} != "no"
+DEBUG_DISTRIBUTIONS+=	base ${EXTRA_DISTRIBUTIONS:S,doc,,}
+.endif
+
 MTREE_MAGIC?=	mtree 2.0
 
 distributeworld installworld: _installcheck_world
@@ -858,8 +863,7 @@ distributeworld installworld: _installch
 	awk 'BEGIN { print "#${MTREE_MAGIC}" } !/ type=/ { file = $$1 } / type=/ { if ($$1 == file) { sub(/^\.\/${dist}\//, "./"); print } }' > \
 	${DESTDIR}/${DISTDIR}/${dist}.meta
 .endfor
-.if ${MK_DEBUG_FILES} != "no"
-. for dist in base ${EXTRA_DISTRIBUTIONS}
+.for dist in ${DEBUG_DISTRIBUTIONS}
 	@# For each file that exists in this dist, print the corresponding
 	@# line from the METALOG.  This relies on the fact that
 	@# a line containing only the filename will sort immediatly before
@@ -868,8 +872,7 @@ distributeworld installworld: _installch
 	find ./${dist}/usr/lib/debug | sort -u ${METALOG} - | \
 	awk 'BEGIN { print "#${MTREE_MAGIC}" } !/ type=/ { file = $$1 } / type=/ { if ($$1 == file) { sub(/^\.\/${dist}\//, "./"); print } }' > \
 	${DESTDIR}/${DISTDIR}/${dist}.debug.meta
-. endfor
-.endif
+.endfor
 .endif
 .endif
 
@@ -887,19 +890,17 @@ packageworld:
 .endif
 .endfor
 
-.if ${MK_DEBUG_FILES} != "no"
-. for dist in base ${EXTRA_DISTRIBUTIONS}
-.  if defined(NO_ROOT)
+.for dist in ${DEBUG_DISTRIBUTIONS}
+. if defined(NO_ROOT)
 	${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
-	    tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.debug.txz \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \
 	    @${DESTDIR}/${DISTDIR}/${dist}.debug.meta
-.  else
+. else
 	${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
-	    tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}.debug.txz \
+	    tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \
 	    usr/lib/debug
-.  endif
-. endfor
-.endif
+. endif
+.endfor
 
 #
 # reinstall

Modified: head/release/Makefile
==============================================================================
--- head/release/Makefile	Tue Jul  1 18:26:30 2014	(r268110)
+++ head/release/Makefile	Tue Jul  1 19:04:04 2014	(r268111)
@@ -155,10 +155,13 @@ system: packagesystem
 	mkdir -p release
 	cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \
 		DESTDIR=${.OBJDIR}/release MK_RESCUE=no MK_KERNEL_SYMBOLS=no \
-		MK_PROFILE=no MK_SENDMAIL=no MK_TESTS=no MK_LIB32=no
+		MK_PROFILE=no MK_SENDMAIL=no MK_TESTS=no MK_LIB32=no \
+		MK_DEBUG_FILES=no
 # Copy distfiles
 	mkdir -p release/usr/freebsd-dist
-	cp *.txz MANIFEST release/usr/freebsd-dist
+	for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \
+	    do cp $${dist} release/usr/freebsd-dist; \
+	done
 # Copy documentation, if generated
 .if !defined(NODOC)
 	cp reldoc/* release
@@ -180,7 +183,7 @@ bootonly: packagesystem
 	    MK_INSTALLLIB=no MK_LIB32=no MK_MAIL=no \
 	    MK_NCP=no MK_TOOLCHAIN=no MK_PROFILE=no \
 	    MK_INSTALLIB=no MK_RESCUE=no MK_DICT=no \
-	    MK_KERNEL_SYMBOLS=no MK_TESTS=no
+	    MK_KERNEL_SYMBOLS=no MK_TESTS=no MK_DEBUG_FILES=no
 # Copy manifest only (no distfiles) to get checksums
 	mkdir -p bootonly/usr/freebsd-dist
 	cp MANIFEST bootonly/usr/freebsd-dist
@@ -200,10 +203,12 @@ dvd:
 	mkdir -p ${.TARGET}
 	cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \
 		DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no \
-		MK_TESTS=no
+		MK_TESTS=no MK_DEBUG_FILES=no
 # Copy distfiles
 	mkdir -p ${.TARGET}/usr/freebsd-dist
-	cp *.txz MANIFEST ${.TARGET}/usr/freebsd-dist
+	for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \
+	    do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
+	done
 # Copy documentation, if generated
 .if !defined(NODOC)
 	cp reldoc/* ${.TARGET}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407011904.s61J44DF042107>