diff options
author | gjb <gjb@FreeBSD.org> | 2014-07-01 19:04:04 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2014-07-01 19:04:04 +0000 |
commit | be29e6f09d7885200dcc840beedf4dfd638905e9 (patch) | |
tree | a43bc79c21a5b79e12c327293c05c1b87650afef | |
parent | e0c36d3a598fd0113afa5668f622e4819aa5d6d8 (diff) | |
download | FreeBSD-src-be29e6f09d7885200dcc840beedf4dfd638905e9.zip FreeBSD-src-be29e6f09d7885200dcc840beedf4dfd638905e9.tar.gz |
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
-rw-r--r-- | Makefile.inc1 | 27 | ||||
-rw-r--r-- | release/Makefile | 15 |
2 files changed, 24 insertions, 18 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index 2849cd3..8977323 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -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: _installcheck_world 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: _installcheck_world 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 diff --git a/release/Makefile b/release/Makefile index 2fdaba9..6b4517d 100644 --- a/release/Makefile +++ b/release/Makefile @@ -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} |