]> git.ipfire.org Git - pakfire.git/commitdiff
Add some more tweaks to ignore broken dependencies.
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Dec 2011 18:19:04 +0000 (19:19 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Dec 2011 18:19:04 +0000 (19:19 +0100)
python/pakfire/packages/base.py
python/pakfire/packages/file.py
python/pakfire/packages/make.py

index e16ccb14d53375bb06fc863fed7bc0ee2340c658..36656a0d946fd5dcee307d11999fe49dbbc1657b 100644 (file)
@@ -388,6 +388,32 @@ class Package(object):
        def vendor(self):
                return self.metadata.get("PKG_VENDOR", "")
 
+       @staticmethod
+       def filter_deps(deps):
+               """
+                       Filter out invalid dependencies.
+
+                       This is just for reading packages and skipping comments
+                       or empty lines.
+               """
+               ret = []
+
+               for dep in deps:
+                       # Remove any leading or trailing spaces.
+                       dep = dep.strip()
+
+                       # Skip empty strings.
+                       if not dep:
+                               continue
+
+                       # Skip comment lines.
+                       if dep.startswith("#"):
+                               continue
+
+                       ret.append(dep)
+
+               return ret
+
        @property
        def prerequires(self):
                requires = self.metadata.get("PKG_PREREQUIRES", "")
index 29fb22ba3f280948a4ae17802b34602fba7d619c..e1f7238eddaa85a8c003c2220b08209952057882 100644 (file)
@@ -741,7 +741,8 @@ class FilePackage(Package):
                if not provides:
                        return []
 
-               return provides.splitlines()
+               provides = provides.splitlines()
+               return self.filter_deps(provides)
 
        @property
        def requires(self):
@@ -753,7 +754,8 @@ class FilePackage(Package):
                if not requires:
                        return []
 
-               return requires.splitlines()
+               requires = requires.splitlines()
+               return self.filter_deps(requires)
 
        @property
        def prerequires(self):
@@ -765,7 +767,8 @@ class FilePackage(Package):
                if not prerequires:
                        return []
 
-               return prerequires.splitlines()
+               prerequires = prerequires.splitlines()
+               return self.filter_deps(prerequires)
 
        @property
        def obsoletes(self):
@@ -777,7 +780,8 @@ class FilePackage(Package):
                if not obsoletes:
                        return []
 
-               return obsoletes.splitlines()
+               obsoletes = obsoletes.splitlines()
+               return self.filter_deps(obsoletes)
 
        @property
        def conflicts(self):
@@ -789,7 +793,8 @@ class FilePackage(Package):
                if not conflicts:
                        return []
 
-               return conflicts.splitlines()
+               conflicts = conflicts.splitlines()
+               return self.filter_deps(conflicts)
 
 
 class SourcePackage(FilePackage):
index 64387885a44c8f6786d31b9344f7e4c08f93a9df..61fafbbdd49d2bb6a4eeb8069258b42455ca8674 100644 (file)
@@ -270,7 +270,9 @@ class Makefile(MakefileBase):
 
        @property
        def requires(self):
-               return self.lexer.build.get_var("requires", "").splitlines()
+               reqs = self.lexer.build.get_var("requires", "").splitlines()
+
+               return self.filter_deps(reqs)
 
        @property
        def provides(self):