svn commit: r278520 - projects/release-install-debug/release/scripts
Glen Barber
gjb at FreeBSD.org
Tue Feb 10 16:01:17 UTC 2015
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
More information about the svn-src-projects
mailing list