From: Michael Vogt <mvo@debian.org>
Date: Mon, 20 Jan 2014 06:59:11 +0000 (+0100)
Subject: add support for Enabled: no in deb822 sources.list
X-Git-Tag: 0.9.14.3.exp4~5
X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/7dd62ea93413a73b4ec394b16ff4e0367d226395

add support for Enabled: no in deb822 sources.list
---

diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc
index 4e580ba04..5d41fb00e 100644
--- a/apt-pkg/sourcelist.cc
+++ b/apt-pkg/sourcelist.cc
@@ -84,6 +84,10 @@ bool pkgSourceList::Type::ParseStanza(vector<metaIndex *> &List,
       _error->Error(_("Malformed stanza %u in source list %s (URI parse)"),i,Fd.Name().c_str());
       return false;
    }
+
+   string Enabled = Tags.FindS("Enabled");
+   if (Enabled.size() > 0 && StringToBool(Enabled) == false)
+      return true;
    
    // Define external/internal options
    const char* option_deb822[] = { 
diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml
index b2b682292..a2f6e985e 100644
--- a/doc/sources.list.5.xml
+++ b/doc/sources.list.5.xml
@@ -85,7 +85,7 @@
    <literallayout>
      Type: deb
      URI: http://example.com
-     Suites: stable
+     Suites: stable testing
      Sections: component1 component2
      Description: short
       long long long
@@ -95,9 +95,10 @@
      URI: http://example.com
      Suites: stable
      Sections: component1 component2
-     [option1]: [option1-value]
+     Enabled: no
      Description: short
       long long long
+     [option1]: [option1-value]
    </literallayout>
    </para>
 
diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822
index 34708d2d1..f461314e6 100755
--- a/test/integration/test-apt-sources-deb822
+++ b/test/integration/test-apt-sources-deb822
@@ -75,3 +75,7 @@ Suites: stable
 testequalwithmsg "Invalid deb822 sources.list file gives proper error" "E: Malformed stanza 0 in source list $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list (URI parse)
 E: The list of sources could not be read."  aptget update --print-uris
 
+# with Enabled: false
+echo "$BASE"  > $SOURCES
+echo "Enabled: no" >> $SOURCES
+testempty aptget update --print-uris