public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/rpkg] 1.70-1: New release 1.59
Date: Mon, 10 Aug 2026 21:44:09 GMT [thread overview]
Message-ID: <178639824904.1.6990058001132337706.rpms-rpkg-c2ee9d537d64@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/rpkg
Branch : 1.70-1
Commit : c2ee9d537d64704a2b96e1dc3883c17331f7fc65
Author : Ondřej Nosek <onosek@redhat.com>
Date : 2019-09-16T07:14:19+00:00
Stats : +28/-374 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/rpkg/c/c2ee9d537d64704a2b96e1dc3883c17331f7fc65?branch=1.70-1
Log:
New release 1.59
Signed-off-by: Ondřej Nosek <onosek@redhat.com>
---
diff --git a/.gitignore b/.gitignore
index 50128a5..7483756 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,3 +54,4 @@
/rpkg-1.56.tar.gz
/rpkg-1.57.tar.gz
/rpkg-1.58.tar.gz
+/rpkg-1.59.tar.gz
diff --git a/0001-Fix-clone-branches.patch b/0001-Fix-clone-branches.patch
deleted file mode 100644
index 1536310..0000000
--- a/0001-Fix-clone-branches.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c194bf503ffd176403708345a230501b634aa373 Mon Sep 17 00:00:00 2001
-From: Todd Zullinger <tmz@pobox.com>
-Date: Tue, 7 May 2019 21:40:31 -0400
-Subject: [PATCH] Fix clone --branches
-
-When cloning with the --branches option we first clone a bare repo
-locally, then clone each branch from that bare repo. Avoid adding an
-excludes file to the temporary bare repo (which fails because we pass
-the wrong path to the git dir). Add an excludes file to each branch
-dir.
-
-Resolves: rhbz#1707223
-Signed-off-by: Todd Zullinger <tmz@pobox.com>
----
- pyrpkg/__init__.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index c12b52b..43bfc1d 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -1546,7 +1546,8 @@ class Commands(object):
- conf_git = git.Git(os.path.join(path, git_dir))
- self._clone_config(conf_git, repo)
-
-- self._add_git_excludes(os.path.join(path, git_dir))
-+ if not bare_dir:
-+ self._add_git_excludes(os.path.join(path, git_dir))
-
- return
-
-@@ -1625,6 +1626,9 @@ class Commands(object):
- branch_git.config("--replace-all",
- "remote.%s.url" % self.default_branch_remote,
- giturl)
-+
-+ # Add excludes
-+ self._add_git_excludes(branch_path)
- except (git.GitCommandError, OSError) as e:
- raise rpkgError('Could not locally clone %s from %s: %s'
- % (branch, repo_path, e))
---
-2.20.1
-
diff --git a/0002-Custom-handler-for-koji-watch_tasks.patch b/0002-Custom-handler-for-koji-watch_tasks.patch
deleted file mode 100644
index 9e4c2d2..0000000
--- a/0002-Custom-handler-for-koji-watch_tasks.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 910ed50456ea41995989d59a5a469799ba8d4e5b Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Wed, 15 May 2019 18:53:30 +0200
-Subject: [PATCH] Custom handler for koji watch_tasks
-
-Output text during rhpkg/fedpkg build process states that there
-is a 'watch_task' subcommand. When 'koji_cli' library is imported
-in rhpkg/fedpkg tool, it shows that command is named
-'rhpkg/fedpkg watch_task' instead of 'brew/koji watch_task'. Custom
-handler replaces the internal one inside koji_cli library.
-Additional fix in rhpkg is needed after this change is released.
-
-Relates: rhbz#1570921
-Relates: COMPOSE-2809
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/cli.py | 6 +++++-
- pyrpkg/utils.py | 21 +++++++++++++++++++++
- tests/test_cli.py | 39 ++++++++++++++++++++++-----------------
- 3 files changed, 48 insertions(+), 18 deletions(-)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 7b83a44..72be1cf 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1667,7 +1667,11 @@ see API KEY section of copr-cli(1) man page.
- if self.args.dry_run:
- self.log.info('DRY-RUN: Watch tasks: %s', task_ids)
- else:
-- return koji_cli.lib.watch_tasks(self.cmd.kojisession, task_ids)
-+ return koji_cli.lib.watch_tasks(
-+ self.cmd.kojisession,
-+ task_ids,
-+ ki_handler=utils.make_koji_watch_tasks_handler(self.cmd.build_client)
-+ )
-
- def extract_greenwave_url(self):
- greenwave_url = None
-diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
-index 2268e6f..37a39e2 100644
---- a/pyrpkg/utils.py
-+++ b/pyrpkg/utils.py
-@@ -128,3 +128,24 @@ def validate_module_build_optional(optional_arg):
- 'The "{0}" optional argument is reserved to built-in arguments'.format(key))
-
- return (key, value)
-+
-+
-+def make_koji_watch_tasks_handler(progname):
-+ def koji_watch_tasks_handler(_, tasks, quiet):
-+ """
-+ Displays information about running tasks and says how to watch them.
-+ Unlike the default version at koji library it overrides progname
-+ to show brew, koji or other build client.
-+ """
-+ if not quiet:
-+ tlist = ['%s: %s' % (t.str(), t.display_state(t.info))
-+ for t in tasks.values() if not t.is_done()]
-+ print("""Tasks still running. You can continue to watch with the '%s watch-task' command.
-+Running Tasks: %s""" % (progname, '\n'.join(tlist)))
-+
-+ # Save reference of the handler during first time use.
-+ # It guarantees that the same object is always returned (it allows unittest to pass).
-+ global handler_reference
-+ if 'handler_reference' not in globals():
-+ handler_reference = koji_watch_tasks_handler
-+ return handler_reference
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 785e103..b3e0718 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -3235,23 +3235,28 @@ class TestBuildPackage(FakeKojiCreds, CliTestCase):
- mock_build_api = None
-
- with patch('koji_cli.lib.watch_tasks') as watch_tasks:
-- with patch('sys.argv', new=cli_cmd):
-- cli = self.new_cli(cfg=config_file)
-- if sub_command == 'build':
-- mock_build_api = session.build
-- cli.build()
-- elif sub_command == 'scratch-build':
-- mock_build_api = session.build
-- cli.scratch_build()
-- elif sub_command == 'chain-build':
-- mock_build_api = session.chainBuild
-- cli.chainbuild()
--
-- if '--nowait' in cli_cmd:
-- watch_tasks.assert_not_called()
-- else:
-- watch_tasks.assert_called_once_with(
-- session, [mock_build_api.return_value])
-+ with patch('pyrpkg.utils.make_koji_watch_tasks_handler') as mock_ki:
-+ with patch('sys.argv', new=cli_cmd):
-+ cli = self.new_cli(cfg=config_file)
-+ if sub_command == 'build':
-+ mock_build_api = session.build
-+ cli.build()
-+ elif sub_command == 'scratch-build':
-+ mock_build_api = session.build
-+ cli.scratch_build()
-+ elif sub_command == 'chain-build':
-+ mock_build_api = session.chainBuild
-+ cli.chainbuild()
-+
-+ if '--nowait' in cli_cmd:
-+ watch_tasks.assert_not_called()
-+ else:
-+ watch_tasks.assert_called_once_with(
-+ session,
-+ [mock_build_api.return_value],
-+ ki_handler=mock_ki.return_value
-+ )
-+ self.assertEqual(mock_ki.call_args, (("koji",),))
-
- mock_build_api.assert_called_once()
-
---
-2.20.1
-
diff --git a/0003-Show-nvr-in-container-build.patch b/0003-Show-nvr-in-container-build.patch
deleted file mode 100644
index d7a6bae..0000000
--- a/0003-Show-nvr-in-container-build.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 7cef29d843fabce5abab317303e9016c91414913 Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Fri, 24 May 2019 11:21:34 +0200
-Subject: [PATCH] Show nvr in container-build
-
-JIRA: COMPOSE-3481
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py | 42 ++++++++++++++++++++++++++++++++++--------
- 1 file changed, 34 insertions(+), 8 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 291b9ac..0348420 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3036,6 +3036,39 @@ class Commands(object):
- # Run the command
- self._run_command(cmd, shell=True)
-
-+ def _process_koji_task_result(self, task_id):
-+ """
-+ Parse and modify output from brew/koji containing information about
-+ task (and eventually builds).
-+
-+ :param int task_id: id of the current task
-+ :return: record containing information about repositories, builds and nvrs
-+ :rtype: dict(str, str)
-+ """
-+ koji_result = self.kojisession.getTaskResult(task_id)
-+ if not koji_result:
-+ raise rpkgError('Unknown task: %s' % task_id)
-+ koji_builds = koji_result.get("koji_builds", [])
-+ koji_result["koji_builds"] = []
-+
-+ for build_id in koji_builds:
-+ try:
-+ build_id = int(build_id)
-+ except ValueError:
-+ raise rpkgError("Can not convert 'build_id' to integer: %s" % build_id)
-+
-+ bdata = self.kojisession.getBuild(build_id)
-+ if not bdata:
-+ raise rpkgError('Unknown build: %s' % build_id)
-+ nvr = bdata.get("nvr")
-+ if nvr:
-+ koji_result.setdefault("nvrs", []).append(nvr)
-+
-+ koji_result["koji_builds"].append(
-+ "%s/buildinfo?buildID=%d" % (self.kojiweburl, build_id))
-+
-+ return koji_result
-+
- def container_build_koji(self, target_override=False, opts={},
- kojiconfig=None, kojiprofile=None,
- build_client=None,
-@@ -3105,14 +3138,7 @@ class Commands(object):
- if not nowait:
- rv = koji_task_watcher(self.kojisession, [task_id])
- if rv == 0:
-- result = self.kojisession.getTaskResult(task_id)
-- try:
-- result["koji_builds"] = [
-- "%s/buildinfo?buildID=%s" % (self.kojiweburl,
-- build_id)
-- for build_id in result.get("koji_builds", [])]
-- except TypeError:
-- pass
-+ result = self._process_koji_task_result(task_id)
- log_result(self.log.info, result)
-
- finally:
---
-2.20.1
-
diff --git a/0004-Different-import-offline-command-behavior.patch b/0004-Different-import-offline-command-behavior.patch
deleted file mode 100644
index b17da5b..0000000
--- a/0004-Different-import-offline-command-behavior.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 810b2f7efda65ba369f1bb865f25d351915db1ab Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Fri, 24 May 2019 17:43:01 +0200
-Subject: [PATCH] Different import --offline command behavior
-
-`*pkg import --offline` didn't update 'source' and '.gitignore' files.
-Modified incorrect output about uploaded sources. Offline mode now does
-everything but uploading sources into lookaside cache.
-
-JIRA: COMPOSE-3558
-Fixes: #445
-Resolves: rhbz#1175262
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py | 5 +++--
- pyrpkg/cli.py | 15 +++++++++++----
- pyrpkg/lookaside.py | 8 +++++++-
- tests/test_cli.py | 2 +-
- 4 files changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 0348420..1f61082 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -2818,7 +2818,7 @@ class Commands(object):
- self.log.debug('Cleaning up mock temporary config directory: %s', config_dir)
- self._cleanup_tmp_dir(config_dir)
-
-- def upload(self, files, replace=False):
-+ def upload(self, files, replace=False, offline=False):
- """Upload source file(s) in the lookaside cache
-
- Both file `sources` and `.gitignore` will be updated with uploaded
-@@ -2827,6 +2827,7 @@ class Commands(object):
- :param iterable files: an iterable of files to upload.
- :param bool replace: optionally replace the existing tracked sources.
- Defaults to `False`.
-+ :param bool offline: do all the steps except uploading into lookaside cache
- :raises rpkgError: if failed to add a file to file `sources`.
- """
-
-@@ -2859,7 +2860,7 @@ class Commands(object):
- gitignore.add('/%s' % file_basename)
- self.lookasidecache.upload(
- self.ns_repo_name if self.lookaside_namespaced else self.repo_name,
-- f, file_hash)
-+ f, file_hash, offline=offline)
-
- sourcesf.write()
- gitignore.write()
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 72be1cf..eb0f499 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -2027,13 +2027,20 @@ see API KEY section of copr-cli(1) man page.
-
- def import_srpm(self):
- uploadfiles = self.cmd.import_srpm(self.args.srpm)
-- if uploadfiles and not self.args.offline:
-- self.cmd.upload(uploadfiles, replace=True)
-+ if uploadfiles:
-+ self.cmd.upload(uploadfiles, replace=True, offline=self.args.offline)
- if not self.args.skip_diffs:
- self.cmd.diff(cached=True)
- self.log.info('--------------------------------------------')
-- self.log.info("New content staged and new sources uploaded.")
-- self.log.info("Commit if happy or revert with: git reset --hard HEAD")
-+ if uploadfiles and self.args.offline:
-+ self.log.info("New content staged without uploading sources.")
-+ self.log.info("Commit and upload (%s upload <source>) if happy or revert with: "
-+ "'git reset --hard HEAD' (warning: it reverts also eventual user "
-+ "changes)." % (self._name,))
-+ else:
-+ self.log.info("New content staged and new sources uploaded.")
-+ self.log.info("Commit if happy or revert with: 'git reset --hard HEAD' (warning: "
-+ "it reverts also eventual user changes).")
-
- def install(self):
- self.sources()
-diff --git a/pyrpkg/lookaside.py b/pyrpkg/lookaside.py
-index d28c1d9..ede81ea 100644
---- a/pyrpkg/lookaside.py
-+++ b/pyrpkg/lookaside.py
-@@ -269,7 +269,7 @@ class CGILookasideCache(object):
- raise UploadError('Error checking for %s at %s'
- % (filename, self.upload_url))
-
-- def upload(self, name, filepath, hash):
-+ def upload(self, name, filepath, hash, offline=False):
- """Upload a source file
-
- :param str name: The name of the module. (usually the name of the SRPM)
-@@ -277,7 +277,13 @@ class CGILookasideCache(object):
- server side expects).
- :param str filepath: The full path to the file to upload.
- :param str hash: The known good hash of the file.
-+ :param bool offline: Method prints a message about disabled upload and does return.
- """
-+ if offline:
-+ self.log.info("Uploading: %s", filepath)
-+ self.log.info("*Upload disabled*")
-+ return
-+
- filename = os.path.basename(filepath)
-
- # As in remote_file_exists, we need to convert unicode strings to str
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index b3e0718..ee92389 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -1163,7 +1163,7 @@ class LookasideCacheMock(object):
- def destroy_lookaside_cache(self):
- shutil.rmtree(self.lookasidecache_storage)
-
-- def lookasidecache_upload(self, repo_name, filepath, hash):
-+ def lookasidecache_upload(self, repo_name, filepath, hash, offline):
- filename = os.path.basename(filepath)
- storage_filename = os.path.join(self.lookasidecache_storage, filename)
- with open(storage_filename, 'wb') as fout:
---
-2.20.1
-
diff --git a/rpkg.spec b/rpkg.spec
index 702a935..a05c6f7 100644
--- a/rpkg.spec
+++ b/rpkg.spec
@@ -3,8 +3,8 @@
%{!?__python2: %global __python2 %{__python}}
Name: rpkg
-Version: 1.58
-Release: 10%{?dist}
+Version: 1.59
+Release: 1%{?dist}
Summary: Python library for interacting with rpm+git
License: GPLv2+ and LGPLv2
@@ -21,10 +21,6 @@ Source0: https://pagure.io/releases/rpkg/%{name}-%{version}.tar.gz
# and there is only old rpm-python package in EL6 and 7, so just simply to
# remove rpm-py-installer for now.
Patch0: remove-koji-and-rpm-py-installer-from-requires.patch
-Patch1: 0001-Fix-clone-branches.patch
-Patch2: 0002-Custom-handler-for-koji-watch_tasks.patch
-Patch3: 0003-Show-nvr-in-container-build.patch
-Patch4: 0004-Different-import-offline-command-behavior.patch
%if 0%{?fedora} || 0%{?rhel} > 7
# Enable python3 build by default
@@ -68,7 +64,7 @@ BuildRequires: python2-pycurl
BuildRequires: python2-requests
BuildRequires: python2-six >= 1.9.0
BuildRequires: python2-openidc-client
-BuildRequires: python2-libmodulemd1
+BuildRequires: python2-libmodulemd
%endif
%if 0%{?rhel} && 0%{?rhel} < 7
@@ -103,7 +99,7 @@ Requires: python2-GitPython
Requires: python2-rpm
Requires: python2-pycurl
Requires: python2-six >= 1.9.0
-Requires: python2-libmodulemd1
+Requires: python2-libmodulemd
%endif
%if 0%{?rhel} && 0%{?rhel} < 7
@@ -141,7 +137,7 @@ BuildRequires: python3-koji >= 1.17
BuildRequires: python3-gobject-base
BuildRequires: libmodulemd
%else
-BuildRequires: python3-libmodulemd1
+BuildRequires: python3-libmodulemd
%endif
BuildRequires: python3-cccolutils
BuildRequires: python3-openidc-client
@@ -166,7 +162,7 @@ Requires: python3-koji >= 1.17
Requires: python3-gobject-base
Requires: libmodulemd
%else
-Requires: python3-libmodulemd1
+Requires: python3-libmodulemd
%endif
Requires: python3-rpm
Requires: python3-pycurl
@@ -275,6 +271,26 @@ nosetests tests
%changelog
+* Mon Sep 16 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-1
+- Add argument to skip build option for container-build (rcerven)
+- Sorting imports (onosek)
+- Ignore error when adding exclude patterns - 1733862 (onosek)
+- Path to lookaside repo fix (onosek)
+- Add commands for interacting with Koji side-tag plugin - 329 (lsedlar)
+- Do not delete files related to gating on import (onosek)
+- Support integer values in the optional module-build arguments (mprahl)
+- container-build: add --build-release argument (kdreyer)
+- Allow some arguments for container-build together (onosek)
+- git-changelog: Fix running on Python 3 - 3 (onosek)
+- Port to libmodulemd 2 API (lsedlar)
+- Module-overview allows filtering by owner - 325 (onosek)
+- Different import --offline command behavior - #445 (onosek)
+- Show nvr in container-build (onosek)
+- Custom handler for koji watch_tasks (onosek)
+- Unittests for clone command (onosek)
+- Fix clone --branches - rhbz#1707223 (tmz)
+- Make gitbuildhash work for windows builds (lsedlar)
+
* Mon Sep 16 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-10
- Update koji dependency
diff --git a/sources b/sources
index 6855be4..9752728 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpkg-1.58.tar.gz) = 2bb8064fbf716d24a43a959be528214c90feef1b8ffdb24f8ed2338e22a4694182ae0977e074c60280605efacd6f02a6c13b9304eefa230d461311930d085e1f
+SHA512 (rpkg-1.59.tar.gz) = 773173f7133d65c8326649fac70c7f7ac32502f4cfe911d7d8988cad3892f0ea418aefa43c1a4a9a8ca68d1e020064d7c82a4e9d4e1a0c82ec9ace627bea3f20
reply other threads:[~2026-08-10 21:44 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178639824904.1.6990058001132337706.rpms-rpkg-c2ee9d537d64@fedoraproject.org \
--to=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox