Package: apt Version: 1.2.10 Severity: normal Tags: patch Redesign of multivalue options in 463c8d801595ce5ac94d7c032264820be7434232 caused the parser to look for <multivalue>{Add,Remove} (no hyphen) instead of the expected <multivalue>-{Add,Remove}.
-- Package-specific info: -- (no /etc/apt/preferences present) -- -- (no /etc/apt/sources.list present) -- -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages apt depends on: ii adduser 3.114 ii debian-archive-keyring 2014.3 ii gnupg 1.4.20-6 ii gnupg2 2.1.11-7 ii gpgv 1.4.20-6 ii init-system-helpers 1.29 ii libapt-pkg5.0 1.2.10 ii libc6 2.22-7 ii libgcc1 1:5.3.1-14 ii libstdc++6 5.3.1-14 apt recommends no packages. Versions of packages apt suggests: pn apt-doc <none> ii aptitude 0.7.8-1 ii dpkg-dev 1.18.4 ii python-apt 1.1.0~beta2 -- Configuration Files: /etc/apt/apt.conf.d/01autoremove changed [not included] -- no debconf information
>From 98eefc423a8979fb5b1ca77b78e8dc542c9d68f4 Mon Sep 17 00:00:00 2001 From: James McCoy <james...@debian.org> Date: Tue, 19 Apr 2016 22:27:21 -0400 Subject: [PATCH] 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}. --- apt-pkg/sourcelist.cc | 4 ++-- 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 82d2ed3..afbf3e6 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 fd275f9..9f761cb 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 -- 2.8.1