diff --git a/ChangeLog b/ChangeLog index 764609ba..9e10bf4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-12-04 Bahadır Kandemir + * pisi/scenarioapi/pspec.py: AnyDependency support added to + with_dependencies() method. Simply give AnyDependency list as an + argument. + 2009-11-22 Bahadır Kandemir * pisi/operations/build.py, pisi/index.py: *Size variables should be long, instead of int. diff --git a/pisi/scenarioapi/pspec.py b/pisi/scenarioapi/pspec.py index 98d05b20..06089eef 100644 --- a/pisi/scenarioapi/pspec.py +++ b/pisi/scenarioapi/pspec.py @@ -10,7 +10,7 @@ # Please read the COPYING file. # -from pisi.specfile import SpecFile, Package, Update, Path, Action +from pisi.specfile import SpecFile, Package, Update, Path, Action, AnyDependency from pisi.dependency import Dependency from pisi.conflict import Conflict from pisi.pxml.autoxml import LocalText @@ -140,10 +140,18 @@ class Pspec: self.package.conflicts = conflicts if dependencies: - for depname in dependencies: - dep = Dependency() - dep.package = depname - self.package.packageDependencies.append(dep) + for depitem in dependencies: + if isinstance(depitem, list): + anydep = AnyDependency() + for depname in depitem: + dep = Dependency() + dep.package = depname + anydep.dependencies.append(dep) + self.package.packageAnyDependencies.append(anydep) + else: + dep = Dependency() + dep.package = depitem + self.package.packageDependencies.append(dep) self.pspec.packages.append(self.package)