summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-09-02 18:09:02 +0200
committerMichael Vogt <mvo@ubuntu.com>2014-09-02 18:11:01 +0200
commitcee43f7e7dfa588385deea06101e93e85886f1db (patch)
tree1b43f6e51d30c5976743a553ab3c18d46d1272b4
parent578b3317af12be7c5ecedd8240c09a3d513fa382 (diff)
downloadpython-apt-cee43f7e7dfa588385deea06101e93e85886f1db.tar.gz
Stop reading after the "Format" stanza in a .dsc file
This makes the tagfile parser skip the last gpg signature part that also contains a "Version:" line.
-rw-r--r--apt/debfile.py3
-rw-r--r--tests/test_debfile.py1
2 files changed, 4 insertions, 0 deletions
diff --git a/apt/debfile.py b/apt/debfile.py
index 2c95bdf1..9d9b2695 100644
--- a/apt/debfile.py
+++ b/apt/debfile.py
@@ -726,6 +726,9 @@ class DscSrcPackage(DebPackage):
self.binaries = sec['Binary'].split(', ')
if 'Version' in sec:
self._sections['Version'] = sec['Version']
+ # we are done
+ if 'Format' in sec:
+ break
finally:
del tagfile
fobj.close()
diff --git a/tests/test_debfile.py b/tests/test_debfile.py
index 21255517..b27e6567 100644
--- a/tests/test_debfile.py
+++ b/tests/test_debfile.py
@@ -73,6 +73,7 @@ class TestDebfile(unittest.TestCase):
deb = apt.debfile.DscSrcPackage(cache=self.cache)
deb.open(os.path.join("data", "test_debs", filename))
self.assertFalse(deb.check())
+ self.assertEqual(deb["Version"], "2.5-1")
def testDebFile(self):
deb = apt.debfile.DebPackage(cache=self.cache)