summaryrefslogtreecommitdiffstats
path: root/t/dm-vs-dd.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:19:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:19:41 +0000
commita27c8b00ebf173659f22f53ce65679e94e7dfb1b (patch)
tree02c68ec259348b63c6328896aa73265eb7b3d730 /t/dm-vs-dd.t
parentInitial commit. (diff)
downloaddebian-keyring-a27c8b00ebf173659f22f53ce65679e94e7dfb1b.tar.xz
debian-keyring-a27c8b00ebf173659f22f53ce65679e94e7dfb1b.zip
Adding upstream version 2022.12.24.upstream/2022.12.24upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/dm-vs-dd.t')
-rwxr-xr-xt/dm-vs-dd.t47
1 files changed, 47 insertions, 0 deletions
diff --git a/t/dm-vs-dd.t b/t/dm-vs-dd.t
new file mode 100755
index 0000000..6b1a99c
--- /dev/null
+++ b/t/dm-vs-dd.t
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Compares the DM keyring with the DD keyring. If the same name or email is
+# in both keyrings, that's an error.
+set -e
+
+list_uids () {
+ gpg --no-options --no-auto-check-trustdb --no-default-keyring \
+ --keyring "$1" --list-keys | grep -a '^uid' | sed 's/^uid *//' |
+ egrep -a -v '\[jpeg image of size .*\]'
+}
+
+list_names () {
+ sed 's/ <.*>//'
+}
+
+list_emails () {
+ sed 's/.* <\(.*\)>/\1/'
+}
+
+fail=0
+
+dd_uids=$(list_uids ./output/keyrings/debian-keyring.gpg)
+(
+ echo "$dd_uids" | list_emails
+ echo "$dd_uids" | list_names
+ echo "$dd_uids"
+) | sort | uniq > dd-list.tmp
+
+IFS="
+"
+for uid in $(list_uids ./output/keyrings/debian-maintainers.gpg | sort | uniq); do
+ name=$(echo "$uid" | list_names)
+ email=$(echo "$uid" | list_emails)
+ if grep -a -q "^$uid$" dd-list.tmp; then
+ echo "$uid is in both the DD and DM keyrings"
+ fail=1
+ elif grep -a "^$name$" dd-list.tmp; then
+ echo "warning: name $name is in both the DD and DM keyrings"
+ elif grep -a "^$email$" dd-list.tmp; then
+ echo "email $email is in both the DD and DM keyrings"
+ fail=1
+ fi
+done
+
+rm -f dd-list.tmp
+
+exit $fail