forked from a741725193/zmk-config-zen-2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkitware-archive.sh
99 lines (84 loc) · 1.88 KB
/
kitware-archive.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/sh
set -eu
help() {
echo "Usage: $0 [--release <ubuntu-release>] [--rc]" > /dev/stderr
}
doing=
rc=
release=
help=
for opt in "$@"
do
case "${doing}" in
release)
release="${opt}"
doing=
;;
"")
case "${opt}" in
--rc)
rc=1
;;
--release)
doing=release
;;
--help)
help=1
;;
esac
;;
esac
done
if [ -n "${doing}" ]
then
echo "--${doing} option given no argument." > /dev/stderr
echo > /dev/stderr
help
exit 1
fi
if [ -n "${help}" ]
then
help
exit
fi
if [ -z "${release}" ]
then
unset UBUNTU_CODENAME
. /etc/os-release
if [ -z "${UBUNTU_CODENAME+x}" ]
then
echo "This is not an Ubuntu system. Aborting." > /dev/stderr
exit 1
fi
release="${UBUNTU_CODENAME}"
fi
case "${release}" in
noble|jammy|focal)
packages=
keyring_packages="ca-certificates gpg wget"
;;
*)
echo "Only Ubuntu Noble (24.04), Jammy (22.04), and Focal (20.04) are supported. Aborting." > /dev/stderr
exit 1
;;
esac
get_keyring=
if [ ! -f /usr/share/doc/kitware-archive-keyring/copyright ]
then
packages="${packages} ${keyring_packages}"
get_keyring=1
fi
# Start the real work
set -x
apt-get update
# shellcheck disable=SC2086
apt-get install -y ${packages}
test -n "${get_keyring}" && (wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg)
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release} main" > /etc/apt/sources.list.d/kitware.list
if [ -n "${rc}" ]
then
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${release}-rc main" >> /etc/apt/sources.list.d/kitware.list
fi
apt-get update
test -n "${get_keyring}" && rm /usr/share/keyrings/kitware-archive-keyring.gpg
apt-get install -y kitware-archive-keyring