blob: 6843fe1c104d513b6605eca06ada27b7062dd867 (
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#!/bin/bash
# to be executed on nlopc43 ... sry for all the hard-coded stuff
set -e
archive='/mnt/archlinux32archive'
destination='/mnt/archlinux32/archisos'
base_dir=$(
readlink -e "${0%/*}"
)
case "$(hostname -s)" in
'nlopc43')
echo 'build isos on nlopc46 ...'
rsync "$0" nlopc46.ioq.uni-jena.de:/tmp/
isos=$(
ssh nlopc46.ioq.uni-jena.de "/tmp/${0##*/}"
)
echo '... done.'
if [ -z "${isos}" ]; then
echo 'no isos were built!?'
exit 1
fi
echo 'sign and upload isos ...'
tmp_dir=$(mktemp -d)
trap 'cd "${base_dir}"; rm -rf --one-file-system "${tmp_dir}"' EXIT
rsync -av $(printf 'nlopc46.ioq.uni-jena.de:%s\n' ${isos}) "${tmp_dir}/"
isos=$(
printf '%s\n' "${isos}" | \
sed 's,^.*/,,'
)
cd "${tmp_dir}"
cp "${destination}/sha512sums" .
cp "${destination}/md5sums" .
date=$(
printf '%s\n' "${isos}" \
| sed 's/^.*-\([^-]\+\)-[^-]\+$/\1/' \
| sort -u
)
for iso in ${isos}; do
gpg --local-user '33CA3597B0D161AAE4173F65C17F1214114574A4' --batch --no-tty --detach-sign "${iso}" </dev/null
done
sha512sum ${isos} >> sha512sums
md5sum ${isos} >> md5sums
sort -k2,2 sha512sums --output sha512sums
sort -k2,2 md5sums --output md5sums
cp $(
printf '%s\n' ${isos}
printf '%s.sig\n' ${isos}
) sha512sums md5sums "${destination}/"
date +%s > "${destination%/*}/lastupdate"
"${base_dir}/al32-mktorrent.sh" -d "${date}" -t "hefur@archlinux32:"
mv $(
printf '%s.torrent\n' ${isos}
) feed_dual.rss feed_i686.rss "${destination}/"
git -C "${base_dir}/../archweb32" pull --ff-only
"${base_dir}/update-website" \
--torrent-seed-i686 "https://pool.mirror.archlinux32.org/archisos/archlinux-${date}-i686.iso.torrent" \
--torrent-seed-dual "https://pool.mirror.archlinux32.org/archisos/archlinux-${date}-dual.iso.torrent" \
--update-iso
git -C "${base_dir}/../archweb32" commit 'download/index.html' -m 'download/index.html: new isos ('"${date}"')'
git -C "${base_dir}/../archweb32" push
find "${destination}" -name 'archlinux-*' -not -name 'archlinux-'"${date}"'-*' \
| while read -r to_delete; do
if diff -q "${to_delete}" "${archive}/iso/${to_delete#${destination}/}"; then
rm "${to_delete}"
fi
done
echo '... done.'
;;
'nlopc46')
if [ "$(whoami)" = 'root' ]; then
cd "/usr/share/archiso/configs/$1"
rm --one-file-system -rf out work
mkdir out work
./build.sh
chown "${SUDO_USER}:users" out/archlinux-*.iso
mv out/archlinux-*.iso "$2/"
exit
fi
rm -rf --one-file-system ~/archisos
mkdir ~/archisos
>&2 echo 'build i686-iso ...'
>&2 sudo "$0" releng32 ~/archisos/
>&2 echo '... done.'
>&2 echo 'build dual-iso ...'
>&2 sudo "$0" releng-dual ~/archisos/
>&2 echo '... done.'
find ~/archisos/ -type f
;;
*)
>&2 echo 'execute on nlopc43 (or nlopc46) - sry'
exit 1
;;
esac
|