Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2015 16:01:17 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r278520 - projects/release-install-debug/release/scripts
Message-ID:  <201502101601.t1AG1HEx074760@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Tue Feb 10 16:01:16 2015
New Revision: 278520
URL: https://svnweb.freebsd.org/changeset/base/278520

Log:
  Rework MANIFEST generation:
  
   - Use the built-in printf in place of echo to eliminate
     the need for inline tabs.
   - Flip ${foo}_default to default_${foo} for consistency
     with the desc_${foo} variables.
   - Add debugging distributions, which are off by default,
     and descriptions.
   - Replace '.' and '-' in distribution names with '_', to
     work around 'eval' emitting errors.
   - Add support for selecting a non-GENERIC kernel, and
     provide the KERNCONF name in the description.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-install-debug/release/scripts/make-manifest.sh

Modified: projects/release-install-debug/release/scripts/make-manifest.sh
==============================================================================
--- projects/release-install-debug/release/scripts/make-manifest.sh	Tue Feb 10 15:15:08 2015	(r278519)
+++ projects/release-install-debug/release/scripts/make-manifest.sh	Tue Feb 10 16:01:16 2015	(r278520)
@@ -9,19 +9,54 @@
 #
 # $FreeBSD$
 
-desc_base="Base system (MANDATORY)"
-desc_kernel="Kernel (MANDATORY)"
-desc_doc="Additional documentation"
-doc_default=off
-desc_games="Games (fortune, etc.)"
-desc_lib32="32-bit compatibility libraries"
-desc_ports="Ports tree"
-desc_src="System source code"
-desc_tests="Test suite"
-src_default=off
-tests_default=off
+base="Base system"
+doc="Additional Documentation"
+games="Games (fortune, etc.)"
+kernel="Kernel"
+ports="Ports tree"
+src="System source tree"
+lib32="32-bit compatibility libraries"
+tests="Test suite"
 
-for i in $*; do
-	echo "`basename $i`	`sha256 -q $i`	`tar tvf $i | wc -l | tr -d ' '`	`basename $i .txz`	\"`eval echo \\\$desc_$(basename $i .txz)`\"	`eval echo \\\${$(basename $i .txz)_default:-on}`"
+desc_base="${base} (MANDATORY)"
+desc_base_dbg="${base} (Debugging)"
+desc_doc="${doc}"
+desc_games="${games}"
+desc_games_dbg="${games} (Debugging)"
+desc_kernel="${kernel} (MANDATORY)"
+desc_kernel_alt="Alternate ${kernel}"
+desc_lib32="${lib32}"
+desc_lib32_dbg="${lib32} (Debugging)"
+desc_ports="${ports}"
+desc_src="${src}"
+desc_tests="${tests}"
+
+default_doc=off
+default_src=off
+default_tests=off
+default_base_dbg=off
+default_games_dbg=off
+default_lib32_dbg=off
+default_kernel_alt=off
+
+for i in ${*}; do
+	dist="${i}"
+	distname="${i%%.txz}"
+	distname="$(echo ${distname} | sed -E 's/-dbg/_dbg/')"
+	distname="$(echo ${distname} | sed -E 's/kernel\..*/kernel_alt/')"
+	hash="$(sha256 -q ${i})"
+	nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')"
+	default="$(eval echo \${default_${distname}:-on})"
+	desc="$(eval echo \"\${desc_${distname}}\")"
+
+	case ${i} in
+		kernel.*.*)
+			desc="${desc} \($(echo ${i%%.txz} | cut -f 2 -d '.')\)"
+			;;
+		*)
+			;;
+	esac
+
+	printf "${dist}\t${hash}\t${nfiles}\t${distname}\t${desc}\t${default}\n"
 done
 



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