xref: /freebsd/release/scripts/make-manifest.sh (revision 893c3ece103a0b18e0c1cb84669c376b94b7d9b4)
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