[python-debian/master] bugfix: avoid setting version:None eagerly in deps
Stefano Zacchiroli
zack at upsilon.cc
Sat Jun 21 07:38:26 UTC 2008
Thus far, due to a copy&paste error in a dictionary label, non
architecture-specific relations always got version set to None (instead
of getting _architecture_ set to None).
Update the test case accordingly.
---
debian_bundle/deb822.py | 2 +-
tests/test_Packages | 17 +++++++
tests/test_deb822.py | 107 ++++++++++++++++++++++++++---------------------
3 files changed, 77 insertions(+), 49 deletions(-)
diff --git a/debian_bundle/deb822.py b/debian_bundle/deb822.py
index d67dcb8..5590481 100644
--- a/debian_bundle/deb822.py
+++ b/debian_bundle/deb822.py
@@ -435,7 +435,7 @@ class PkgRelation(object):
else:
d['version'] = None
if parts['archs'] is None:
- d['version'] = None
+ d['arch'] = None
else:
d['arch'] = parse_archs(parts['archs'])
return d
diff --git a/tests/test_Packages b/tests/test_Packages
index 384e90e..6cbee8b 100644
--- a/tests/test_Packages
+++ b/tests/test_Packages
@@ -60,3 +60,20 @@ Description: interactive file transfers over ssh
Homepage: http://zssh.sourceforge.net/
Tag: hardware::modem, interface::commandline, protocol::ssh, role::program, scope::utility, uitoolkit::ncurses, use::downloading
+Package: dummy-package
+Priority: optional
+Section: net
+Installed-Size: 42
+Maintainer: Stefano Zacchiroli <zack at debian.org>
+Architecture: i386
+Version: 1.0
+Depends: dcoprss (>= 4:3.5.9-2), kdenetwork-kfile-plugins (>= 4:3.5.9-2), kdict (>= 4:3.5.9-2), kdnssd (>= 4:3.5.9-2), kget (>= 4:3.5.9-2), knewsticker (>= 4:3.5.9-2), kopete (>= 4:3.5.9-2), kpf (>= 4:3.5.9-2), kppp (>= 4:3.5.9-2), krdc (>= 4:3.5.9-2), krfb (>= 4:3.5.9-2), ksirc (>= 4:3.5.9-2), kwifimanager (>= 4:3.5.9-2), librss1 (>= 4:3.5.9-2)
+Filename: pool/main/d/dummy-package/dummy-package_1.0_i386.deb
+Size: 424242
+MD5sum: 21e4ac1bbdd405873aa969918e78b95c
+SHA1: 22b132fef92822e0bc8b612bbaf06165aa459bfc
+SHA256: 9d0d77df0312ef6487e0b06eb125446e130bd9de80df70ac0180abf7d4e4a0c5
+Description: inexistent dummy package, dep parsing test case
+ inexistent dummy package, dep parsing test case
+Tag: hardware::modem, interface::commandline, protocol::ssh, role::program, scope::utility, uitoolkit::ncurses, use::downloading
+
diff --git a/tests/test_deb822.py b/tests/test_deb822.py
index 07b49a1..781200f 100755
--- a/tests/test_deb822.py
+++ b/tests/test_deb822.py
@@ -492,40 +492,39 @@ class TestPkgRelations(unittest.TestCase):
pkg1 = pkgs.next()
rel1 = {'breaks': [],
'conflicts': [],
- 'depends': [[{'name': 'file', 'version': None}],
- [{'name': 'libc6', 'version': None}],
- [{'name': 'libpaper1', 'version': None}],
- [{'name': 'psutils', 'version': None}]],
+ 'depends': [[{'name': 'file', 'version': None, 'arch': None}],
+ [{'name': 'libc6', 'version': ('>=', '2.7-1'), 'arch': None}],
+ [{'name': 'libpaper1', 'version': None, 'arch': None}],
+ [{'name': 'psutils', 'version': None, 'arch': None}]],
'enhances': [],
'pre-depends': [],
'provides': [],
- 'recommends': [[{'name': 'bzip2', 'version': None}],
- [{'name': 'lpr', 'version': None},
- {'name': 'rlpr', 'version': None},
- {'name': 'cupsys-client', 'version': None}],
- [{'name': 'wdiff', 'version': None}]],
+ 'recommends': [[{'name': 'bzip2', 'version': None, 'arch': None}],
+ [{'name': 'lpr', 'version': None, 'arch': None},
+ {'name': 'rlpr', 'version': None, 'arch': None},
+ {'name': 'cupsys-client', 'version': None, 'arch': None}],
+ [{'name': 'wdiff', 'version': None, 'arch': None}]],
'replaces': [],
- 'suggests': [[{'name': 'emacsen-common', 'version': None}],
- [{'name': 'ghostscript', 'version': None}],
- [{'name': 'graphicsmagick-imagemagick-compat',
- 'version': None},
- {'name': 'imagemagick', 'version': None}],
- [{'name': 'groff', 'version': None}],
- [{'name': 'gv', 'version': None}],
- [{'name': 'html2ps', 'version': None}],
- [{'name': 't1-cyrillic', 'version': None}],
- [{'name': 'texlive-base-bin', 'version': None}]]}
+ 'suggests': [[{'name': 'emacsen-common', 'version': None, 'arch': None}],
+ [{'name': 'ghostscript', 'version': None, 'arch': None}],
+ [{'name': 'graphicsmagick-imagemagick-compat', 'version': None, 'arch': None},
+ {'name': 'imagemagick', 'version': None, 'arch': None}],
+ [{'name': 'groff', 'version': None, 'arch': None}],
+ [{'name': 'gv', 'version': None, 'arch': None}],
+ [{'name': 'html2ps', 'version': None, 'arch': None}],
+ [{'name': 't1-cyrillic', 'version': None, 'arch': None}],
+ [{'name': 'texlive-base-bin', 'version': None, 'arch': None}]]}
self.assertEqual(rel1, pkg1.relations)
pkg2 = pkgs.next()
rel2 = {'breaks': [],
'conflicts': [],
- 'depends': [[{'name': 'lrzsz', 'version': None}],
- [{'name': 'openssh-client', 'version': None},
- {'name': 'telnet', 'version': None},
- {'name': 'telnet-ssl', 'version': None}],
- [{'name': 'libc6', 'version': None}],
- [{'name': 'libncurses5', 'version': None}],
- [{'name': 'libreadline5', 'version': None}]],
+ 'depends': [[{'name': 'lrzsz', 'version': None, 'arch': None}],
+ [{'name': 'openssh-client', 'version': None, 'arch': None},
+ {'name': 'telnet', 'version': None, 'arch': None},
+ {'name': 'telnet-ssl', 'version': None, 'arch': None}],
+ [{'name': 'libc6', 'version': ('>=', '2.6.1-1'), 'arch': None}],
+ [{'name': 'libncurses5', 'version': ('>=', '5.6'), 'arch': None}],
+ [{'name': 'libreadline5', 'version': ('>=', '5.2'), 'arch': None}]],
'enhances': [],
'pre-depends': [],
'provides': [],
@@ -533,41 +532,53 @@ class TestPkgRelations(unittest.TestCase):
'replaces': [],
'suggests': []}
self.assertEqual(rel2, pkg2.relations)
+ pkg3 = pkgs.next()
+ dep3 = [[{'arch': None, 'name': 'dcoprss', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kdenetwork-kfile-plugins', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kdict', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kdnssd', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kget', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'knewsticker', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kopete', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kpf', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kppp', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'krdc', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'krfb', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'ksirc', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'kwifimanager', 'version': ('>=', '4:3.5.9-2')}],
+ [{'arch': None, 'name': 'librss1', 'version': ('>=', '4:3.5.9-2')}]]
+ self.assertEqual(dep3, pkg3.relations['depends'])
def test_sources(self):
pkgs = deb822.Sources.iter_paragraphs(file('test_Sources'))
pkg1 = pkgs.next()
rel1 = {'build-conflicts': [],
'build-conflicts-indep': [],
- 'build-depends': [[{'name': 'apache2-src', 'version': None}],
- [{'name': 'libaprutil1-dev', 'version': None}],
- [{'arch': [(False, 'kfreebsd-i386'),
- (False, 'kfreebsd-amd64'),
- (False, 'hurd-i386')],
+ 'build-depends': [[{'name': 'apache2-src', 'version': ('>=', '2.2.9'), 'arch': None}],
+ [{'name': 'libaprutil1-dev', 'version': None, 'arch': None}],
+ [{'arch': [(False, 'kfreebsd-i386'), (False, 'kfreebsd-amd64'), (False, 'hurd-i386')],
'name': 'libcap-dev',
'version': None}],
- [{'name': 'autoconf', 'version': None}],
- [{'name': 'debhelper', 'version': None}]],
+ [{'name': 'autoconf', 'version': None, 'arch': None}],
+ [{'name': 'debhelper', 'version': ('>>', '5.0.0'), 'arch': None}]],
'build-depends-indep': []}
self.assertEqual(rel1, pkg1.relations)
pkg2 = pkgs.next()
rel2 = {'build-conflicts': [],
'build-conflicts-indep': [],
- 'build-depends': [[{'name': 'dpkg-dev', 'version': None}],
- [{'name': 'autoconf', 'version': None}],
- [{'name': 'bash', 'version': None}],
- [{'name': 'bison', 'version': None}],
- [{'name': 'flex', 'version': None}],
- [{'name': 'gettext', 'version': None}],
- [{'name': 'texinfo', 'version': None}],
- [{'arch': [(True, 'hppa')],
- 'name': 'expect-tcl8.3',
- 'version': ('>=', '5.32.2')}],
- [{'name': 'dejagnu', 'version': None}],
- [{'name': 'dpatch', 'version': None}],
- [{'name': 'file', 'version': None}],
- [{'name': 'bzip2', 'version': None}],
- [{'name': 'lsb-release', 'version': None}]],
+ 'build-depends': [[{'name': 'dpkg-dev', 'version': ('>=', '1.13.9'), 'arch': None}],
+ [{'name': 'autoconf', 'version': ('>=', '2.13'), 'arch': None}],
+ [{'name': 'bash', 'version': None, 'arch': None}],
+ [{'name': 'bison', 'version': None, 'arch': None}],
+ [{'name': 'flex', 'version': None, 'arch': None}],
+ [{'name': 'gettext', 'version': None, 'arch': None}],
+ [{'name': 'texinfo', 'version': None, 'arch': None}],
+ [{'arch': [(True, 'hppa')], 'name': 'expect-tcl8.3', 'version': ('>=', '5.32.2')}],
+ [{'name': 'dejagnu', 'version': ('>=', '1.4.2-1.1'), 'arch': None}],
+ [{'name': 'dpatch', 'version': None, 'arch': None}],
+ [{'name': 'file', 'version': None, 'arch': None}],
+ [{'name': 'bzip2', 'version': None, 'arch': None}],
+ [{'name': 'lsb-release', 'version': None, 'arch': None}]],
'build-depends-indep': []}
self.assertEqual(rel2, pkg2.relations)
--
1.5.4.2
More information about the pkg-python-debian-commits
mailing list