From f9b5723eec8aca41c943d0cd49034c43cee4bd57 Mon Sep 17 00:00:00 2001 From: Miroslav Suchý Date: Nov 02 2015 13:42:23 +0000 Subject: 1271741 - add copr command (Recommends: copr-cli) This allows submiting build directly to Copr using copr-cli command. --- diff --git a/src/pyrpkg/__init__.py b/src/pyrpkg/__init__.py index 91cf1c7..1a73275 100644 --- a/src/pyrpkg/__init__.py +++ b/src/pyrpkg/__init__.py @@ -2490,3 +2490,10 @@ class Commands(object): ' %s file', self.osbs_config_filename) else: self.log.info('Nothing to be done') + + def copr_build(self, project, srpm_name, nowait): + cmd = ['copr-cli', 'build'] + if nowait: + cmd.append('--nowait') + cmd.extend([project, srpm_name]) + self._run_command(cmd) diff --git a/src/pyrpkg/cli.py b/src/pyrpkg/cli.py index d50c7de..6da911e 100755 --- a/src/pyrpkg/cli.py +++ b/src/pyrpkg/cli.py @@ -203,6 +203,7 @@ class cliClient(object): self.register_clean() self.register_clog() self.register_clone() + self.register_copr_build() self.register_commit() self.register_compile() self.register_container_build() @@ -718,6 +719,26 @@ defined, packages will be built sequentially.""" % {'name': self.name}) dest='hash', help='Use md5 checksums (for older rpm hosts)') srpm_parser.set_defaults(command=self.srpm) + def register_copr_build(self): + """Register the copr-build target""" + + copr_parser = self.subparsers.add_parser( + 'copr-build', help='Build package in Copr', + formatter_class=argparse.RawDescriptionHelpFormatter, + description=""" +Build package in Copr. + +Note: you need to have set up correct api key. For more information +see API KEY section of copr-cli(1) man page. +""") + + copr_parser.add_argument( + '--nowait', action='store_true', default=False, + help="Don't wait on build") + copr_parser.add_argument( + 'project', nargs=1, help='Name of the project in format USER/PROJECT') + copr_parser.set_defaults(command=self.copr_build) + def register_switch_branch(self): """Register the switch-branch target""" @@ -1094,6 +1115,13 @@ defined, packages will be built sequentially.""" % {'name': self.name}) self.cmd.container_build_setup(get_autorebuild=self.args.get_autorebuild, set_autorebuild=self.args.set_autorebuild) + def copr_build(self): + self.log.debug('Generating an srpm') + self.args.hash = None + self.srpm() + srpm_name = '%s.src.rpm' % self.cmd.nvr + self.cmd.copr_build(self.args.project[0], srpm_name, self.args.nowait) + def diff(self): self.cmd.diff(self.args.cached, self.args.files) diff --git a/src/rpkg.bash b/src/rpkg.bash index 88147b5..d89568e 100644 --- a/src/rpkg.bash +++ b/src/rpkg.bash @@ -34,7 +34,7 @@ _rpkg() local options="--help -v -q" local options_value="--dist --user --path" - local commands="build chain-build ci clean clog clone co container-build-config commit compile diff gimmespec giturl help \ + local commands="build chain-build ci clean clog clone co container-build-config commit compile copr-build diff gimmespec giturl help \ gitbuildhash import install lint local mockbuild mock-config new new-sources patch prep pull push scratch-build sources \ srpm switch-branch tag unused-patches upload verify-files verrel" @@ -136,6 +136,11 @@ _rpkg() options_arch="--arch" options_dir="--builddir" ;; + copr-build) + options="--nowait" + after="package" + after_more=true + ;; diff) options="--cached" after="file"