monthly refresh
[fsf-keyring.git] / fsf-keyring.sh
CommitLineData
227fa583 1#!/bin/bash -l
3e4c32c3
IK
2
3set -e
4set -x
5
227fa583
IK
6refresh-gpg-key() {
7
8 key=$1
9
10 error=999
11 for keyserver in pgp.mit.edu pool.sks-keyservers.net keyring.debian.org; do
12 set +e
13 cmd="gpg --keyserver $keyserver --recv-keys $key"
14 # keyservers are not very reliable, so retry
15 for x in {1..3}; do
16 $cmd &>/dev/null
17 ret=$?
18 if (( ret == 0 )); then break; fi
19 sleep 1
20 done
21 set -e
22 error=$(( ret < error ? ret : error )) # use lowest return
23 done
24
25 return $error
26}
3e4c32c3 27
e72d434b
IK
28refresh=true
29if [[ $1 == -r ]]; then
30 refresh=false
31fi
32
3e4c32c3
IK
33KEYS+="67819B343B2AB70DED9320872C6464AF2A8E4C02 " #rms
34KEYS+="A4626CBAFF376039D2D7554497BA9CE761A0963B " #johns
35KEYS+="759C0A4A39A02A079712FB5061B826E87A80C8D6 " #johnh
36KEYS+="CEA951DB865D0D257BB0A14DCEB69E6F9B36C195 " #andrew
37KEYS+="13A0851D6307FC54FCCB81BA2C1008316F3E89B7 " #donald
3e4c32c3
IK
38KEYS+="EF6643D6E1F115D1A9B7D59C92D16583E1E7C532 " #jeanne
39KEYS+="04C45B4E3AF05E9EB140FD148B10E9C6407BD6E1 " #matt
40KEYS+="05EF1D2FFE61747D1FC827C37FAC7D26472F4409 " #ruben
41KEYS+="0CCB3494C13CCD8F6EC73AA06DA6B7D151C7643E " #dana
42KEYS+="B125F60B7B287FF6A2B7DF8F170AF0E2954295DF " #ian
43KEYS+="ECE5B5BF952A3AEA92C137F9C9230A4849ACE0DB " #molly
f4caeebe 44KEYS+="36C9950D2F68254ED89C7C03F9C13A10581AB853 " #craigt
3e4c32c3
IK
45KEYS+="E9A271C071964891AA57663D9EA33414F5852F4E " #mako
46KEYS+="A2F4F1966D9E35C673EC30D5B6F1D83E9ACD9EBB " #bkuhn
47KEYS+="2C31130BF7D5A459AFF2A3F3C9DFFE4A33AA52D9 " #knauth
06ea525c 48KEYS+="43372794C8ADD5CA8FCFFA6CD03759DAB600E3C0 " #michael
3e4c32c3
IK
49
50rm -f /tmp/keys.asc ./fsf-keyring.gpg
51
52for KEY in $KEYS ; do
e72d434b
IK
53 if $refresh; then
54 refresh-gpg-key $KEY
55 fi
227fa583 56 gpg --export --armor $KEY >> /tmp/keys.asc
3e4c32c3
IK
57done
58
f4caeebe
IK
59# note: this doesn't work with gpg2. i dunno what the equivalent is in
60# gpg2, likely just exporting all the keys.
61command gpg --trust-model always --no-default-keyring --keyring ./fsf-keyring.gpg --import /tmp/keys.asc
227fa583
IK
62gpg --sign ./fsf-keyring.gpg
63mv fsf-keyring.gpg.gpg fsf-keyring.gpg