1b70047d4SNathan Whitehorn#!/bin/sh 2b70047d4SNathan Whitehorn 3b70047d4SNathan Whitehorn# make-manifest.sh: create checksums and package descriptions for the installer 4b70047d4SNathan Whitehorn# 5b70047d4SNathan Whitehorn# Usage: make-manifest.sh foo1.txz foo2.txz ... 6b70047d4SNathan Whitehorn# 7b70047d4SNathan Whitehorn# The output file looks like this (tab-delimited): 85a5f93deSGlen Barber# foo1.txz SHA256-checksum Number-of-files foo1 Description Install-by-default 9b70047d4SNathan Whitehorn# 10b70047d4SNathan Whitehorn 1188343186SGlen Barberbase="Base system" 1288343186SGlen Barberkernel="Kernel" 1388343186SGlen Barberports="Ports tree" 1488343186SGlen Barbersrc="System source tree" 1588343186SGlen Barberlib32="32-bit compatibility libraries" 1688343186SGlen Barbertests="Test suite" 17b70047d4SNathan Whitehorn 1888343186SGlen Barberdesc_base="${base} (MANDATORY)" 1988343186SGlen Barberdesc_base_dbg="${base} (Debugging)" 2088343186SGlen Barberdesc_kernel="${kernel} (MANDATORY)" 2188343186SGlen Barberdesc_kernel_dbg="${kernel} (Debugging)" 2288343186SGlen Barberdesc_kernel_alt="Alternate ${kernel}" 2388343186SGlen Barberdesc_kernel_alt_dbg="Alternate ${kernel} (Debugging)" 2488343186SGlen Barberdesc_lib32="${lib32}" 2588343186SGlen Barberdesc_lib32_dbg="${lib32} (Debugging)" 2688343186SGlen Barberdesc_ports="${ports}" 2788343186SGlen Barberdesc_src="${src}" 2888343186SGlen Barberdesc_tests="${tests}" 2988343186SGlen Barber 3088343186SGlen Barberdefault_src=off 31893c3eceSSteve Willsdefault_ports=off 3288343186SGlen Barberdefault_tests=off 3388343186SGlen Barberdefault_base_dbg=off 3488343186SGlen Barberdefault_lib32_dbg=off 3588343186SGlen Barberdefault_kernel_alt=off 3688343186SGlen Barberdefault_kernel_dbg=on 3788343186SGlen Barberdefault_kernel_alt_dbg=off 3888343186SGlen Barber 3988343186SGlen Barberfor i in ${*}; do 4088343186SGlen Barber dist="${i}" 4188343186SGlen Barber distname="${i%%.txz}" 4288343186SGlen Barber distname="$(echo ${distname} | tr '-' '_')" 4388343186SGlen Barber distname="$(echo ${distname} | tr 'kernel.' 'kernel_')" 4488343186SGlen Barber hash="$(sha256 -q ${i})" 4588343186SGlen Barber nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')" 4688343186SGlen Barber default="$(eval echo \${default_${distname}:-on})" 4788343186SGlen Barber desc="$(eval echo \"\${desc_${distname}}\")" 4888343186SGlen Barber 4988343186SGlen Barber case ${i} in 50*35f6972eSGlen Barber doc.txz) 51*35f6972eSGlen Barber continue 52*35f6972eSGlen Barber ;; 5388343186SGlen Barber kernel-dbg.txz) 5488343186SGlen Barber desc="${desc_kernel_dbg}" 5588343186SGlen Barber ;; 5688343186SGlen Barber kernel.*-dbg.txz) 5788343186SGlen Barber desc="$(eval echo \"${desc_kernel_alt_dbg}\")" 5888343186SGlen Barber desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')" 5988343186SGlen Barber default="$(eval echo \"${default_kernel_alt_dbg}\")" 6088343186SGlen Barber ;; 6188343186SGlen Barber kernel.*.txz) 6288343186SGlen Barber desc="$(eval echo \"${desc_kernel_alt}\")" 6388343186SGlen Barber desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')" 6488343186SGlen Barber default="$(eval echo \"${default_kernel_alt}\")" 6588343186SGlen Barber ;; 6688343186SGlen Barber *) 6788343186SGlen Barber ;; 6888343186SGlen Barber esac 6988343186SGlen Barber 7088343186SGlen Barber printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n" 71b70047d4SNathan Whitehorndone 72b70047d4SNathan Whitehorn 73