summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-07-16 14:21:51 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-07-16 14:21:51 +0200
commit285feb3cedca3cccff971155099adef8d902223d (patch)
tree87c97ee27b2586a7e82b5c0f938d687df5fa67a9
parent0df8c3dccbda739af6e20999fb208ada0619ad80 (diff)
* cmdline/apt-key:
- use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596) * debian/apt.postinst: - remove /etc/apt/secring.gpg if it is an empty file
-rwxr-xr-xcmdline/apt-key5
-rw-r--r--debian/apt.postinst5
-rw-r--r--debian/changelog6
3 files changed, 14 insertions, 2 deletions
diff --git a/cmdline/apt-key b/cmdline/apt-key
index 843163f82..8a995dadd 100755
--- a/cmdline/apt-key
+++ b/cmdline/apt-key
@@ -5,9 +5,12 @@ unset GREP_OPTIONS
# We don't use a secret keyring, of course, but gpg panics and
# implodes if there isn't one available
-GPG_CMD='gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg'
+SECRETKEYRING="$(mktemp)"
+trap "rm -f '${SECRETKEYRING}'" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring '${SECRETKEYRING}'"
if [ "$(id -u)" -eq 0 ]; then
+ # we could use a tmpfile here too, but creation of this tends to be time-consuming
GPG_CMD="$GPG_CMD --trustdb-name /etc/apt/trustdb.gpg"
fi
diff --git a/debian/apt.postinst b/debian/apt.postinst
index cc0d8b1fe..4d87c4e25 100644
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -15,6 +15,11 @@ set -e
case "$1" in
configure)
+ SECRING='/etc/apt/secring.gpg'
+ # test if secring is an empty normal file
+ if test -f $SECRING -a ! -s $SECRING; then
+ rm -f $SECRING
+ fi
apt-key update
;;
diff --git a/debian/changelog b/debian/changelog
index 2e22e64d8..914c53801 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -21,8 +21,12 @@ apt (0.8.15.3) UNRELEASED; urgency=low
- use CndSet in pkgInitConfig (Closes: #629617)
* apt-pkg/depcache.cc:
- change default of APT::AutoRemove::SuggestsImportant to true
+ * cmdline/apt-key:
+ - use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596)
+ * debian/apt.postinst:
+ - remove /etc/apt/secring.gpg if it is an empty file
- -- David Kalnischkies <kalnischkies@gmail.com> Fri, 15 Jul 2011 09:29:37 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com> Sat, 16 Jul 2011 14:19:51 +0200
apt (0.8.15.2) unstable; urgency=high