]> git.saurik.com Git - apt.git/commitdiff
merged net-update fixes from apt--mvo
authorMichael Vogt <michael.vogt@ubuntu.com>
Wed, 13 Feb 2008 14:44:01 +0000 (15:44 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Wed, 13 Feb 2008 14:44:01 +0000 (15:44 +0100)
1  2 
cmdline/apt-key

diff --combined cmdline/apt-key
index 533193901d80499e721c114d7d05c6bc079a6f01,b65c01f7199fc1483e70ee9cbf8eace866cb4289..e0c4b5e4854d505b0ea06584415785908e420a56
@@@ -9,10 -9,13 +9,10 @@@ GPG_CMD="gpg --ignore-time-conflict --n
  GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg"
  
  
 -MASTER_KEYRING=""
 -ARCHIVE_KEYRING_URI=""
 -#MASTER_KEYRING=/usr/share/keyrings/debian-master-keyring.gpg
 -#ARCHIVE_KEYRING_URI=http://ftp.debian.org/debian/debian-archive-keyring.gpg
 -
 -ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
 -REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg
 +MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg
 +ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg
 +REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
 +ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/ubuntu-archive-keyring.gpg
  
  add_keys_with_verify_against_master_keyring() {
      ADD_KEYRING=$1
@@@ -58,14 -61,25 +58,25 @@@ net_update() 
      if [ ! -d /var/lib/apt/keyrings ]; then
        mkdir -p /var/lib/apt/keyrings
      fi
+     keyring=/var/lib/apt/keyrings/$(basename $ARCHIVE_KEYRING)
+     old_mtime=0
+     if [ -e $keyring ]; then
+       old_mtime=$(stat -c %Y $keyring)
+     fi
      (cd  /var/lib/apt/keyrings; wget -q -N $ARCHIVE_KEYRING_URI)
-     add_keys_with_verify_against_master_keyring /var/lib/apt/keyrings/$(basename $ARCHIVE_KEYRING) $MASTER_KEYRING
+     if [ ! -e $keyring ]; then
+       return
+     fi
+     new_mtime=$(stat -c %Y $keyring)
+     if [ $new_mtime -ne $old_mtime ]; then
+       add_keys_with_verify_against_master_keyring $keyring $MASTER_KEYRING
+     fi
  }
  
  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 ubuntu-keyring package installed?"
        exit 1
      fi