* version/release dependencies..
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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])
|
||||
|
||||
Reference in New Issue
Block a user