From 30505be641ba127ef66b84619fc8a7dc9d7350f2 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 10 Aug 2010 11:07:06 +0200 Subject: * python/acquire.cc: - return long long when calling TotalNeeded(), FetchNeeded() and PartialPresent() from pkgAcquire(). This follows the change in libapt. --- debian/changelog | 4 ++++ python/acquire.cc | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3906c485..761742ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,10 @@ python-apt (0.7.97) UNRELEASED; urgency=low - add binding for the "dump()" method to configruation objects * apt/debfile.py: - fix crash in DscFile handling and add regression test + * python/acquire.cc: + - return long long when calling TotalNeeded(), FetchNeeded() and + PartialPresent() from pkgAcquire(). This follows the change + in libapt. -- Julian Andres Klode Fri, 23 Jul 2010 16:14:39 +0200 diff --git a/python/acquire.cc b/python/acquire.cc index 6f9a1412..ab90bbdd 100644 --- a/python/acquire.cc +++ b/python/acquire.cc @@ -259,15 +259,15 @@ static PyMethodDef PkgAcquireMethods[] = { #define fetcher (GetCpp(Self)) static PyObject *PkgAcquireGetTotalNeeded(PyObject *Self,void*) { - return Py_BuildValue("d", fetcher->TotalNeeded()); + return Py_BuildValue("L", fetcher->TotalNeeded()); } static PyObject *PkgAcquireGetFetchNeeded(PyObject *Self,void*) { - return Py_BuildValue("d", fetcher->FetchNeeded()); + return Py_BuildValue("L", fetcher->FetchNeeded()); } static PyObject *PkgAcquireGetPartialPresent(PyObject *Self,void*) { - return Py_BuildValue("d", fetcher->PartialPresent()); + return Py_BuildValue("L", fetcher->PartialPresent()); } #undef fetcher -- cgit v1.2.3 From 1ce91d4909f2678430715163a76e9416ddb8a616 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 27 Aug 2010 14:33:55 +0200 Subject: python/cache.cc: doc update for provides_list --- python/cache.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python/cache.cc b/python/cache.cc index e31f6a65..b153d1f2 100644 --- a/python/cache.cc +++ b/python/cache.cc @@ -573,9 +573,8 @@ static PyGetSetDef PackageGetSet[] = { {"rev_depends_list",PackageGetRevDependsList,0, "An apt_pkg.DependencyList object of all reverse dependencies."}, {"provides_list",PackageGetProvidesList,0, - "A list of all packages providing this package. The list contains\n" - "tuples in the format (providesname, providesver, version)\n" - "where 'version' is an apt_pkg.Version object."}, + "Ignore it, it does nothing. You want to use\n" + "apt_pkg.Version.provides_list instead."}, {"selected_state",PackageGetSelectedState,0, "The state of the selection, which can be compared against the constants\n" "SELSTATE_DEINSTALL, SELSTATE_HOLD, SELSTATE_INSTALL, SELSTATE_PURGE,\n" -- cgit v1.2.3 From 6d564eafe80ebe60c91587dd1bb70a666b70485d Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 27 Aug 2010 15:01:44 +0200 Subject: python/cache.cc: improve documentation --- python/cache.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/python/cache.cc b/python/cache.cc index b153d1f2..e87d73d4 100644 --- a/python/cache.cc +++ b/python/cache.cc @@ -978,8 +978,9 @@ static PyGetSetDef VersionGetSet[] = { {"priority_str",VersionGetPriorityStr,0, "The priority of the package, as a string."}, {"provides_list",VersionGetProvidesList,0, - "A list of all packages provided by this version. See\n" - "Package.provides_list for a description of the format."}, + "A list of all packages provided by this version. The list contains\n" + "tuples in the format (providesname, providesver, version)\n" + "where 'version' is an apt_pkg.Version object."}, {"section",VersionGetSection,0, "The section of this package version."}, {"size",VersionGetSize,0, -- cgit v1.2.3 From 980c1cbd0d883c9e429aaa64633680456a0a776d Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 27 Aug 2010 15:06:54 +0200 Subject: add "provides" property to the apt.Version objects --- apt/package.py | 5 +++++ debian/changelog | 1 + tests/test_apt_cache.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/apt/package.py b/apt/package.py index 228a3385..871c1e16 100644 --- a/apt/package.py +++ b/apt/package.py @@ -414,6 +414,11 @@ class Version(object): pass return depends_list + @property + def provides(self): + """ Return a list of names that this version provides.""" + return [p[0] for p in self._cand.provides_list] + @property def enhances(self): """Return the list of enhances for the package version.""" diff --git a/debian/changelog b/debian/changelog index 761742ca..9478bf89 100644 --- a/debian/changelog +++ b/debian/changelog @@ -21,6 +21,7 @@ python-apt (0.7.97) UNRELEASED; urgency=low - return long long when calling TotalNeeded(), FetchNeeded() and PartialPresent() from pkgAcquire(). This follows the change in libapt. + * add "provides" property to the apt.Version objects -- Julian Andres Klode Fri, 23 Jul 2010 16:14:39 +0200 diff --git a/tests/test_apt_cache.py b/tests/test_apt_cache.py index a43e92d2..2ace0201 100644 --- a/tests/test_apt_cache.py +++ b/tests/test_apt_cache.py @@ -1,6 +1,7 @@ #!/usr/bin/python # # Copyright (C) 2010 Julian Andres Klode +# 2010 Michael Vogt # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -50,6 +51,7 @@ class TestAptCache(unittest.TestCase): # a true virtual pkg l = cache.get_providing_packages("mail-transport-agent") self.assertTrue(len(l) > 0) + self.assertTrue("postfix" in [p.name for p in l]) # this is a not virtual (transitional) package provided by another l = cache.get_providing_packages("scrollkeeper") self.assertEqual(l, []) @@ -58,6 +60,7 @@ class TestAptCache(unittest.TestCase): l = cache.get_providing_packages("scrollkeeper", include_nonvirtual=True) self.assertTrue(len(l), 1) + self.assertTrue("mail-transport-agent" in cache["postfix"].candidate.provides) def test_dpkg_journal_dirty(self): -- cgit v1.2.3 From aaaa4e322280c780711f4242ed3d01c9e9d28af6 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 31 Aug 2010 14:40:22 +0200 Subject: add content reading test --- tests/data/test_debs/gdebi-test11.deb | Bin 0 -> 634 bytes tests/test_debfile.py | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 tests/data/test_debs/gdebi-test11.deb diff --git a/tests/data/test_debs/gdebi-test11.deb b/tests/data/test_debs/gdebi-test11.deb new file mode 100644 index 00000000..af9b441f Binary files /dev/null and b/tests/data/test_debs/gdebi-test11.deb differ diff --git a/tests/test_debfile.py b/tests/test_debfile.py index 5874dfc4..04a5e0b3 100644 --- a/tests/test_debfile.py +++ b/tests/test_debfile.py @@ -77,6 +77,12 @@ class TestDebfilee(unittest.TestCase): "Unexpected result for package '%s' (got %s wanted %s)\n%s" % ( filename, res, expected_res, deb._failure_string)) + def testContent(self): + deb = apt.debfile.DebPackage(cache=self.cache) + deb.open(os.path.join("data", "test_debs", "gdebi-test11.deb")) + self.assertEqual('#!/bin/sh\necho "test"\n', + deb.data_content("usr/bin/test")) + if __name__ == "__main__": #logging.basicConfig(level=logging.DEBUG) unittest.main() -- cgit v1.2.3 From 306d93a0257ddb2442d03df05952ce5bacbc5802 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 31 Aug 2010 15:12:54 +0200 Subject: tests/test_debfile.py: add test for binary reading --- tests/data/test_debs/gdebi-test12.deb | Bin 0 -> 966 bytes tests/test_debfile.py | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 tests/data/test_debs/gdebi-test12.deb diff --git a/tests/data/test_debs/gdebi-test12.deb b/tests/data/test_debs/gdebi-test12.deb new file mode 100644 index 00000000..36544cc7 Binary files /dev/null and b/tests/data/test_debs/gdebi-test12.deb differ diff --git a/tests/test_debfile.py b/tests/test_debfile.py index 04a5e0b3..72b9100c 100644 --- a/tests/test_debfile.py +++ b/tests/test_debfile.py @@ -78,10 +78,16 @@ class TestDebfilee(unittest.TestCase): filename, res, expected_res, deb._failure_string)) def testContent(self): + # normal deb = apt.debfile.DebPackage(cache=self.cache) deb.open(os.path.join("data", "test_debs", "gdebi-test11.deb")) self.assertEqual('#!/bin/sh\necho "test"\n', deb.data_content("usr/bin/test")) + # binary + deb = apt.debfile.DebPackage(cache=self.cache) + deb.open(os.path.join("data", "test_debs", "gdebi-test12.deb")) + self.assertEqual('#!/bin/sh\necho "test"\n', + deb.data_content("usr/bin/binary")) if __name__ == "__main__": #logging.basicConfig(level=logging.DEBUG) -- cgit v1.2.3 From 96476d01e881f52d53a70f1ae700594a0f321056 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 31 Aug 2010 15:18:42 +0200 Subject: * apt/debfile.py: - fix error when reading binary content and add regresion test --- apt/debfile.py | 4 ++-- debian/changelog | 2 ++ tests/test_debfile.py | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apt/debfile.py b/apt/debfile.py index 33f0f04d..73f7d88e 100644 --- a/apt/debfile.py +++ b/apt/debfile.py @@ -512,7 +512,7 @@ class DebPackage(object): return sorted(content) @staticmethod - def to_hex(self, in_data): + def to_hex(in_data): hex = "" for (i, c) in enumerate(in_data): if i%80 == 0: @@ -521,7 +521,7 @@ class DebPackage(object): return hex @staticmethod - def to_strish(self, in_data): + def to_strish(in_data): s = "" for c in in_data: if ord(c) < 10 or ord(c) > 127: diff --git a/debian/changelog b/debian/changelog index 9478bf89..7fd04b41 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,8 @@ python-apt (0.7.97) UNRELEASED; urgency=low PartialPresent() from pkgAcquire(). This follows the change in libapt. * add "provides" property to the apt.Version objects + * apt/debfile.py: + - fix error when reading binary content and add regresion test -- Julian Andres Klode Fri, 23 Jul 2010 16:14:39 +0200 diff --git a/tests/test_debfile.py b/tests/test_debfile.py index 72b9100c..42cda6f6 100644 --- a/tests/test_debfile.py +++ b/tests/test_debfile.py @@ -86,8 +86,9 @@ class TestDebfilee(unittest.TestCase): # binary deb = apt.debfile.DebPackage(cache=self.cache) deb.open(os.path.join("data", "test_debs", "gdebi-test12.deb")) - self.assertEqual('#!/bin/sh\necho "test"\n', - deb.data_content("usr/bin/binary")) + content = deb.data_content("usr/bin/binary") + self.assertTrue(content.startswith("Automatically converted to printable ascii:\n\x7fELF ")) + if __name__ == "__main__": #logging.basicConfig(level=logging.DEBUG) -- cgit v1.2.3