From 5b2c6ddcc0e45c92c544032ad2bb91bdf7222d7c Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 30 Nov 2013 23:11:43 +0100 Subject: [PATCH] generate apt-key script with vendor info about keys MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The apt-key script uses quiet a few keyring files for operation which are specific to the distribution it is build on and is hence one of the most patched parts – even if it is not that often used anymore now that a fragment directory for trusted.gpg exists. --- .gitignore | 1 + cmdline/{apt-key => apt-key.in} | 10 +++++----- cmdline/makefile | 8 ++++++++ vendor/debian/apt-vendor.ent | 2 ++ vendor/getinfo | 2 +- vendor/ubuntu/apt-vendor.ent | 2 ++ 6 files changed, 19 insertions(+), 6 deletions(-) rename cmdline/{apt-key => apt-key.in} (97%) mode change 100755 => 100644 diff --git a/.gitignore b/.gitignore index 76b24f9c5..321b15471 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ /debian/apt-transport-https/ # generated from *.in files +/cmdline/apt-key /doc/apt-vendor.ent /doc/examples/sources.list /debian/libapt-pkg*.install diff --git a/cmdline/apt-key b/cmdline/apt-key.in old mode 100755 new mode 100644 similarity index 97% rename from cmdline/apt-key rename to cmdline/apt-key.in index 64cf5a6f4..779872b4c --- a/cmdline/apt-key +++ b/cmdline/apt-key.in @@ -25,13 +25,13 @@ GPG_CMD="$GPG_CMD --no-auto-check-trustdb --trust-model always" GPG="$GPG_CMD" -MASTER_KEYRING='' +MASTER_KEYRING='&keyring-master-filename;' eval $(apt-config shell MASTER_KEYRING APT::Key::MasterKeyring) -ARCHIVE_KEYRING='/usr/share/keyrings/debian-archive-keyring.gpg' +ARCHIVE_KEYRING='&keyring-filename;' eval $(apt-config shell ARCHIVE_KEYRING APT::Key::ArchiveKeyring) -REMOVED_KEYS='/usr/share/keyrings/debian-archive-removed-keys.gpg' +REMOVED_KEYS='&keyring-removed-filename;' eval $(apt-config shell REMOVED_KEYS APT::Key::RemovedKeys) -ARCHIVE_KEYRING_URI='' +ARCHIVE_KEYRING_URI='&keyring-uri;' eval $(apt-config shell ARCHIVE_KEYRING_URI APT::Key::ArchiveKeyringURI) TMP_KEYRING=/var/lib/apt/keyrings/maybe-import-keyring.gpg @@ -142,7 +142,7 @@ net_update() { update() { if [ ! -f $ARCHIVE_KEYRING ]; then echo >&2 "ERROR: Can't find the archive-keyring" - echo >&2 "Is the debian-archive-keyring package installed?" + echo >&2 "Is the &keyring-package; package installed?" exit 1 fi requires_root diff --git a/cmdline/makefile b/cmdline/makefile index e77ad5669..06f170b6a 100644 --- a/cmdline/makefile +++ b/cmdline/makefile @@ -41,6 +41,14 @@ SOURCE = apt-cdrom.cc include $(PROGRAM_H) # The apt-key program +apt-key: apt-key.in + sed -e "s#&keyring-filename;#$(shell ../vendor/getinfo keyring-filename)#" \ + -e "s#&keyring-removed-filename;#$(shell ../vendor/getinfo keyring-removed-filename)#" \ + -e "s#&keyring-master-filename;#$(shell ../vendor/getinfo keyring-master-filename)#" \ + -e "s#&keyring-uri;#$(shell ../vendor/getinfo keyring-uri)#" \ + -e "s#&keyring-package;#$(shell ../vendor/getinfo keyring-package)#" $< > $@ + chmod 755 $@ + SOURCE=apt-key TO=$(BIN) TARGET=program diff --git a/vendor/debian/apt-vendor.ent b/vendor/debian/apt-vendor.ent index 56775bbaa..6cda5995c 100644 --- a/vendor/debian/apt-vendor.ent +++ b/vendor/debian/apt-vendor.ent @@ -3,3 +3,5 @@ debian-archive-keyring"> /usr/share/keyrings/debian-archive-keyring.gpg"> /usr/share/keyrings/debian-archive-removed-keys.gpg"> + + diff --git a/vendor/getinfo b/vendor/getinfo index df5a44e5c..ac816e10e 100755 --- a/vendor/getinfo +++ b/vendor/getinfo @@ -26,7 +26,7 @@ debian-stable-codename) ubuntu-codename) getrawfield 'stable-codename' "${BASEDIR}/../doc/apt-verbatim.ent" ;; -keyring-package) +keyring-package|keyring-filename|keyring-master-filename|keyring-removed-filename|keyring-uri) getfield "$1" ;; *) diff --git a/vendor/ubuntu/apt-vendor.ent b/vendor/ubuntu/apt-vendor.ent index fd5e5a7cf..caa532699 100644 --- a/vendor/ubuntu/apt-vendor.ent +++ b/vendor/ubuntu/apt-vendor.ent @@ -3,3 +3,5 @@ ubuntu-keyring"> /usr/share/keyrings/ubuntu-archive-keyring.gpg"> /usr/share/keyrings/ubuntu-archive-removed-keys.gpg"> + + -- 2.50.0