]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/scripts/make-manifest.sh
Update releng/11.3 to RC3 as part of the 11.3-RELEASE cycle.
[FreeBSD/FreeBSD.git] / release / scripts / make-manifest.sh
1 #!/bin/sh
2
3 # make-manifest.sh: create checksums and package descriptions for the installer
4 #
5 #  Usage: make-manifest.sh foo1.txz foo2.txz ...
6 #
7 # The output file looks like this (tab-delimited):
8 #  foo1.txz SHA256-checksum Number-of-files foo1 Description Install-by-default
9 #
10 # $FreeBSD$
11
12 base="Base system"
13 doc="Additional Documentation"
14 kernel="Kernel"
15 ports="Ports tree"
16 src="System source tree"
17 lib32="32-bit compatibility libraries"
18 tests="Test suite"
19
20 desc_base="${base} (MANDATORY)"
21 desc_base_dbg="${base} (Debugging)"
22 desc_doc="${doc}"
23 desc_kernel="${kernel} (MANDATORY)"
24 desc_kernel_dbg="${kernel} (Debugging)"
25 desc_kernel_alt="Alternate ${kernel}"
26 desc_kernel_alt_dbg="Alternate ${kernel} (Debugging)"
27 desc_lib32="${lib32}"
28 desc_lib32_dbg="${lib32} (Debugging)"
29 desc_ports="${ports}"
30 desc_src="${src}"
31 desc_tests="${tests}"
32
33 default_doc=off
34 default_src=off
35 default_tests=off
36 default_base_dbg=off
37 default_lib32_dbg=off
38 default_kernel_alt=off
39 default_kernel_dbg=off
40 default_kernel_alt_dbg=off
41
42 for i in ${*}; do
43         dist="${i}"
44         distname="${i%%.txz}"
45         distname="$(echo ${distname} | tr '-' '_')"
46         distname="$(echo ${distname} | tr 'kernel.' 'kernel_')"
47         hash="$(sha256 -q ${i})"
48         nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')"
49         default="$(eval echo \${default_${distname}:-on})"
50         desc="$(eval echo \"\${desc_${distname}}\")"
51
52         case ${i} in
53                 kernel-dbg.txz)
54                         desc="${desc_kernel_dbg}"
55                         ;;
56                 kernel.*-dbg.txz)
57                         desc="$(eval echo \"${desc_kernel_alt_dbg}\")"
58                         desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')"
59                         default="$(eval echo \"${default_kernel_alt_dbg}\")"
60                         ;;
61                 kernel.*.txz)
62                         desc="$(eval echo \"${desc_kernel_alt}\")"
63                         desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')"
64                         default="$(eval echo \"${default_kernel_alt}\")"
65                         ;;
66                 *)
67                         ;;
68         esac
69
70         printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n"
71 done
72