Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Feb 2015 00:08:33 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r278644 - in projects/release-install-debug: . release/scripts usr.sbin/bsdinstall/scripts
Message-ID:  <201502130008.t1D08X7Z092061@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Fri Feb 13 00:08:32 2015
New Revision: 278644
URL: https://svnweb.freebsd.org/changeset/base/278644

Log:
  Separate /boot/kernel/*.symbols into its own distribution
  set, kernel_symbols.txz, which is selected by default.
  
  Provide a manifest description for kernel_symbols.txz.
  
  Fix installing LOCAL_DISTRIBUTIONS by properly setting the
  BSDINSTALL_FETCHDEST and BSDINSTALL_DISTDIR environment
  variables, enforcing the local MANIFEST is used.
  
  When generating DISTMENU (used to populate the available
  distribution sets for selection), do not exclude all of
  the available base* and kernel* distributions, which allows
  the base-dbg.txz and kernel.*.txz to be listed.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-install-debug/Makefile.inc1
  projects/release-install-debug/release/scripts/make-manifest.sh
  projects/release-install-debug/usr.sbin/bsdinstall/scripts/auto

Modified: projects/release-install-debug/Makefile.inc1
==============================================================================
--- projects/release-install-debug/Makefile.inc1	Fri Feb 13 00:06:07 2015	(r278643)
+++ projects/release-install-debug/Makefile.inc1	Fri Feb 13 00:08:32 2015	(r278644)
@@ -1143,18 +1143,40 @@ packagekernel:
 .if defined(NO_ROOT)
 	cd ${DESTDIR}/${DISTDIR}/kernel; \
 	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \
+	    --exclude '*.symbols' \
+	    @${DESTDIR}/${DISTDIR}/kernel.meta
+	cd ${DESTDIR}/${DISTDIR}/kernel; \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel_symbols.txz \
+	    --include '*/*/*.symbols' \
 	    @${DESTDIR}/${DISTDIR}/kernel.meta
 .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
 	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \
+	    --exclude '*.symbols' \
+	    @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta
+	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}_symbols.txz \
+	    --include '*/*/*.symbols' \
 	    @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta
 .endfor
 .else
 	cd ${DESTDIR}/${DISTDIR}/kernel; \
-	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz .
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz \
+	    --exclude '*.symbols' \
+	    .
+	cd ${DESTDIR}/${DISTDIR}/kernel; \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel_symbols.txz \
+	    --include '*/*/*.symbols' \
+	    $$(eval find .)
 .for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
 	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
-	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz \
+	    --exclude '*.symbols' \
+	    .
+	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}_symbols.txz \
+	    --include '*/*/*.symbols' \
+	    $$(eval find .)
 .endfor
 .endif
 

Modified: projects/release-install-debug/release/scripts/make-manifest.sh
==============================================================================
--- projects/release-install-debug/release/scripts/make-manifest.sh	Fri Feb 13 00:06:07 2015	(r278643)
+++ projects/release-install-debug/release/scripts/make-manifest.sh	Fri Feb 13 00:08:32 2015	(r278644)
@@ -24,6 +24,7 @@ desc_doc="${doc}"
 desc_games="${games}"
 desc_games_dbg="${games} (Debugging)"
 desc_kernel="${kernel} (MANDATORY)"
+desc_kernel_symbols="${kernel} (Debugging symbols)"
 desc_kernel_alt="Alternate ${kernel}"
 desc_lib32="${lib32}"
 desc_lib32_dbg="${lib32} (Debugging)"
@@ -38,6 +39,7 @@ default_base_dbg=off
 default_games_dbg=off
 default_lib32_dbg=off
 default_kernel_alt=off
+default_kernel_symbols=on
 
 for i in ${*}; do
 	dist="${i}"

Modified: projects/release-install-debug/usr.sbin/bsdinstall/scripts/auto
==============================================================================
--- projects/release-install-debug/usr.sbin/bsdinstall/scripts/auto	Fri Feb 13 00:06:07 2015	(r278643)
+++ projects/release-install-debug/usr.sbin/bsdinstall/scripts/auto	Fri Feb 13 00:08:32 2015	(r278644)
@@ -66,7 +66,7 @@ bsdinstall hostname || error "Set hostna
 
 export DISTRIBUTIONS="base.txz kernel.txz"
 if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
-	DISTMENU=`awk -F'\t' '!/^(kernel|base)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST`
+	DISTMENU=`awk -F'\t' '!/^(kernel\.txz|base\.txz)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST`
 
 	exec 3>&1
 	EXTRA_DISTS=$( eval dialog \
@@ -215,7 +215,18 @@ if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
 fi
 
 if [ ! -z "$LOCAL_DISTRIBUTIONS" ]; then
-	env DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS" bsdinstall distfetch || \
+	# Download to a directory in the new system as scratch space
+	BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist"
+	mkdir -p "$BSDINSTALL_FETCHDEST" || error "Could not create directory $BSDINSTALL_FETCHDEST"
+	# Try to use any existing distfiles
+	if [ -d $BSDINSTALL_DISTDIR ]; then
+		DISTDIR_IS_UNIONFS=1
+		mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR"
+		export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST"
+	fi
+	env DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS" \
+		BSDINSTALL_DISTSITE="file:///usr/freebsd-dist" \
+		bsdinstall distfetch || \
 		error "Failed to fetch distribution from local media"
 fi
 



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