summaryrefslogtreecommitdiffstats
path: root/rpmci/rpmci_srpm_builder_main.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpmci/rpmci_srpm_builder_main.py')
-rw-r--r--rpmci/rpmci_srpm_builder_main.py18
1 files changed, 10 insertions, 8 deletions
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()