mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
Actually use releaser config instead of hardcoded values.
This commit is contained in:
parent
e1eff8f63e
commit
a7574706b9
4 changed files with 38 additions and 22 deletions
|
@ -4,8 +4,14 @@ releaser = tito.release.YumRepoMockReleaser
|
||||||
mock = fedora-15-x86_64
|
mock = fedora-15-x86_64
|
||||||
rsync = fedorapeople.org:/srv/repos/candlepin/subscription-manager/fedora-15/x86_64/
|
rsync = fedorapeople.org:/srv/repos/candlepin/subscription-manager/fedora-15/x86_64/
|
||||||
|
|
||||||
[yum-f15-i686]
|
[yum-f16-x86_64]
|
||||||
builder = tito.builder.MockBuilder
|
builder = tito.builder.MockBuilder
|
||||||
releaser = tito.release.YumRepoMockReleaser
|
releaser = tito.release.YumRepoMockReleaser
|
||||||
mock = fedora-15-i686
|
mock = fedora-16-x86_64
|
||||||
rsync = fedorapeople.org:/srv/repos/candlepin/subscription-manager/fedora-15/x86_64/
|
rsync = fedorapeople.org:/srv/repos/candlepin/subscription-manager/fedora-16/x86_64/
|
||||||
|
|
||||||
|
[yum-el6-x86_64]
|
||||||
|
builder = tito.builder.MockBuilder
|
||||||
|
releaser = tito.release.YumRepoMockReleaser
|
||||||
|
mock = epel-6-x86_64
|
||||||
|
rsync = fedorapeople.org:/srv/repos/candlepin/subscription-manager/epel-6/x86_64/
|
||||||
|
|
|
@ -787,10 +787,8 @@ class MockBuilder(Builder):
|
||||||
global_config=global_config, user_config=user_config,
|
global_config=global_config, user_config=user_config,
|
||||||
options=options)
|
options=options)
|
||||||
|
|
||||||
self.mock_tag = "fedora-15-x86_64"
|
# TODO: yum releaser will set this for us, but need a solution here...
|
||||||
#self.mock_tag = "epel-6-x86_64"
|
self.mock_tag = None
|
||||||
#self.mock_tag = "fedora-14-x86_64"
|
|
||||||
#self.mock_tag = "epel-5-x86_64"
|
|
||||||
|
|
||||||
# TODO: error out if mock package is not installed
|
# TODO: error out if mock package is not installed
|
||||||
|
|
||||||
|
|
|
@ -510,6 +510,7 @@ class ReleaseModule(BaseCliModule):
|
||||||
pkg_config=self.pkg_config,
|
pkg_config=self.pkg_config,
|
||||||
global_config=self.global_config,
|
global_config=self.global_config,
|
||||||
user_config=self.user_config,
|
user_config=self.user_config,
|
||||||
|
target=target,
|
||||||
releaser_config=releaser_config)
|
releaser_config=releaser_config)
|
||||||
|
|
||||||
return releaser.release(dry_run=self.options.dry_run)
|
return releaser.release(dry_run=self.options.dry_run)
|
||||||
|
|
|
@ -39,7 +39,7 @@ class Releaser(object):
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
releaser_config=None):
|
target=None, releaser_config=None):
|
||||||
|
|
||||||
# While we create a builder here, we don't actually call run on it
|
# While we create a builder here, we don't actually call run on it
|
||||||
# unless the releaser needs to:
|
# unless the releaser needs to:
|
||||||
|
@ -60,8 +60,13 @@ class Releaser(object):
|
||||||
|
|
||||||
# When syncing files with CVS, only copy files with these extensions:
|
# When syncing files with CVS, only copy files with these extensions:
|
||||||
self.cvs_copy_extensions = (".spec", ".patch")
|
self.cvs_copy_extensions = (".spec", ".patch")
|
||||||
|
|
||||||
|
# Config for all releasers:
|
||||||
self.releaser_config = releaser_config
|
self.releaser_config = releaser_config
|
||||||
|
|
||||||
|
# The actual release target we're building:
|
||||||
|
self.target = target
|
||||||
|
|
||||||
self.dry_run = False
|
self.dry_run = False
|
||||||
|
|
||||||
def release(self, dry_run=False):
|
def release(self, dry_run=False):
|
||||||
|
@ -178,9 +183,9 @@ class YumRepoMockReleaser(Releaser):
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
releaser_config=None):
|
target=None, releaser_config=None):
|
||||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||||
global_config, user_config, releaser_config)
|
global_config, user_config, target, releaser_config)
|
||||||
|
|
||||||
self.build_dir = build_dir
|
self.build_dir = build_dir
|
||||||
|
|
||||||
|
@ -193,6 +198,11 @@ class YumRepoMockReleaser(Releaser):
|
||||||
global_config=global_config,
|
global_config=global_config,
|
||||||
user_config=user_config)
|
user_config=user_config)
|
||||||
|
|
||||||
|
# TODO: hack, how can we pass arbitrary data like the mock config
|
||||||
|
# into a builder? Need to do similar from CLI if you wanna over ride
|
||||||
|
# it and run...
|
||||||
|
self.builder.mock_tag = self.releaser_config.get(self.target, 'mock')
|
||||||
|
|
||||||
def release(self, dry_run=False):
|
def release(self, dry_run=False):
|
||||||
# Should this run?
|
# Should this run?
|
||||||
self.builder.tgz()
|
self.builder.tgz()
|
||||||
|
@ -203,7 +213,7 @@ class YumRepoMockReleaser(Releaser):
|
||||||
print "RPMS:"
|
print "RPMS:"
|
||||||
print self.builder.artifacts
|
print self.builder.artifacts
|
||||||
|
|
||||||
rsync_location = "fedorapeople.org:/srv/repos/candlepin/subscription-manager/fedora-15/x86_64/"
|
rsync_location = self.releaser_config.get(self.target, 'rsync')
|
||||||
if RSYNC_USERNAME in os.environ:
|
if RSYNC_USERNAME in os.environ:
|
||||||
print("%s set, using rsync username: %s" % (RSYNC_USERNAME,
|
print("%s set, using rsync username: %s" % (RSYNC_USERNAME,
|
||||||
os.environ[RSYNC_USERNAME]))
|
os.environ[RSYNC_USERNAME]))
|
||||||
|
@ -222,26 +232,27 @@ class YumRepoMockReleaser(Releaser):
|
||||||
# TODO: should we clean up old versions of these packages in the repo?
|
# TODO: should we clean up old versions of these packages in the repo?
|
||||||
|
|
||||||
os.chdir(yum_temp_dir)
|
os.chdir(yum_temp_dir)
|
||||||
|
print("Refreshing yum repodata...")
|
||||||
output = run_command("createrepo ./")
|
output = run_command("createrepo ./")
|
||||||
print output
|
debug(output)
|
||||||
|
|
||||||
print("Syncing yum repository back to: %s" % rsync_location)
|
print("Syncing yum repository back to: %s" % rsync_location)
|
||||||
output = run_command("rsync -avtz --delete %s/ %s" % (yum_temp_dir, rsync_location))
|
# TODO: configurable rsync options?
|
||||||
print output
|
output = run_command("rsync -avtz --delete %s/ %s" %
|
||||||
|
(yum_temp_dir, rsync_location))
|
||||||
|
debug(output)
|
||||||
|
|
||||||
# TODO: Cleanup
|
# TODO: Cleanup
|
||||||
#rmtree(yum_temp_dir)
|
#rmtree(yum_temp_dir)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class FedoraGitReleaser(Releaser):
|
class FedoraGitReleaser(Releaser):
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
releaser_config=None):
|
target=None, releaser_config=None):
|
||||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||||
global_config, user_config, releaser_config)
|
global_config, user_config, target, releaser_config)
|
||||||
|
|
||||||
self.git_branches = []
|
self.git_branches = []
|
||||||
if self.builder.config.has_section("gitrelease"):
|
if self.builder.config.has_section("gitrelease"):
|
||||||
|
@ -429,9 +440,9 @@ class CvsReleaser(Releaser):
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
releaser_config=None):
|
target=None, releaser_config=None):
|
||||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||||
global_config, user_config, releaser_config)
|
global_config, user_config, target, releaser_config)
|
||||||
|
|
||||||
# Configure CVS variables if possible. Will check later that
|
# Configure CVS variables if possible. Will check later that
|
||||||
# they're actually defined if the user requested CVS work be done.
|
# they're actually defined if the user requested CVS work be done.
|
||||||
|
@ -690,9 +701,9 @@ class KojiReleaser(Releaser):
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||||
pkg_config=None, global_config=None, user_config=None,
|
pkg_config=None, global_config=None, user_config=None,
|
||||||
releaser_config=None):
|
target=None, releaser_config=None):
|
||||||
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
Releaser.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||||
global_config, user_config, releaser_config)
|
global_config, user_config, target, releaser_config)
|
||||||
|
|
||||||
self.only_tags = self.builder.only_tags
|
self.only_tags = self.builder.only_tags
|
||||||
self.scratch = self.builder.scratch
|
self.scratch = self.builder.scratch
|
||||||
|
|
Loading…
Add table
Reference in a new issue