[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#821870: deb822: Restore support for <multivalue>-{Add,Remove}



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 <jamessan@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


Reply to: