From cee43f7e7dfa588385deea06101e93e85886f1db Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 2 Sep 2014 18:09:02 +0200 Subject: 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. --- apt/debfile.py | 3 +++ tests/test_debfile.py | 1 + 2 files changed, 4 insertions(+) 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) -- cgit v1.2.3