Files
freebsd/release/scripts/make-manifest.sh
T
Glen Barber 3380bc229c Reduce the disc1.iso size from 850+M to just over 650M.
As a result of this change, the 'kernel-dbg.txz' distribution
is no longer provided on disc1.iso, and deselected by default
in bsdinstall(8).  When 'kernel-dbg.txz' is selected, network
configuration happens before the installer proceeds, to fetch
the distribution from the mirrors.

This is a direct commit to stable/11, as there is intention
to solve this differently for 12.0-RELEASE.

Reviewed by:	nwhitehorn (glanced at)
Approved by:	re (hrs)
Sponsored by:	The FreeBSD Foundation
2016-07-19 16:22:50 +00:00

73 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
# make-manifest.sh: create checksums and package descriptions for the installer
#
# Usage: make-manifest.sh foo1.txz foo2.txz ...
#
# The output file looks like this (tab-delimited):
# foo1.txz SHA256-checksum Number-of-files foo1 Description Install-by-default
#
# $FreeBSD$
base="Base system"
doc="Additional Documentation"
kernel="Kernel"
ports="Ports tree"
src="System source tree"
lib32="32-bit compatibility libraries"
tests="Test suite"
desc_base="${base} (MANDATORY)"
desc_base_dbg="${base} (Debugging)"
desc_doc="${doc}"
desc_kernel="${kernel} (MANDATORY)"
desc_kernel_dbg="${kernel} (Debugging)"
desc_kernel_alt="Alternate ${kernel}"
desc_kernel_alt_dbg="Alternate ${kernel} (Debugging)"
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_lib32_dbg=off
default_kernel_alt=off
default_kernel_dbg=off
default_kernel_alt_dbg=off
for i in ${*}; do
dist="${i}"
distname="${i%%.txz}"
distname="$(echo ${distname} | tr '-' '_')"
distname="$(echo ${distname} | tr 'kernel.' 'kernel_')"
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-dbg.txz)
desc="${desc_kernel_dbg}"
;;
kernel.*-dbg.txz)
desc="$(eval echo \"${desc_kernel_alt_dbg}\")"
desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')"
default="$(eval echo \"${default_kernel_alt_dbg}\")"
;;
kernel.*.txz)
desc="$(eval echo \"${desc_kernel_alt}\")"
desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')"
default="$(eval echo \"${default_kernel_alt}\")"
;;
*)
;;
esac
printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n"
done