opnsense-src/release/scripts/make-manifest.sh
Ed Maste 9a354a41be release: Use "debug info" in dist set descriptions
"Kernel (Debugging)" could suggest that this is a debugging kernel --
an alternative to a "Kernel (Standard)".  These dist sets contain the
standalone debug info files for the kernel, base system, and other
components.  Change the MANIFEST descriptions (used by bsdinstall's
dist selection menu) to use "debug info".

Reviewed by:	brooks
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50254
2025-05-13 12:59:21 -04:00

72 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
#
base="Base system"
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} debug info"
desc_kernel="${kernel} (MANDATORY)"
desc_kernel_dbg="${kernel} debug info"
desc_kernel_alt="Alternate ${kernel}"
desc_kernel_alt_dbg="Alternate ${kernel} debug info"
desc_lib32="${lib32}"
desc_lib32_dbg="${lib32} (Debugging)"
desc_ports="${ports}"
desc_src="${src}"
desc_tests="${tests}"
default_src=off
default_ports=off
default_tests=off
default_base_dbg=off
default_lib32_dbg=off
default_kernel_alt=off
default_kernel_dbg=on
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
doc.txz)
continue
;;
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