blob: 9c186436d5ec74f9c92ec2b384dec5589460c17d (
plain)
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
100
101
102
103
104
|
#!/bin/bash
####################################
# #
# to be run as root ... #
# or executed step by step as root #
# #
####################################
set -e
##########################################################
# #
# check and possibly install root-certificate of jeti100 #
# #
##########################################################
if ! curl -o /dev/null "https://jeti100.ioq.uni-jena.de/" 2> /dev/null
then
cert="$(curl -o - "http://jeti100.ioq.uni-jena.de/statisch/ca.crt" 2> /dev/null)"
if ! echo "${cert}" | \
sha512sum | \
grep -q "^c1a9da72183ef6fd87deb506dd93ea3e6247d28ec0720914c97a80369e9e81cb7e9f7ce37fe063756880eb84f402fec20ccb3c2c4fb46f5f707a022f803372be -\$"
then
>&2 echo 'falsches CA-Zertifikat heruntergeladen'
exit 1
fi
echo "${cert}" > /usr/share/ca-certificates/trust-source/anchors/jeti100.crt
trust extract-compat
fi
################
# #
# import keys: #
# #
################
tmpFile="$(mktemp)"
curl -o "${tmpFile}" "https://arch.eckner.net/archlinuxewe/masterkeys.gpg"
pacman-key --add "${tmpFile}"
rm -f "${tmpFile}"
############################
# #
# locally sign package-key #
# #
############################
pacman-key --lsign-key 0x43BF68D3
###############################
# #
# locally sign repository-key #
# #
###############################
pacman-key --lsign-key 0x20194BA1
##############################
# #
# setup mirror in mirrorlist #
# #
##############################
if ! grep -q "^Server = https://arch\.eckner\.net" /etc/pacman.d/mirrorlist
then
ml="$(
curl -o - "https://arch.eckner.net/archlinuxewe/os/any/" 2> /dev/null | \
tr "<>" "\n\n" | \
grep "^pacman-mirrorlist-.*\.pkg\.tar\.xz\$" | \
tail -n1
)"
curl -o - "https://arch.eckner.net/archlinuxewe/os/any/${ml}" 2> /dev/null | \
tar -OxJ etc/pacman.d/mirrorlist > \
/etc/pacman.d/mirrorlist
fi
###################################
# #
# setup repository in pacman.conf #
# #
###################################
if grep -q "^\[archlinuxewe\]\$" /etc/pacman.conf
then
tmpFile="$(mktemp)"
cat /etc/pacman.conf | \
(
while read s
do
if [[ "$s" = "# The testing repositories"* ]]
then
echo '[archlinuxewe]'
echo 'SigLevel = Required'
echo 'Include = /etc/pacman.d/mirrorlist'
echo ''
fi
echo "${s}"
done
) > "${tmpFile}"
cat "${tmpFile}" > /etc/pacman.conf
rm -f "${tmpFile}"
fi
|