summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-10-07 22:00:22 -0400
committerColin Walters <walters@verbum.org>2010-10-07 22:00:22 -0400
commitf9d155f9028ad157b7812334ee61de2db4e4ce74 (patch)
tree9c9d38c1c26b50d348164cefef391eac32a42776
parenta98569402f6a1f4c84afefdeb9f2ffc7185ad303 (diff)
downloadrpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.tar.gz
rpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.tar.xz
rpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.zip
some hacking on versioning
-rw-r--r--rpmci/artifact.py5
-rw-r--r--rpmci/rpmci_srpm_builder_main.py18
2 files changed, 13 insertions, 10 deletions
diff --git a/rpmci/artifact.py b/rpmci/artifact.py
index 13841ad..22a3b25 100644
--- a/rpmci/artifact.py
+++ b/rpmci/artifact.py
@@ -47,7 +47,8 @@ class BuildTarget(object):
return 0
class Artifact(object):
- def __init__(self, targets):
+ def __init__(self, name, targets):
+ self.name = name
self.targets = targets
class ArtifactSet(object):
@@ -89,7 +90,7 @@ class ArtifactSet(object):
target = BuildTarget(module, os, architecture)
artifact_build_targets.append(target)
- artifacts.append(Artifact(artifact_build_targets))
+ artifacts.append(Artifact(artifact_name, artifact_build_targets))
return cls(artifacts)
def fedora_git_url_for_build_target(config, buildtarget):
diff --git a/rpmci/rpmci_srpm_builder_main.py b/rpmci/rpmci_srpm_builder_main.py
index d0e554e..5efd903 100644
--- a/rpmci/rpmci_srpm_builder_main.py
+++ b/rpmci/rpmci_srpm_builder_main.py
@@ -24,7 +24,7 @@ import gio
from . import msgqueue
from . import subtask
-from . import dynrepo
+from . import versioned_repos
from . import artifact
from . import spec
from . import lame_vcs_abstraction
@@ -57,7 +57,7 @@ class SRPMBuilder(object):
self._srcdir = config.get('SRPM', 'srpm_dir')
if not os.path.isdir(self._srcdir):
os.makedirs(self._srcdir)
- self._srcrepo = dynrepo.Repo(self._srcdir)
+ self._srcrepo = versioned_repos.VersionedRepo(self._srcdir)
def start(self):
self._vcs_msgqueue.connect(self._on_vcs_message)
@@ -106,8 +106,12 @@ class SRPMBuilder(object):
target_spec_path = os.path.join(fedora_dir, specname)
target_spec_obj = spec.Spec(target_spec_path)
- orig_spec_path = os.path.join(self._srcdir, specname)
- if os.path.isfile(orig_spec_path):
+ latest_repopath = self._srcrepo.get_latest_path()
+ if latest_repopath:
+ orig_spec_path = os.path.join(latest_repopath, specname)
+ else:
+ orig_spec_path = None
+ if orig_spec_path is not None and os.path.isfile(orig_spec_path):
# Okay, we have a previous build, so now we "merge" by taking everything
# from the new spec file, except we use the Version/Release from the old
# one. This is necessary to pacify RPM's insistence on globally
@@ -141,10 +145,8 @@ class SRPMBuilder(object):
srpm_path = os.path.join(fedora_dir, filename)
break
assert srpm_path is not None
- os.rename(srpm_path, os.path.join(self._srcdir, srpm_basename))
- self._srcrepo.update_repo_sync()
-
- self._srpm_msgqueue.append(msgqueue.Message(None, {'type': 'srpm'}, {'filename': srpm_basename}))
+ self._srcrepo.commit([srpm_path])
+ self._srpm_msgqueue.append(msgqueue.Message(None, {'type': 'srpm'}, {'version': srpm_basename}))
def main():
glib.threads_init()