* version/release dependencies..

This commit is contained in:
Faik Uygur
2006-08-22 13:42:39 +00:00
parent 7009634e04
commit 33486679fe
3 changed files with 28 additions and 0 deletions
+10
View File
@@ -50,6 +50,16 @@ class Pspec:
return tmp
def add_dependencies(self, dependencies):
# special case of given one dependency package
# with depedency versioning info [**kw, name]
# [{"versionFrom":"0.4.2"}, "udev"]
if type(dependencies[0]) == dict:
dep = Dependency()
(kw, dep.package) = dependencies
dep.__dict__[kw.keys()[0]] = kw.values()[0]
self.package.packageDependencies.append(dep)
return
for depname in dependencies:
dep = Dependency()
dep.package = depname
+1
View File
@@ -28,6 +28,7 @@ def repo_added_package(package, *args):
if repodb.has_key(package):
raise Exception(_("Repo already has package named %s.") % package)
version = "1.0"
dependencies = None
conflicts = None
+17
View File
@@ -46,3 +46,20 @@ def with_added_dependencies(*deps):
def with_removed_dependencies(*deps):
return with_action(DEPENDENCY, REMOVED, deps)
def with_added_dependency(package, **kw):
assert len(kw) <= 1
if not len(kw):
return with_action(DEPENDENCY, ADDED, [package])
if (kw.has_key("versionFrom") or
kw.has_key("versionTo") or
kw.has_key("version") or
kw.has_key("releaseFrom") or
kw.has_key("releaseTo") or
kw.has_key("release")):
return with_action(DEPENDENCY, ADDED, [kw, package])
# pass other keywords.
return with_action(DEPENDENCY, ADDED, [package])