importpkg: add support for control.tar and control.tar.xz
[~helmut/debian-dedup.git] / dedup / debpkg.py
index d8cc22f..dbee849 100644 (file)
@@ -3,7 +3,7 @@ from debian import deb822
 from dedup.hashing import hash_file
 
 def process_control(control_contents):
-    """Parses the contents of a control file from a control.tar.gz of a Debian
+    """Parses the contents of a control file from a control.tar of a Debian
     package and returns a dictionary containing the fields relevant to dedup.
     @type control_contents: bytes
     @rtype: {str: object}
@@ -16,8 +16,8 @@ def process_control(control_contents):
         source = package
     version = control["version"].encode("ascii")
     architecture = control["architecture"].encode("ascii")
-
-    depends = set(dep[0]["name"].encode("ascii")
+    # deb822 currently returns :any dependencies raw. see #670679
+    depends = set(dep[0]["name"].split(u':', 1)[0].encode("ascii")
                   for dep in control.relations.get("depends", ())
                   if len(dep) == 1)
     return dict(package=package, source=source, version=version,