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# $FreeBSD$ 11b70047d4SNathan Whitehorn 1288343186SGlen Barberbase="Base system" 1388343186SGlen Barberdoc="Additional Documentation" 1488343186SGlen Barberkernel="Kernel" 1588343186SGlen Barberports="Ports tree" 1688343186SGlen Barbersrc="System source tree" 1788343186SGlen Barberlib32="32-bit compatibility libraries" 1888343186SGlen Barbertests="Test suite" 19b70047d4SNathan Whitehorn 2088343186SGlen Barberdesc_base="${base} (MANDATORY)" 2188343186SGlen Barberdesc_base_dbg="${base} (Debugging)" 2288343186SGlen Barberdesc_doc="${doc}" 2388343186SGlen Barberdesc_kernel="${kernel} (MANDATORY)" 2488343186SGlen Barberdesc_kernel_dbg="${kernel} (Debugging)" 2588343186SGlen Barberdesc_kernel_alt="Alternate ${kernel}" 2688343186SGlen Barberdesc_kernel_alt_dbg="Alternate ${kernel} (Debugging)" 2788343186SGlen Barberdesc_lib32="${lib32}" 2888343186SGlen Barberdesc_lib32_dbg="${lib32} (Debugging)" 2988343186SGlen Barberdesc_ports="${ports}" 3088343186SGlen Barberdesc_src="${src}" 3188343186SGlen Barberdesc_tests="${tests}" 3288343186SGlen Barber 3388343186SGlen Barberdefault_doc=off 3488343186SGlen Barberdefault_src=off 35*893c3eceSSteve Willsdefault_ports=off 3688343186SGlen Barberdefault_tests=off 3788343186SGlen Barberdefault_base_dbg=off 3888343186SGlen Barberdefault_lib32_dbg=off 3988343186SGlen Barberdefault_kernel_alt=off 4088343186SGlen Barberdefault_kernel_dbg=on 4188343186SGlen Barberdefault_kernel_alt_dbg=off 4288343186SGlen Barber 4388343186SGlen Barberfor i in ${*}; do 4488343186SGlen Barber dist="${i}" 4588343186SGlen Barber distname="${i%%.txz}" 4688343186SGlen Barber distname="$(echo ${distname} | tr '-' '_')" 4788343186SGlen Barber distname="$(echo ${distname} | tr 'kernel.' 'kernel_')" 4888343186SGlen Barber hash="$(sha256 -q ${i})" 4988343186SGlen Barber nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')" 5088343186SGlen Barber default="$(eval echo \${default_${distname}:-on})" 5188343186SGlen Barber desc="$(eval echo \"\${desc_${distname}}\")" 5288343186SGlen Barber 5388343186SGlen Barber case ${i} in 5488343186SGlen Barber kernel-dbg.txz) 5588343186SGlen Barber desc="${desc_kernel_dbg}" 5688343186SGlen Barber ;; 5788343186SGlen Barber kernel.*-dbg.txz) 5888343186SGlen Barber desc="$(eval echo \"${desc_kernel_alt_dbg}\")" 5988343186SGlen Barber desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')" 6088343186SGlen Barber default="$(eval echo \"${default_kernel_alt_dbg}\")" 6188343186SGlen Barber ;; 6288343186SGlen Barber kernel.*.txz) 6388343186SGlen Barber desc="$(eval echo \"${desc_kernel_alt}\")" 6488343186SGlen Barber desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')" 6588343186SGlen Barber default="$(eval echo \"${default_kernel_alt}\")" 6688343186SGlen Barber ;; 6788343186SGlen Barber *) 6888343186SGlen Barber ;; 6988343186SGlen Barber esac 7088343186SGlen Barber 7188343186SGlen Barber printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n" 72b70047d4SNathan Whitehorndone 73b70047d4SNathan Whitehorn 74