Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Mihelich <kevin@archlinuxarm.org>2014-01-18 17:26:29 -0700
committerKevin Mihelich <kevin@archlinuxarm.org>2014-01-18 17:26:29 -0700
commit30a51c450efdeea9b5a59ce3400f5b5fe06d5180 (patch)
treee844915c8579e5e01596e8329a0ca552ce2c0756
Initial commit
-rw-r--r--.gitattributes7
-rw-r--r--.gitignore3
-rw-r--r--Makefile20
-rw-r--r--archlinuxarm-trusted3
-rw-r--r--archlinuxarm.gpg238
-rw-r--r--master-keyids3
-rw-r--r--master/jason.asc51
-rw-r--r--master/kevin.asc51
-rw-r--r--master/mike.asc51
-rw-r--r--packager-keyids1
-rw-r--r--packager-revoked-keyids0
-rw-r--r--packager/builder.asc85
-rwxr-xr-xupdate-keys74
13 files changed, 587 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..188aa7b
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,7 @@
+update-keys export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+master-keyids export-ignore
+packager-keyids export-ignore
+master export-ignore
+packager export-ignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3028d42
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*~
+archlinux-keyring-*.tar.gz
+archlinux-keyring-*.tar.gz.sig
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..8e5c8be
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+V=20140118
+
+PREFIX = /usr/local
+
+install:
+ install -dm755 $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
+ install -m0644 archlinuxarm{.gpg,-trusted,-revoked} $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
+
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/share/pacman/keyrings/archlinuxarm{.gpg,-trusted,-revoked}
+ rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
+
+dist:
+ git archive --format=tar --prefix=archlinuxarm-keyring-$(V)/ $(V) | gzip -9 > archlinuxarm-keyring-$(V).tar.gz
+ gpg --detach-sign --use-agent archlinuxarm-keyring-$(V).tar.gz
+
+upload:
+ scp archlinuxarm-keyring-$(V).tar.gz archlinuxarm-keyring-$(V).tar.gz.sig archlinuxarm.org:/www/src
+
+.PHONY: install uninstall dist upload
diff --git a/archlinuxarm-trusted b/archlinuxarm-trusted
new file mode 100644
index 0000000..3dd9bf4
--- /dev/null
+++ b/archlinuxarm-trusted
@@ -0,0 +1,3 @@
+02922214DE8981D14DC2ACABBC704E86B823CD25:4:
+9D22B7BB678DC056B1F7723CB55C5315DCD9EE1A:4:
+69DD6C8FD314223E14362848BF7EEF7A9C6B5765:4:
diff --git a/archlinuxarm.gpg b/archlinuxarm.gpg
new file mode 100644
index 0000000..6b352c0
--- /dev/null
+++ b/archlinuxarm.gpg
@@ -0,0 +1,238 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=5FlG
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=X/kt
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFLbDM0BEADC2zpL3p4Jxy4CRBCTufwq6Jr+QfDcKmNN4cMJkJfdf8HgbD4E
+oZt5A0zqWiuNXOodvZAM0BrY8UrhvZpBDXVtTk/WdTTh7SQiPKOlHGIx1JwaPOdL
+3ui6Clje/QURsSPALaOXzV+vEduKqz5vkj3v3k4OkMrIB4mAWEy/bPsvSFz4v23K
+3wNjsR0Z4hrAS3CLVp8r7UCwhbocJKAxqujNJCqvI2l7xLKxc8htNWf5sroFJ7hE
+FizBh+h3WXXJ5ayy0eyhZqxP1heqjUHF0Tmy8KNfimwQFOBCVgurtpg90VjF/fBJ
+dtkmAvpsb8XeqXb5tqoXpqgbJcp3M8s6kvHs3H1tHascW4JHPUHwxQ2WYZ9ih/7m
+9HejHmlG+w6BTMPr3J9YeKOjMU1YEDhQOr3tcKoEVjuznMK2qp+xzoTo9TGAV8FP
+DPS66IKm/N6D8GfBxDLoqX32/58NyR6f+MctWxIwRCgGATzPLkeVCjr7JPCSAByC
+VaaAr0P+ekC2SEuY+2HvCs7VOF0TsVUCPAYWI9fzkJHcH2bYac1VMeu2FMK6FbxO
+A5Oc1Bl5jikJVuZEPPMYDVGZKSiTXArfkXh1D6Txa27++AJXfgGkJQiCBc8PHuro
+Mhz5ycK6N8kuxOrTlhbS/4sB18ox5VLeI1vXhkXikCAZ8lTG4EMMvOZzQQARAQAB
+tE1NaWNoYWVsIEJyb3duIChBcmNoTGludXggQVJNIE1hc3RlciBLZXkpIDxtYnJv
+d25AbWFzdGVyLWtleS5hcmNobGludXhhcm0ub3JnPokCOAQTAQIAIgUCUtsMzQIb
+AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQv37vepxrV2UFjQ//QJHE5d5s
+6DPyDdu9XTADN23oVkDiub5CW3/mhQapPi+t9ZTE5giwh+IuMtJPghW9cuN23CYH
+1RrrGJcLGZtuoQMBb/sw4/pLgo7UkQUdWfEsauIypydbwGwS/v7GsL9SJU6WTiqf
+29skg4Qv5YB91rz0yCzV+7URBEyQR46AVlIaDjWrEzUi7wcXewLf0sXZOLY+bCA6
+dsBvDMJTcQeAsDmgnH4mJXC9KXYNx1T0RVe5qNRzPLECN0ecxWtErMbpkj83qrnm
+fGPnherSGA7DLV1xjyYtzlfhCsynx54hKwoNROVsuxfrsvheTrrr5y0BVgEf9cFg
+PHsOyiBgp0wVy+GBt9W1f1MebgJ5/sUelm2eFr7zeOqMs1eSwcilOju9Dx4txBTl
+8I9AIqAz38TjnsuX6JFMkJlqbjG/cXcY8MFWXxGewgWHlqJWpVbpaDePv5WA4ajL
+Q6eZTOmdqzEwlR7zxWeby/UC8NjlOmu7KZ4HDNP/Qks8XVUtFgg1YLfPdxMIIzrN
+Vx3ic9r27cLv/NCzqEwBjgi7A1xm6X+8xocUM9q2qR1/9daQ7ScJzbFgQMijkdkh
+q/F9TiNE20IrFDNJCsIZfCkXKdIWciPum32+0lGvwSUqE/QWGJd+vuHOVqxa3Uhk
+iaMQmavviFB/MlyupCWGisVmpCJ33W6fhua5Ag0EUtsMzQEQALlft0QSeXWDR5MK
++1jgnY8wL7UpjfBHA46Aow/W8oxAaQmmmx8cxV17PeootOXJrfPw+crNUWYM1r6W
+3Us5bvFjjIJuIEbqqcPYArRBpIzeOLoNGaRIgfG9rUgM4Q5bUbS3pEdCbPf93yBD
+XldVckAY8E8LBaF4vBBDvUNFJahYUUd0P2e/46bD6nRf5R237P7J/bpT+y9xvGYZ
+0sJZO0hDYcrDH/5L4m4TJ3eaEmbIZ5AL/PDWHQweH+eIKETxwCMgvX9cRFywYCM+
+DavF/JPlbD3OhgpadS6cwxrfPKiKuqDkmRr/y3rdcs9fgLLYIvja60T6+f6fkBF8
+av8DVze9Clm4ozv2AbUXbDgU/PrJOyPqOPy6NpFt7yj6sNe+5QFxKtlGpm5J2QSl
+VjuxcrLKYvKEE3Ocghj4x6oOdl8pCeMZRMo7wP9Jl2mSg3pkJvQgvNLabw8oRe0U
+YVRxKIf33LyOWi0Rwtnn/pnXul826uNehFkoXWWIelA5Yy30tHIECiXUwiPg0g84
+RwYakVulRJ4UJimjjcubYO1isCUXCWd0ftESipj4i3xM3aJQeBRN5XEvubaxQWJ4
+K/099oPfbosRo5Xv7YolFXmlAeEg0BF12nVHmjM45CzDfN7mOnyh6ukUw3y7mHhS
+XAoe8kl1cNa+snRrGZCaJCLZJHSZABEBAAGJAh8EGAECAAkFAlLbDM0CGwwACgkQ
+v37vepxrV2XI7RAAkqxKf/MPfYW5Flo1TCq4ExUcdJIsHAYafFwTJZiP91hhjswB
+IY2z0ardSxgK9EyNWp7/OryATT+ZFbG5VJ+AiHLj/8wJ8lNiurq0ARWmcE7bKIGH
+AFcsjZOVnvYe+eWSf64lrz0SdfjnHW0b0/qiy+dCz+jgbZBFR8GMuI4xTcXp+nWn
+TtQay9iDHRvPRMURKYALi+KG/nW3SbG8r4rGYpqnmrR8wLgDQ2JHPO+wFIiIGmDS
+pY0PiH6IFhYFuyVGGYrumKmgwZpqn47s8E5IBXvgP2naey360sO60GbS6gkREsI9
+lXnj/wisQoMMu/WJZUcITCMbYwX4I1sPQjOOgJUDZRCEJLJ2QYPJKB+dPA1yAJ70
+X+twODToz366pLHZMuab7klDcDk6iXG1vEvok5+zmbHxWKbG5pmwBEN7TP1b953P
+ZeexH2vUw3gRAqH+1+u5FSB/1EA8r1dDQEHIpmER3AfdbRTl31CgNCuWTupzhHTy
+v/DrVYrfjf+4SBvxTU0PabOXJqUuyv4LgjJSeJ0ddJtzz76Wp5I4Vtu2prH7wEJr
+G/DE8IEVPpw/eoy4IsHJpBbqrwVS7RvwnW38gBQ2MdEzzrobENyd0GfD7g2nWQGg
+9ZjNPdeERrlwDm3y0bZl4+FWFSR6viI52kR5rvhnt8itROmqLhDtG1pvwVQ=
+=7TM/
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+8+A0kBiaAmcY01U/upYXeHs=
+=YwSO
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/master-keyids b/master-keyids
new file mode 100644
index 0000000..a52ea04
--- /dev/null
+++ b/master-keyids
@@ -0,0 +1,3 @@
+02922214DE8981D14DC2ACABBC704E86B823CD25 kevin
+9D22B7BB678DC056B1F7723CB55C5315DCD9EE1A jason
+69DD6C8FD314223E14362848BF7EEF7A9C6B5765 mike
diff --git a/master/jason.asc b/master/jason.asc
new file mode 100644
index 0000000..4a0b162
--- /dev/null
+++ b/master/jason.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=5FlG
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/master/kevin.asc b/master/kevin.asc
new file mode 100644
index 0000000..d2be0d5
--- /dev/null
+++ b/master/kevin.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=X/kt
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/master/mike.asc b/master/mike.asc
new file mode 100644
index 0000000..7fa8437
--- /dev/null
+++ b/master/mike.asc
@@ -0,0 +1,51 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=7TM/
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/packager-keyids b/packager-keyids
new file mode 100644
index 0000000..456901a
--- /dev/null
+++ b/packager-keyids
@@ -0,0 +1 @@
+68B3537F39A313B3E574D06777193F152BDBE6A6 builder
diff --git a/packager-revoked-keyids b/packager-revoked-keyids
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packager-revoked-keyids
diff --git a/packager/builder.asc b/packager/builder.asc
new file mode 100644
index 0000000..991d04a
--- /dev/null
+++ b/packager/builder.asc
@@ -0,0 +1,85 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+8+A0kBiaAmcY01U/upYXeHs=
+=YwSO
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/update-keys b/update-keys
new file mode 100755
index 0000000..0c44544
--- /dev/null
+++ b/update-keys
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+export LANG=C
+
+TMPDIR=$(mktemp -d)
+trap "rm -rf '${TMPDIR}'" EXIT
+
+KEYSERVER='hkp://pgp.mit.edu'
+GPG="gpg --quiet --batch --no-tty --no-permission-warning --keyserver "${KEYSERVER}" --homedir ${TMPDIR}"
+
+pushd "$(dirname "$0")" >/dev/null
+
+$GPG --gen-key <<EOF
+%echo Generating Arch Linux ARM Keyring keychain master key...
+Key-Type: RSA
+Key-Length: 1024
+Key-Usage: sign
+Name-Real: Arch Linux ARM Keyring Keychain Master Key
+Name-Email: archlinuxarm-keyring@localhost
+Expire-Date: 0
+%commit
+%echo Done
+EOF
+
+rm -rf master packager packager-revoked archlinuxarm-trusted archlinuxarm-revoked
+mkdir master packager packager-revoked
+
+while read -ra data; do
+ keyid="${data[0]}"
+ username="${data[@]:1}"
+ ${GPG} --recv-keys ${keyid} &>/dev/null
+ printf 'minimize\nquit\ny\n' | \
+ ${GPG} --command-fd 0 --edit-key ${keyid}
+ ${GPG} --yes --lsign-key ${keyid} &>/dev/null
+ ${GPG} --armor --no-emit-version --export ${keyid} >> master/${username}.asc
+ echo "${keyid}:4:" >> archlinuxarm-trusted
+done < master-keyids
+${GPG} --import-ownertrust < archlinuxarm-trusted 2>/dev/null
+
+while read -ra data; do
+ keyid="${data[0]}"
+ ${GPG} --recv-keys ${keyid} &>/dev/null
+done < packager-keyids
+while read -ra data; do
+ keyid="${data[0]}"
+ username="${data[@]:1}"
+ printf 'clean\nquit\ny\n' | \
+ ${GPG} --command-fd 0 --edit-key ${keyid}
+ if ! ${GPG} --list-keys --with-colons ${keyid} 2>/dev/null | grep -q '^pub:f:'; then
+ echo "key is not fully trusted: ${keyid} ${username}"
+ else
+ ${GPG} --armor --no-emit-version --export ${keyid} >> packager/${username}.asc
+ fi
+done < packager-keyids
+
+# uncomment when we have keys to revoke
+
+#while read -ra data; do
+# keyid="${data[0]}"
+# username="${data[1]}"
+# ${GPG} --recv-keys ${keyid} &>/dev/null
+# printf 'clean\nquit\ny\n' | \
+# ${GPG} --command-fd 0 --edit-key ${keyid}
+# if ! ${GPG} --list-keys --with-colons ${keyid} 2>/dev/null | grep -q '^pub:f:'; then
+# ${GPG} --armor --no-emit-version --export ${keyid} >> packager-revoked/${username}.asc
+# echo "${keyid}" >> archlinuxarm-revoked
+# else
+# echo "key is still fully trusted: ${keyid} ${username}"
+# fi
+#done < packager-revoked-keyids
+
+cat master/*.asc packager/*.asc packager-revoked/*.asc > archlinuxarm.gpg
+
+popd >/dev/null