1219615Snwhitehorn#!/bin/sh 2219615Snwhitehorn 3219615Snwhitehorn# make-manifest.sh: create checksums and package descriptions for the installer 4219615Snwhitehorn# 5219615Snwhitehorn# Usage: make-manifest.sh foo1.txz foo2.txz ... 6219615Snwhitehorn# 7219615Snwhitehorn# The output file looks like this (tab-delimited): 8277838Sgjb# foo1.txz SHA256-checksum Number-of-files foo1 Description Install-by-default 9219615Snwhitehorn# 10219615Snwhitehorn# $FreeBSD$ 11219615Snwhitehorn 12293223Sgjbbase="Base system" 13293223Sgjbdoc="Additional Documentation" 14293223Sgjbkernel="Kernel" 15293223Sgjbports="Ports tree" 16293223Sgjbsrc="System source tree" 17293223Sgjblib32="32-bit compatibility libraries" 18293223Sgjbtests="Test suite" 19219615Snwhitehorn 20293223Sgjbdesc_base="${base} (MANDATORY)" 21293223Sgjbdesc_base_dbg="${base} (Debugging)" 22293223Sgjbdesc_doc="${doc}" 23293223Sgjbdesc_kernel="${kernel} (MANDATORY)" 24293223Sgjbdesc_kernel_dbg="${kernel} (Debugging)" 25293223Sgjbdesc_kernel_alt="Alternate ${kernel}" 26293223Sgjbdesc_kernel_alt_dbg="Alternate ${kernel} (Debugging)" 27293223Sgjbdesc_lib32="${lib32}" 28293223Sgjbdesc_lib32_dbg="${lib32} (Debugging)" 29293223Sgjbdesc_ports="${ports}" 30293223Sgjbdesc_src="${src}" 31293223Sgjbdesc_tests="${tests}" 32293223Sgjb 33293223Sgjbdefault_doc=off 34293223Sgjbdefault_src=off 35293223Sgjbdefault_tests=off 36293223Sgjbdefault_base_dbg=off 37293223Sgjbdefault_lib32_dbg=off 38293223Sgjbdefault_kernel_alt=off 39303027Sgjbdefault_kernel_dbg=off 40293223Sgjbdefault_kernel_alt_dbg=off 41293223Sgjb 42293223Sgjbfor i in ${*}; do 43293223Sgjb dist="${i}" 44293223Sgjb distname="${i%%.txz}" 45293223Sgjb distname="$(echo ${distname} | tr '-' '_')" 46293223Sgjb distname="$(echo ${distname} | tr 'kernel.' 'kernel_')" 47293223Sgjb hash="$(sha256 -q ${i})" 48293223Sgjb nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')" 49293223Sgjb default="$(eval echo \${default_${distname}:-on})" 50293223Sgjb desc="$(eval echo \"\${desc_${distname}}\")" 51293223Sgjb 52293223Sgjb case ${i} in 53293223Sgjb kernel-dbg.txz) 54293223Sgjb desc="${desc_kernel_dbg}" 55293223Sgjb ;; 56293223Sgjb kernel.*-dbg.txz) 57293223Sgjb desc="$(eval echo \"${desc_kernel_alt_dbg}\")" 58293223Sgjb desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')" 59293223Sgjb default="$(eval echo \"${default_kernel_alt_dbg}\")" 60293223Sgjb ;; 61293223Sgjb kernel.*.txz) 62293223Sgjb desc="$(eval echo \"${desc_kernel_alt}\")" 63293223Sgjb desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')" 64293223Sgjb default="$(eval echo \"${default_kernel_alt}\")" 65293223Sgjb ;; 66293223Sgjb *) 67293223Sgjb ;; 68293223Sgjb esac 69293223Sgjb 70293223Sgjb printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n" 71219615Snwhitehorndone 72219615Snwhitehorn 73