]> git.saurik.com Git - apt.git/commitdiff
Strip trailing commas for created signed-by fingerprint lists
authorJulian Andres Klode <jak@debian.org>
Tue, 10 May 2016 17:09:19 +0000 (19:09 +0200)
committerJulian Andres Klode <jak@debian.org>
Tue, 10 May 2016 17:09:19 +0000 (19:09 +0200)
This prevented some sources.list entries from working, an example
of which can be found in the test.

apt-pkg/deb/debmetaindex.cc
test/integration/test-signed-by-option [new file with mode: 0755]

index ead07a479437e41d5cb81b3ad25b4b4f95d5a012..aad7df735e188d23ccdbfb8494b972ac322c5f5b 100644 (file)
@@ -687,6 +687,8 @@ bool debReleaseIndex::SetSignedBy(std::string const &pSignedBy)
         std::stringstream os;
         std::copy(fingers.begin(), fingers.end(), std::ostream_iterator<std::string>(os, ","));
         SignedBy = os.str();
         std::stringstream os;
         std::copy(fingers.begin(), fingers.end(), std::ostream_iterator<std::string>(os, ","));
         SignedBy = os.str();
+        while (SignedBy[SignedBy.size() - 1] == ',')
+           SignedBy.resize(SignedBy.size() - 1);
       }
    }
    else if (SignedBy != pSignedBy)
       }
    }
    else if (SignedBy != pSignedBy)
diff --git a/test/integration/test-signed-by-option b/test/integration/test-signed-by-option
new file mode 100755 (executable)
index 0000000..4ab2e28
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+
+setupenvironment
+configarchitecture 'amd64'
+
+msgtest "Check that a repository with signed-by and two components works"
+echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386] https://people.debian.org/~jak/debian/ stable main contrib # Ã„ffchen' > rootdir/etc/apt/sources.list
+
+testsuccess --nomsg aptcache policy