diff options
author | James McCoy <jamessan@debian.org> | 2016-04-19 22:27:21 -0400 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-05-10 20:53:16 +0200 |
commit | bddb663c5d46072c1dbd72a69c1745d598e9c0eb (patch) | |
tree | 2fe63b2ff5792414549e4bedb8c34b130f6e2e19 | |
parent | e4848fe0e8f124eb8221cd947e7564b25a1f6539 (diff) |
deb822: Restore support for <multivalue>-{Add,Remove}
Redesign of multivalue options in 463c8d801595ce5ac94d7c032264820be7434232
caused the parser to look for <multivalue>{Add,Remove} (no hyphen)
instead of the expected <multivalue>-{Add,Remove}.
(cherry picked from commit f5585106d61b381c9dcf8f1dd48c742dc68f6c81)
-rw-r--r-- | apt-pkg/sourcelist.cc | 4 | ||||
-rwxr-xr-x | test/integration/test-apt-sources-deb822 | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 82d2ed3c6..afbf3e665 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -98,8 +98,8 @@ bool pkgSourceList::Type::ParseStanza(vector<metaIndex *> &List, /*{{{*/ std::map<char const * const, std::pair<char const * const, bool> > mapping; #define APT_PLUSMINUS(X, Y) \ mapping.insert(std::make_pair(X, std::make_pair(Y, true))); \ - mapping.insert(std::make_pair(X "Add", std::make_pair(Y "+", true))); \ - mapping.insert(std::make_pair(X "Remove", std::make_pair(Y "-", true))) + mapping.insert(std::make_pair(X "-Add", std::make_pair(Y "+", true))); \ + mapping.insert(std::make_pair(X "-Remove", std::make_pair(Y "-", true))) APT_PLUSMINUS("Architectures", "arch"); APT_PLUSMINUS("Languages", "lang"); APT_PLUSMINUS("Targets", "target"); diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822 index fd275f978..9f761cb1c 100755 --- a/test/integration/test-apt-sources-deb822 +++ b/test/integration/test-apt-sources-deb822 @@ -189,3 +189,13 @@ EOF testsuccessequal --nomsg "'http://emacs.naquadah.org/stable/InRelease' emacs.naquadah.org_stable_InRelease 0 'http://emacs.naquadah.org/stable/Packages.xz' emacs.naquadah.org_stable_Packages 0 'http://emacs.naquadah.org/stable/en.xz' emacs.naquadah.org_stable_en 0 " aptget update --print-uris + +# multivalue -Add/-Remove +msgcleantest 'Test deb822 sources.list file which has' '-Add/-Remove multivalues' +echo "$BASE" > $SOURCES +echo "Languages-Remove: en" >> $SOURCES +echo "Architectures-Add: armel" >> $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-armel/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-armel_Packages 0 " aptget update --print-uris |