diff options
author | Colin Walters <walters@verbum.org> | 2010-10-07 22:00:22 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-10-07 22:00:22 -0400 |
commit | f9d155f9028ad157b7812334ee61de2db4e4ce74 (patch) | |
tree | 9c9d38c1c26b50d348164cefef391eac32a42776 | |
parent | a98569402f6a1f4c84afefdeb9f2ffc7185ad303 (diff) | |
download | rpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.tar.gz rpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.tar.xz rpmci-f9d155f9028ad157b7812334ee61de2db4e4ce74.zip |
some hacking on versioning
-rw-r--r-- | rpmci/artifact.py | 5 | ||||
-rw-r--r-- | rpmci/rpmci_srpm_builder_main.py | 18 |
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() |