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
This commit is contained in:
parent
71b259d4f1
commit
ffc6fb79b6
@ -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}
|
||||
.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
|
||||
${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
|
||||
tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}.debug.txz \
|
||||
tar cvJfL ${DESTDIR}/${DISTDIR}/${dist}-dbg.txz \
|
||||
usr/lib/debug
|
||||
. endif
|
||||
. endfor
|
||||
.endif
|
||||
.endfor
|
||||
|
||||
#
|
||||
# reinstall
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user