aboutsummaryrefslogtreecommitdiff
blob: 798b22c04b0ef69ff9611050611feef5e122669b (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
#!/bin/bash
# Copyright 2010-2015 Gentoo Authors; Distributed under the GPL v2
# might be earlier copyright, no history available

# Keep this variable in sync in both sign-autobuilds.sh & sync-autobuilds.sh
_ARCHES="alpha amd64 arm64 arm hppa ia64 m68k      ppc riscv s390 sh sparc x86"
        #alpha amd64 arm64 arm hppa ia64 m68k mips ppc riscv s390 sh sparc x86
ARCHES=${ARCHES:-${_ARCHES}}

RELEASES=/var/tmp/gmirror-releases/releases/
[[ $HOSTNAME == TODO ]] && RELEASES=/var/tmp/gmirror/releases/

DEBUG=''
VERBOSE=''

# Do not change
DEBUGP=
VERBOSEP=false
[ -n "$DEBUG" ] && DEBUGP=echo
[ -n "$VERBOSE" ] && VERBOSEP=
[ -n "$DEBUG" ] && RSYNC_OPTS="${RSYNC_OPTS} -n"
[ -n "$VERBOSE" ] && RSYNC_OPTS="${RSYNC_OPTS} -v"

signone() {
	f="$1"
	$DEBUGP gpg --homedir /home/gmirror/.gnupg-releng/ --armor --clearsign "${f}"
}

gpgconf --kill all

for a in $ARCHES ; do
pushd $RELEASES/$a >/dev/null || continue

#echo "ISOS:"
[[ -d autobuilds ]] || exit
digests="$(find autobuilds -name '*.DIGESTS' )"
sigs="$(find autobuilds -name '*.DIGESTS.asc' )"
unsigned="$(comm -23 <(echo "$digests" |sort) <(echo "$sigs" | sed -e 's,.asc$,,g' |sort))"

#$VERBOSEP echo "=== ARCH: $a"

for dgst in $unsigned ; do
	if [ ! -f ${dgst}.asc ]; then
		$VERBOSEP echo "Signing $dgst"
		signone $dgst
	fi
done 

for dgst in $digests ; do
	if [ -f ${dgst}.asc -a ${dgst} -nt ${dgst}.asc ]; then
		$VERBOSEP echo "Resigning $dgst"
		rm -f ${dgst}.asc
		signone $dgst
	fi
done

#echo "$isos"
#latest="$(echo "$isos" | tail -n1)"
#if [[ -n $latest ]]; then
#	#echo "latest is $latest"
#	latest=$(echo "$latest" | awk '{print $2}')
#	#pwd
#	rm current && ln -s $latest current
#fi

popd >/dev/null

done