diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-02 16:55:43 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-02 16:55:43 +0200 |
| commit | 0d622864bf45b2826335b3be31330829f43db7cd (patch) | |
| tree | 96578b8054647465b00eda526b4a5f3ca58523d8 | |
| parent | 96476d01e881f52d53a70f1ae700594a0f321056 (diff) | |
| download | python-apt-0d622864bf45b2826335b3be31330829f43db7cd.tar.gz | |
merged patch from Samuel Lidén Borell to fix crash if there utf8
in the control file (LP: #624290) and add test
| -rw-r--r-- | apt/debfile.py | 2 | ||||
| -rw-r--r-- | debian/changelog | 2 | ||||
| -rw-r--r-- | tests/data/test_debs/utf8-package_1.0-1_all.deb | bin | 0 -> 1150 bytes | |||
| -rw-r--r-- | tests/test_debfile.py | 7 |
4 files changed, 10 insertions, 1 deletions
diff --git a/apt/debfile.py b/apt/debfile.py index 73f7d88e..1e7a66cc 100644 --- a/apt/debfile.py +++ b/apt/debfile.py @@ -66,7 +66,7 @@ class DebPackage(object): self._debfile = apt_inst.DebFile(open(self.filename)) control = self._debfile.control.extractdata("control") # hm, 'replace' is probably better but python2.6 test fail with that - self._sections = apt_pkg.TagSection(control.decode("UTF-8", 'ignore')) + self._sections = apt_pkg.TagSection(control) self.pkgname = self._sections["Package"] def __getitem__(self, key): diff --git a/debian/changelog b/debian/changelog index 7fd04b41..d23bd54a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,8 @@ python-apt (0.7.97) UNRELEASED; urgency=low * add "provides" property to the apt.Version objects * apt/debfile.py: - fix error when reading binary content and add regresion test + * merged patch from Samuel Lidén Borell to fix crash if there utf8 + in the control file (LP: #624290) and add test -- Julian Andres Klode <jak@debian.org> Fri, 23 Jul 2010 16:14:39 +0200 diff --git a/tests/data/test_debs/utf8-package_1.0-1_all.deb b/tests/data/test_debs/utf8-package_1.0-1_all.deb Binary files differnew file mode 100644 index 00000000..e0339c2e --- /dev/null +++ b/tests/data/test_debs/utf8-package_1.0-1_all.deb diff --git a/tests/test_debfile.py b/tests/test_debfile.py index 42cda6f6..571c2ec9 100644 --- a/tests/test_debfile.py +++ b/tests/test_debfile.py @@ -1,4 +1,5 @@ #!/usr/bin/python +# -*- coding: utf-8 -*- # # Copyright (C) 2010 Michael Vogt <mvo@ubuntu.com> # @@ -77,6 +78,12 @@ class TestDebfilee(unittest.TestCase): "Unexpected result for package '%s' (got %s wanted %s)\n%s" % ( filename, res, expected_res, deb._failure_string)) + def test_utf8_sections(self): + deb = apt.debfile.DebPackage(cache=self.cache) + deb.open(os.path.join("data","test_debs","utf8-package_1.0-1_all.deb")) + self.assertEqual(deb["Maintainer"], + "Samuel Lidén Borell <samuel@slbdata.se>") + def testContent(self): # normal deb = apt.debfile.DebPackage(cache=self.cache) |
