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