summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-12-14 12:32:53 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-12-14 12:32:53 +0100
commit4df62de6ea49c29eada5e58764378da1b0ec8648 (patch)
treec0504fa27eee6cea28aee8edb8d33c52fb527249
parentc8e5d01add32db96106241794de38bd7d7d26990 (diff)
* apt-pkg/aptconfiguration.cc:
- parse dpkg --print-foreign-architectures correctly in case archs are separated by newline instead of space, too.
-rw-r--r--apt-pkg/aptconfiguration.cc2
-rw-r--r--debian/changelog5
-rwxr-xr-xtest/integration/test-bug-612958-use-dpkg-multiarch-config18
3 files changed, 23 insertions, 2 deletions
diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc
index bc385b2dc..cc77eea6f 100644
--- a/apt-pkg/aptconfiguration.cc
+++ b/apt-pkg/aptconfiguration.cc
@@ -335,7 +335,7 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache
FILE *dpkg = popen(dpkgcall.c_str(), "r");
char buf[1024];
if(dpkg != NULL) {
- if (fgets(buf, sizeof(buf), dpkg) != NULL) {
+ while (fgets(buf, sizeof(buf), dpkg) != NULL) {
char* arch = strtok(buf, " ");
while (arch != NULL) {
for (; isspace(*arch) != 0; ++arch);
diff --git a/debian/changelog b/debian/changelog
index 1dffe9c25..277c1d961 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,13 +5,16 @@ apt (0.8.15.10) UNRELEASEDunstable; urgency=low
- show a debug why a package was kept by ResolveByKeep()
* doc/manpage-style.xml:
- put <brackets> around email addresses
+ * apt-pkg/aptconfiguration.cc:
+ - parse dpkg --print-foreign-architectures correctly in
+ case archs are separated by newline instead of space, too.
[ Chris Leick ]
* German manpage translation update
* doc/*.xml:
- find and fix a bunch of misspellings
- -- David Kalnischkies <kalnischkies@gmail.com> Sun, 20 Nov 2011 18:02:08 +0100
+ -- David Kalnischkies <kalnischkies@gmail.com> Wed, 14 Dec 2011 12:32:37 +0100
apt (0.8.15.9) unstable; urgency=low
diff --git a/test/integration/test-bug-612958-use-dpkg-multiarch-config b/test/integration/test-bug-612958-use-dpkg-multiarch-config
index 4f31c3953..18b964636 100755
--- a/test/integration/test-bug-612958-use-dpkg-multiarch-config
+++ b/test/integration/test-bug-612958-use-dpkg-multiarch-config
@@ -56,4 +56,22 @@ testfail 'dpkg config' 'armel'
echo '#! /bin/sh
echo "amd64 armel"' > ./dpkg-printer
+testpass 'dpkg config' 'i386'
+testpass 'dpkg config' 'amd64'
+testpass 'dpkg config' 'armel'
+
+echo '#! /bin/sh
+echo "amd64
+armel"' > ./dpkg-printer
+
+testpass 'dpkg config' 'i386'
+testpass 'dpkg config' 'amd64'
testpass 'dpkg config' 'armel'
+
+echo '#! /bin/sh
+echo "amd64
+i386"' > ./dpkg-printer
+
+testpass 'dpkg config' 'i386'
+testpass 'dpkg config' 'amd64'
+testfail 'dpkg config' 'armel'