mirror of
https://github.com/rpm-software-management/tito.git
synced 2025-02-23 20:22:46 +00:00
add option --scratch to builder class
This commit is contained in:
parent
4555676e3b
commit
807aaa45da
4 changed files with 24 additions and 10 deletions
|
@ -46,7 +46,7 @@ class Builder(object):
|
|||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None, dist=None,
|
||||
test=False, offline=False, auto_install=False,
|
||||
rpmbuild_options=None):
|
||||
rpmbuild_options=None, scratch=False):
|
||||
|
||||
self.git_root = find_git_root()
|
||||
self.rel_eng_dir = os.path.join(self.git_root, "rel-eng")
|
||||
|
@ -62,6 +62,7 @@ class Builder(object):
|
|||
self.no_cleanup = False
|
||||
self.auto_install = auto_install
|
||||
self.rpmbuild_options = rpmbuild_options
|
||||
self.scratch = scratch
|
||||
if not self.rpmbuild_options:
|
||||
self.rpmbuild_options = ''
|
||||
|
||||
|
@ -322,6 +323,9 @@ class Builder(object):
|
|||
if 'KOJI_OPTIONS' in self.user_config:
|
||||
koji_opts = self.user_config['KOJI_OPTIONS']
|
||||
|
||||
if self.scratch:
|
||||
koji_opts = ' '.join([koji_opts, '--scratch'])
|
||||
|
||||
for koji_tag in koji_tags:
|
||||
# Lookup the disttag configured for this Koji tag:
|
||||
disttag = self.config.get(koji_tag, "disttag")
|
||||
|
@ -687,14 +691,14 @@ class NoTgzBuilder(Builder):
|
|||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None, dist=None,
|
||||
test=False, offline=False, auto_install=False,
|
||||
rpmbuild_options=None):
|
||||
rpmbuild_options=None, scratch=False):
|
||||
|
||||
Builder.__init__(self, name=name, version=version, tag=tag,
|
||||
build_dir=build_dir, pkg_config=pkg_config,
|
||||
global_config=global_config, user_config=user_config,
|
||||
dist=dist, test=test, offline=offline,
|
||||
auto_install=auto_install,
|
||||
rpmbuild_options=rpmbuild_options)
|
||||
rpmbuild_options=rpmbuild_options, scratch=scratch)
|
||||
|
||||
# When syncing files with CVS, copy everything from git:
|
||||
self.cvs_copy_extensions = ("", )
|
||||
|
@ -757,13 +761,14 @@ class CvsBuilder(NoTgzBuilder):
|
|||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None, dist=None,
|
||||
test=False, offline=False, auto_install=False,
|
||||
rpmbuild_options=None):
|
||||
rpmbuild_options=None, scratch=False):
|
||||
|
||||
NoTgzBuilder.__init__(self, name=name, version=version, tag=tag,
|
||||
build_dir=build_dir, pkg_config=pkg_config,
|
||||
global_config=global_config, user_config=user_config,
|
||||
dist=dist, test=test, offline=offline,
|
||||
auto_install=auto_install, rpmbuild_options=rpmbuild_options)
|
||||
auto_install=auto_install, rpmbuild_options=rpmbuild_options,
|
||||
scratch=scratch)
|
||||
|
||||
# TODO: Hack to override here, patches are in a weird place with this
|
||||
# builder.
|
||||
|
@ -866,13 +871,14 @@ class UpstreamBuilder(NoTgzBuilder):
|
|||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None, dist=None,
|
||||
test=False, offline=False, auto_install=False,
|
||||
rpmbuild_options=None):
|
||||
rpmbuild_options=None, scratch=False):
|
||||
|
||||
NoTgzBuilder.__init__(self, name=name, version=version, tag=tag,
|
||||
build_dir=build_dir, pkg_config=pkg_config,
|
||||
global_config=global_config, user_config=user_config,
|
||||
dist=dist, test=test, offline=offline,
|
||||
auto_install=auto_install, rpmbuild_options=rpmbuild_options)
|
||||
auto_install=auto_install, rpmbuild_options=rpmbuild_options,
|
||||
scratch=scratch)
|
||||
|
||||
if not pkg_config or not pkg_config.has_option("buildconfig",
|
||||
"upstream_name"):
|
||||
|
|
|
@ -354,6 +354,10 @@ class BuildModule(BaseCliModule):
|
|||
self.parser.add_option("--rpmbuild-options", dest='rpmbuild_options',
|
||||
default='',
|
||||
metavar="OPTIONS", help="Options to pass to rpmbuild.")
|
||||
self.parser.add_option("--scratch", dest="scratch",
|
||||
action="store_true",
|
||||
help="Do scratch build (only for --koji-release)",
|
||||
)
|
||||
|
||||
def main(self, argv):
|
||||
BaseCliModule.main(self, argv)
|
||||
|
@ -414,7 +418,8 @@ class BuildModule(BaseCliModule):
|
|||
test=options.test,
|
||||
offline=options.offline,
|
||||
auto_install=options.auto_install,
|
||||
rpmbuild_options=options.rpmbuild_options)
|
||||
rpmbuild_options=options.rpmbuild_options,
|
||||
scratch=options.scratch)
|
||||
return builder
|
||||
|
||||
def _validate_options(self):
|
||||
|
|
|
@ -14,9 +14,9 @@ class DistributionBuilder(UpstreamBuilder):
|
|||
def __init__(self, name=None, version=None, tag=None, build_dir=None,
|
||||
pkg_config=None, global_config=None, user_config=None, dist=None,
|
||||
test=False, offline=False, auto_install=False,
|
||||
rpmbuild_options=None):
|
||||
rpmbuild_options=None, scratch=False):
|
||||
UpstreamBuilder.__init__(self, name, version, tag, build_dir, pkg_config,
|
||||
global_config, user_config, dist, test, offline, auto_install, rpmbuild_options)
|
||||
global_config, user_config, dist, test, offline, auto_install, rpmbuild_options, scratch)
|
||||
self.patch_files = []
|
||||
|
||||
def patch_upstream(self):
|
||||
|
|
|
@ -165,6 +165,9 @@ file is committed to CVS.
|
|||
--rpmbuild-options='OPTIONS'::
|
||||
Pass 'OPTIONS' to rpmbuild.
|
||||
|
||||
--scratch::
|
||||
Do scratch build (only for --koji-release)
|
||||
|
||||
|
||||
`tito report`
|
||||
~~~~~~~~~~~~~
|
||||
|
|
Loading…
Add table
Reference in a new issue