first commit

This commit is contained in:
JerryXiao 2019-01-27 13:58:37 +08:00
commit 947befa77b
Signed by: Jerry
GPG Key ID: 9D9CE43650FF2BAA
12 changed files with 230 additions and 0 deletions

7
.gitattributes vendored Normal file
View File

@ -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

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*~
jerryxiao-keyring-*.tar.gz
jerryxiao-keyring-*.tar.gz.sig

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
V=20180316
PREFIX = /usr/local
install:
install -dm755 $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
install -m0644 jerryxiao{.gpg,-trusted,-revoked} $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
uninstall:
rm -f $(DESTDIR)$(PREFIX)/share/pacman/keyrings/jerryxiao{.gpg,-trusted,-revoked}
rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/pacman/keyrings/
dist:
git archive --format=tar --prefix=jerryxiao-keyring-$(V)/ $(V) | gzip -9 > jerryxiao-keyring-$(V).tar.gz
gpg --detach-sign --use-agent jerryxiao-keyring-$(V).tar.gz
upload:
# scp jerryxiao-keyring-$(V).tar.gz jerryxiao-keyring-$(V).tar.gz.sig nymeria.archlinux.org:/srv/ftp/other/archlinux-keyring/
.PHONY: install uninstall dist upload

0
jerryxiao-revoked Normal file
View File

1
jerryxiao-trusted Normal file
View File

@ -0,0 +1 @@
186242204A2EC70438E9CE3B9D9CE43650FF2BAA:4:

60
jerryxiao.gpg Normal file
View File

@ -0,0 +1,60 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFwCOmEBCAC4ruZv67toZ1cbhMaqWVAmnHVkbOMZjy9uXTp2kdBsQAS2wYBj
8hGdLy4fVGU+S+zf2/gcjX9T6iMyu0LSdFTSBG1vzPpcaVi8+Oq8ndVO135RZj4L
rr8BiT+zVT57De8kddXhiivmhp6NzRExwHEUMtj3ode95i8bCe2DxDBuIxHsIuh7
ftqAR4t30iA/SLaeGRSySjk6WUpQtDqVy8vsS8mIG4/9LD6wjHX50yUfVrjBZedC
fJlWTW/tf0cEZnifl5K/sebpQqfkIPbWDBE19ruu6lZAQhYEzGANdBSFUPMgWVP7
2n3fp9Uh7FDnbNMw1R4vM/50FEbhTfdTHLO/ABEBAAG0JEplcnJ5IFhpYW8gPGlz
amVycnl4aWFvQG91dGxvb2suY29tPokBVAQTAQgAPhYhBBhiQiBKLscEOOnOO52c
5DZQ/yuqBQJcAjphAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ
EJ2c5DZQ/yuqyf8H/2echpLhKD6quyOjG1ZpFnDua2igaOPTHNM0v1opDPiiduYb
JSNTczdK63vrQ8ss4umjDmH9GE8sKYKz2bAaQW2dEHT9i+eyWRvmL+M5EWaCCiM/
mkGD57rkyogURMFOKrklryM+6Rb/3N2a13DccZCgCNRneCNhfJ/7PaHL8JKBB5Z0
TuHg7SxYAOLYadAPUGTJ5vZHz9wbBJSRw8HVUnAa94y13Sc9i2UmbLED4zxomcK3
ApwrEFH3E1j7qtq0elyE8clX6zK1STNdFI98ffv6GAFO6nGfmSqDckya1MpZWsZt
1pLXqabh5va8h2WGSm7COI6dRi3tDf4lvOsl6T65AQ0EXAI6YQEIAML3Eeto1bm6
5YDUVD13naRXyHM9W9tsHzQa7vM/3W/gAWlomQuziT+lqYdCclANShrHTyAyhOlP
+MeLw1Y1BEjomzo4XqQqBL3Mg/9p0o2zvZN1/IrIpmQoOyA96MNZbyDCabUv1IKb
CQMMKlb7iW2x+90wLAlM9+M2p6cE9RKmPZ4vdoSFzqKzO5Q1E6peTxhWx8zqfuge
AIG/ZR1ajFrc7OpspAwWhcnQ9wgt8tCRdIJy589q2DfCWiWhKgdRoP1IRdJlXbgS
xPVTEE0QPYMWILKGegMcreK1iC/m2r39MZhKC+jKHRkmluM8z5tj6L/H19OMBp8l
L+0QtDfN39UAEQEAAYkBPAQYAQgAJhYhBBhiQiBKLscEOOnOO52c5DZQ/yuqBQJc
AjphAhsMBQkJZgGAAAoJEJ2c5DZQ/yuq1+4H/3POjaiqi9XefTrsF0c8Q2/Mkvao
OW1PDmdXglaPcBDAW9vi9dd6HGPR0gYES3eU9D/LzqcjR5T6OqD/72A/OVL9mDtF
LgKtyV7mJ8T6hrcTYO0MI9hnJNb7lwocFsgKGo9byxKyT6T89rpqAprawz+pAu4z
E+c1zYjP0WxUKzRNipmUem6P/go8LMuDW94nZo5I5yksmWOkZNbmQRi5G8cF4f+G
bwWOEQwH38YmjkuLYnBVeX+Qr6rcrhn1MIDrfp5Pz28hxgYDIVT2D1ei6Rx/6rXA
Tsj96Vbjy6ZEnkSLZy13j8G6lpvgCoyuXw7G2PGlj4ngKrLkuQjVXFTI8JQ=
=LYj4
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFwCOmEBCAC4ruZv67toZ1cbhMaqWVAmnHVkbOMZjy9uXTp2kdBsQAS2wYBj
8hGdLy4fVGU+S+zf2/gcjX9T6iMyu0LSdFTSBG1vzPpcaVi8+Oq8ndVO135RZj4L
rr8BiT+zVT57De8kddXhiivmhp6NzRExwHEUMtj3ode95i8bCe2DxDBuIxHsIuh7
ftqAR4t30iA/SLaeGRSySjk6WUpQtDqVy8vsS8mIG4/9LD6wjHX50yUfVrjBZedC
fJlWTW/tf0cEZnifl5K/sebpQqfkIPbWDBE19ruu6lZAQhYEzGANdBSFUPMgWVP7
2n3fp9Uh7FDnbNMw1R4vM/50FEbhTfdTHLO/ABEBAAG0JEplcnJ5IFhpYW8gPGlz
amVycnl4aWFvQG91dGxvb2suY29tPokBVAQTAQgAPhYhBBhiQiBKLscEOOnOO52c
5DZQ/yuqBQJcAjphAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ
EJ2c5DZQ/yuqyf8H/2echpLhKD6quyOjG1ZpFnDua2igaOPTHNM0v1opDPiiduYb
JSNTczdK63vrQ8ss4umjDmH9GE8sKYKz2bAaQW2dEHT9i+eyWRvmL+M5EWaCCiM/
mkGD57rkyogURMFOKrklryM+6Rb/3N2a13DccZCgCNRneCNhfJ/7PaHL8JKBB5Z0
TuHg7SxYAOLYadAPUGTJ5vZHz9wbBJSRw8HVUnAa94y13Sc9i2UmbLED4zxomcK3
ApwrEFH3E1j7qtq0elyE8clX6zK1STNdFI98ffv6GAFO6nGfmSqDckya1MpZWsZt
1pLXqabh5va8h2WGSm7COI6dRi3tDf4lvOsl6T65AQ0EXAI6YQEIAML3Eeto1bm6
5YDUVD13naRXyHM9W9tsHzQa7vM/3W/gAWlomQuziT+lqYdCclANShrHTyAyhOlP
+MeLw1Y1BEjomzo4XqQqBL3Mg/9p0o2zvZN1/IrIpmQoOyA96MNZbyDCabUv1IKb
CQMMKlb7iW2x+90wLAlM9+M2p6cE9RKmPZ4vdoSFzqKzO5Q1E6peTxhWx8zqfuge
AIG/ZR1ajFrc7OpspAwWhcnQ9wgt8tCRdIJy589q2DfCWiWhKgdRoP1IRdJlXbgS
xPVTEE0QPYMWILKGegMcreK1iC/m2r39MZhKC+jKHRkmluM8z5tj6L/H19OMBp8l
L+0QtDfN39UAEQEAAYkBPAQYAQgAJhYhBBhiQiBKLscEOOnOO52c5DZQ/yuqBQJc
AjphAhsMBQkJZgGAAAoJEJ2c5DZQ/yuq1+4H/3POjaiqi9XefTrsF0c8Q2/Mkvao
OW1PDmdXglaPcBDAW9vi9dd6HGPR0gYES3eU9D/LzqcjR5T6OqD/72A/OVL9mDtF
LgKtyV7mJ8T6hrcTYO0MI9hnJNb7lwocFsgKGo9byxKyT6T89rpqAprawz+pAu4z
E+c1zYjP0WxUKzRNipmUem6P/go8LMuDW94nZo5I5yksmWOkZNbmQRi5G8cF4f+G
bwWOEQwH38YmjkuLYnBVeX+Qr6rcrhn1MIDrfp5Pz28hxgYDIVT2D1ei6Rx/6rXA
Tsj96Vbjy6ZEnkSLZy13j8G6lpvgCoyuXw7G2PGlj4ngKrLkuQjVXFTI8JQ=
=LYj4
-----END PGP PUBLIC KEY BLOCK-----

1
master-keyids Normal file
View File

@ -0,0 +1 @@
186242204A2EC70438E9CE3B9D9CE43650FF2BAA JerryXiao

30
master/JerryXiao.asc Normal file
View File

@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFwCOmEBCAC4ruZv67toZ1cbhMaqWVAmnHVkbOMZjy9uXTp2kdBsQAS2wYBj
8hGdLy4fVGU+S+zf2/gcjX9T6iMyu0LSdFTSBG1vzPpcaVi8+Oq8ndVO135RZj4L
rr8BiT+zVT57De8kddXhiivmhp6NzRExwHEUMtj3ode95i8bCe2DxDBuIxHsIuh7
ftqAR4t30iA/SLaeGRSySjk6WUpQtDqVy8vsS8mIG4/9LD6wjHX50yUfVrjBZedC
fJlWTW/tf0cEZnifl5K/sebpQqfkIPbWDBE19ruu6lZAQhYEzGANdBSFUPMgWVP7
2n3fp9Uh7FDnbNMw1R4vM/50FEbhTfdTHLO/ABEBAAG0JEplcnJ5IFhpYW8gPGlz
amVycnl4aWFvQG91dGxvb2suY29tPokBVAQTAQgAPhYhBBhiQiBKLscEOOnOO52c
5DZQ/yuqBQJcAjphAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ
EJ2c5DZQ/yuqyf8H/2echpLhKD6quyOjG1ZpFnDua2igaOPTHNM0v1opDPiiduYb
JSNTczdK63vrQ8ss4umjDmH9GE8sKYKz2bAaQW2dEHT9i+eyWRvmL+M5EWaCCiM/
mkGD57rkyogURMFOKrklryM+6Rb/3N2a13DccZCgCNRneCNhfJ/7PaHL8JKBB5Z0
TuHg7SxYAOLYadAPUGTJ5vZHz9wbBJSRw8HVUnAa94y13Sc9i2UmbLED4zxomcK3
ApwrEFH3E1j7qtq0elyE8clX6zK1STNdFI98ffv6GAFO6nGfmSqDckya1MpZWsZt
1pLXqabh5va8h2WGSm7COI6dRi3tDf4lvOsl6T65AQ0EXAI6YQEIAML3Eeto1bm6
5YDUVD13naRXyHM9W9tsHzQa7vM/3W/gAWlomQuziT+lqYdCclANShrHTyAyhOlP
+MeLw1Y1BEjomzo4XqQqBL3Mg/9p0o2zvZN1/IrIpmQoOyA96MNZbyDCabUv1IKb
CQMMKlb7iW2x+90wLAlM9+M2p6cE9RKmPZ4vdoSFzqKzO5Q1E6peTxhWx8zqfuge
AIG/ZR1ajFrc7OpspAwWhcnQ9wgt8tCRdIJy589q2DfCWiWhKgdRoP1IRdJlXbgS
xPVTEE0QPYMWILKGegMcreK1iC/m2r39MZhKC+jKHRkmluM8z5tj6L/H19OMBp8l
L+0QtDfN39UAEQEAAYkBPAQYAQgAJhYhBBhiQiBKLscEOOnOO52c5DZQ/yuqBQJc
AjphAhsMBQkJZgGAAAoJEJ2c5DZQ/yuq1+4H/3POjaiqi9XefTrsF0c8Q2/Mkvao
OW1PDmdXglaPcBDAW9vi9dd6HGPR0gYES3eU9D/LzqcjR5T6OqD/72A/OVL9mDtF
LgKtyV7mJ8T6hrcTYO0MI9hnJNb7lwocFsgKGo9byxKyT6T89rpqAprawz+pAu4z
E+c1zYjP0WxUKzRNipmUem6P/go8LMuDW94nZo5I5yksmWOkZNbmQRi5G8cF4f+G
bwWOEQwH38YmjkuLYnBVeX+Qr6rcrhn1MIDrfp5Pz28hxgYDIVT2D1ei6Rx/6rXA
Tsj96Vbjy6ZEnkSLZy13j8G6lpvgCoyuXw7G2PGlj4ngKrLkuQjVXFTI8JQ=
=LYj4
-----END PGP PUBLIC KEY BLOCK-----

1
packager-keyids Normal file
View File

@ -0,0 +1 @@
186242204A2EC70438E9CE3B9D9CE43650FF2BAA JerryXiao

0
packager-revoked-keyids Normal file
View File

30
packager/JerryXiao.asc Normal file
View File

@ -0,0 +1,30 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFwCOmEBCAC4ruZv67toZ1cbhMaqWVAmnHVkbOMZjy9uXTp2kdBsQAS2wYBj
8hGdLy4fVGU+S+zf2/gcjX9T6iMyu0LSdFTSBG1vzPpcaVi8+Oq8ndVO135RZj4L
rr8BiT+zVT57De8kddXhiivmhp6NzRExwHEUMtj3ode95i8bCe2DxDBuIxHsIuh7
ftqAR4t30iA/SLaeGRSySjk6WUpQtDqVy8vsS8mIG4/9LD6wjHX50yUfVrjBZedC
fJlWTW/tf0cEZnifl5K/sebpQqfkIPbWDBE19ruu6lZAQhYEzGANdBSFUPMgWVP7
2n3fp9Uh7FDnbNMw1R4vM/50FEbhTfdTHLO/ABEBAAG0JEplcnJ5IFhpYW8gPGlz
amVycnl4aWFvQG91dGxvb2suY29tPokBVAQTAQgAPhYhBBhiQiBKLscEOOnOO52c
5DZQ/yuqBQJcAjphAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ
EJ2c5DZQ/yuqyf8H/2echpLhKD6quyOjG1ZpFnDua2igaOPTHNM0v1opDPiiduYb
JSNTczdK63vrQ8ss4umjDmH9GE8sKYKz2bAaQW2dEHT9i+eyWRvmL+M5EWaCCiM/
mkGD57rkyogURMFOKrklryM+6Rb/3N2a13DccZCgCNRneCNhfJ/7PaHL8JKBB5Z0
TuHg7SxYAOLYadAPUGTJ5vZHz9wbBJSRw8HVUnAa94y13Sc9i2UmbLED4zxomcK3
ApwrEFH3E1j7qtq0elyE8clX6zK1STNdFI98ffv6GAFO6nGfmSqDckya1MpZWsZt
1pLXqabh5va8h2WGSm7COI6dRi3tDf4lvOsl6T65AQ0EXAI6YQEIAML3Eeto1bm6
5YDUVD13naRXyHM9W9tsHzQa7vM/3W/gAWlomQuziT+lqYdCclANShrHTyAyhOlP
+MeLw1Y1BEjomzo4XqQqBL3Mg/9p0o2zvZN1/IrIpmQoOyA96MNZbyDCabUv1IKb
CQMMKlb7iW2x+90wLAlM9+M2p6cE9RKmPZ4vdoSFzqKzO5Q1E6peTxhWx8zqfuge
AIG/ZR1ajFrc7OpspAwWhcnQ9wgt8tCRdIJy589q2DfCWiWhKgdRoP1IRdJlXbgS
xPVTEE0QPYMWILKGegMcreK1iC/m2r39MZhKC+jKHRkmluM8z5tj6L/H19OMBp8l
L+0QtDfN39UAEQEAAYkBPAQYAQgAJhYhBBhiQiBKLscEOOnOO52c5DZQ/yuqBQJc
AjphAhsMBQkJZgGAAAoJEJ2c5DZQ/yuq1+4H/3POjaiqi9XefTrsF0c8Q2/Mkvao
OW1PDmdXglaPcBDAW9vi9dd6HGPR0gYES3eU9D/LzqcjR5T6OqD/72A/OVL9mDtF
LgKtyV7mJ8T6hrcTYO0MI9hnJNb7lwocFsgKGo9byxKyT6T89rpqAprawz+pAu4z
E+c1zYjP0WxUKzRNipmUem6P/go8LMuDW94nZo5I5yksmWOkZNbmQRi5G8cF4f+G
bwWOEQwH38YmjkuLYnBVeX+Qr6rcrhn1MIDrfp5Pz28hxgYDIVT2D1ei6Rx/6rXA
Tsj96Vbjy6ZEnkSLZy13j8G6lpvgCoyuXw7G2PGlj4ngKrLkuQjVXFTI8JQ=
=LYj4
-----END PGP PUBLIC KEY BLOCK-----

77
update-keys Normal file
View File

@ -0,0 +1,77 @@
#!/bin/bash
export LANG=C
TMPDIR=$(mktemp -d)
trap "rm -rf '${TMPDIR}'" EXIT
KEYSERVER='hkp://pool.sks-keyservers.net'
GPG="gpg --quiet --batch --no-tty --no-permission-warning --keyserver "${KEYSERVER}" --homedir ${TMPDIR}"
pushd "$(dirname "$0")" >/dev/null
$GPG --gen-key <<EOF
%echo Generating JerryXiao Keyring keychain master key...
Key-Type: RSA
Key-Length: 4096
Key-Usage: sign
Name-Real: JerryXiao Keyring Keychain Master Key
Name-Email: jerryxiao-keyring@localhost
Expire-Date: 0
%no-protection
%commit
%echo Done
EOF
rm -rf master packager packager-revoked jerryxiao-trusted jerryxiao-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:" >> jerryxiao-trusted
done < master-keyids
${GPG} --import-ownertrust < jerryxiao-trusted 2>/dev/null
while read -ra data; do
keyid="${data[0]}"
printf "Receive ${keyid}"
${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}
${GPG} --list-keys --with-colons ${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
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}" >> jerryxiao-revoked
else
echo "key is still fully trusted: ${keyid} ${username}"
fi
done < packager-revoked-keyids
touch jerryxiao-trusted jerryxiao-revoked
cat master/*.asc packager/*.asc packager-revoked/*.asc > jerryxiao.gpg
popd >/dev/null