]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/scripts/make-manifest.sh
MFC: contrib/tzdata: import tzdata 2020e
[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_ports=off
36 default_tests=off
37 default_base_dbg=off
38 default_lib32_dbg=off
39 default_kernel_alt=off
40 default_kernel_dbg=on
41 default_kernel_alt_dbg=off
42
43 for i in ${*}; do
44         dist="${i}"
45         distname="${i%%.txz}"
46         distname="$(echo ${distname} | tr '-' '_')"
47         distname="$(echo ${distname} | tr 'kernel.' 'kernel_')"
48         hash="$(sha256 -q ${i})"
49         nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')"
50         default="$(eval echo \${default_${distname}:-on})"
51         desc="$(eval echo \"\${desc_${distname}}\")"
52
53         case ${i} in
54                 doc.txz)
55                         continue
56                         ;;
57                 kernel-dbg.txz)
58                         desc="${desc_kernel_dbg}"
59                         ;;
60                 kernel.*-dbg.txz)
61                         desc="$(eval echo \"${desc_kernel_alt_dbg}\")"
62                         desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')"
63                         default="$(eval echo \"${default_kernel_alt_dbg}\")"
64                         ;;
65                 kernel.*.txz)
66                         desc="$(eval echo \"${desc_kernel_alt}\")"
67                         desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')"
68                         default="$(eval echo \"${default_kernel_alt}\")"
69                         ;;
70                 *)
71                         ;;
72         esac
73
74         printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n"
75 done
76