public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/rpkg] 1.70-1: Merge branch 'master' into epel8-playground
Date: Mon, 10 Aug 2026 21:44:12 GMT [thread overview]
Message-ID: <178639825229.1.1969522082520106989.rpms-rpkg-30bf2645e1b0@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/rpkg
Branch : 1.70-1
Commit : 30bf2645e1b0a9e8f74290cd85bdc5dad10ac596
Author : Ondřej Nosek <onosek@redhat.com>
Date : 2020-05-11T22:54:26+00:00
Stats : +242/-407 in 9 file(s)
URL : https://src.fedoraproject.org/rpms/rpkg/c/30bf2645e1b0a9e8f74290cd85bdc5dad10ac596?branch=1.70-1
Log:
Merge branch 'master' into epel8-playground
---
diff --git a/.gitignore b/.gitignore
index 50128a5..0071ae2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,3 +54,5 @@
/rpkg-1.56.tar.gz
/rpkg-1.57.tar.gz
/rpkg-1.58.tar.gz
+/rpkg-1.59.tar.gz
+/rpkg-1.60.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/0001-Repair-downloading-sources-into-external-directory.patch b/0001-Repair-downloading-sources-into-external-directory.patch
new file mode 100644
index 0000000..c1b1511
--- /dev/null
+++ b/0001-Repair-downloading-sources-into-external-directory.patch
@@ -0,0 +1,31 @@
+From ae1135dfbca05ddcd88bbcc962baf589dba143e1 Mon Sep 17 00:00:00 2001
+From: Ondrej Nosek <onosek@redhat.com>
+Date: Tue, 24 Mar 2020 01:23:53 +0100
+Subject: [PATCH] Repair downloading sources into external directory
+
+Signed-off-by: Ondrej Nosek <onosek@redhat.com>
+---
+ pyrpkg/utils.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
+index e6339db..d1b79b9 100644
+--- a/pyrpkg/utils.py
++++ b/pyrpkg/utils.py
+@@ -185,8 +185,11 @@ def is_file_tracked(file_path, repo_path):
+ # create a repo object from our path
+ try:
+ repo = git.Repo(repo_path)
+- except (git.InvalidGitRepositoryError, git.NoSuchPathError):
+- raise RuntimeError("%s is not a valid repo" % repo_path)
++ except git.InvalidGitRepositoryError:
++ # repo_path is not a valid repo - input file is not tracked
++ return False
++ except git.NoSuchPathError:
++ raise RuntimeError("%s is not a valid path" % repo_path)
+
+ if relative_file_path in repo.untracked_files:
+ return False
+--
+2.21.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/0002-Repair-compatible-formatting-for-Python-2.6.patch b/0002-Repair-compatible-formatting-for-Python-2.6.patch
new file mode 100644
index 0000000..9fcc464
--- /dev/null
+++ b/0002-Repair-compatible-formatting-for-Python-2.6.patch
@@ -0,0 +1,93 @@
+From abe0b0a9b650b1d55c2482d10ad8898f0efc00ea Mon Sep 17 00:00:00 2001
+From: Ondrej Nosek <onosek@redhat.com>
+Date: Tue, 24 Mar 2020 02:05:19 +0100
+Subject: [PATCH] Repair compatible formatting for Python 2.6
+
+Signed-off-by: Ondrej Nosek <onosek@redhat.com>
+---
+ pyrpkg/__init__.py | 12 ++++++------
+ pyrpkg/utils.py | 8 ++++----
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
+index 50f3302..791b66b 100644
+--- a/pyrpkg/__init__.py
++++ b/pyrpkg/__init__.py
+@@ -1358,14 +1358,14 @@ class Commands(object):
+ target_dir = tempfile.mkdtemp(suffix="extract-srpm", prefix="rpkg")
+ try:
+ try:
+- self.log.debug("Extracting srpm '{}', destination '{}'".format(
++ self.log.debug("Extracting srpm '{0}', destination '{1}'".format(
+ srpm, target_dir
+ ))
+ # method 'is_lookaside_eligible_file' will access extracted
+ # files to detect its encoding (binary or not)
+ _, _ = extract_srpm(srpm, target_dir)
+ except Exception as e:
+- self.log.error("Extraction of srpm has failed {}".format(e))
++ self.log.error("Extraction of srpm has failed {0}".format(e))
+ raise
+
+ # Cycle through the srpm content and decide where to upload files
+@@ -1633,8 +1633,8 @@ class Commands(object):
+ namespace = repo.split("/")[0] if "/" in repo else "rpms"
+ # Has current namespace its own clone config?
+ selected_clone_config = None
+- if hasattr(self, "clone_config_{}".format(namespace)):
+- selected_clone_config = getattr(self, "clone_config_{}".format(namespace))
++ if hasattr(self, "clone_config_{0}".format(namespace)):
++ selected_clone_config = getattr(self, "clone_config_{0}".format(namespace))
+
+ # Valid configuration is non-empty string
+ if selected_clone_config:
+@@ -1875,10 +1875,10 @@ class Commands(object):
+ os.remove(file)
+
+ try:
+- self.log.debug("Extracting srpm '{}'".format(srpm))
++ self.log.debug("Extracting srpm '{0}'".format(srpm))
+ output, err = extract_srpm(srpm)
+ except Exception as e:
+- self.log.error("Extraction of srpm has failed {}".format(e))
++ self.log.error("Extraction of srpm has failed {0}".format(e))
+ raise
+ if output:
+ self.log.debug(output)
+diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
+index d1b79b9..1a50a3e 100644
+--- a/pyrpkg/utils.py
++++ b/pyrpkg/utils.py
+@@ -251,9 +251,9 @@ def extract_srpm(srpm_path, target_dir=None):
+ directory if not specified
+ """
+ if not os.path.isfile(srpm_path):
+- raise IOError("Input file doesn't exist: {}".format(srpm_path))
++ raise IOError("Input file doesn't exist: {0}".format(srpm_path))
+ if target_dir and not os.path.isdir(target_dir):
+- raise IOError("Target directory doesn't exist: {}".format(target_dir))
++ raise IOError("Target directory doesn't exist: {0}".format(target_dir))
+
+ # rpm2cpio <srpm> | cpio -iud --quiet
+ cmd = ['rpm2cpio', srpm_path]
+@@ -272,7 +272,7 @@ def is_lookaside_eligible_file(file_name, dir_path=None):
+ """
+ file_path = os.path.join(dir_path or "", file_name)
+ if not os.path.isfile(file_path):
+- raise IOError("Input file doesn't exist: {}".format(file_path))
++ raise IOError("Input file doesn't exist: {0}".format(file_path))
+
+ p = subprocess.Popen(
+ # parameter '-b' causes brief output - without filename in the output
+@@ -284,7 +284,7 @@ def is_lookaside_eligible_file(file_name, dir_path=None):
+ )
+ output, errors = p.communicate()
+ if errors:
+- raise RuntimeError("Mime encoding detection of the file '{}' has failed: {}".format(
++ raise RuntimeError("Mime encoding detection of the file '{0}' has failed: {1}".format(
+ file_path,
+ errors
+ ))
+--
+2.21.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 b61cf15..9ea77f7 100644
--- a/rpkg.spec
+++ b/rpkg.spec
@@ -1,10 +1,6 @@
-# sitelib for noarch packages, sitearch for others (remove the unneeded one)
-%{!?python2_sitelib: %global python2_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%{!?__python2: %global __python2 %{__python}}
-
Name: rpkg
-Version: 1.58
-Release: 5%{?dist}
+Version: 1.60
+Release: 1%{?dist}
Summary: Python library for interacting with rpm+git
License: GPLv2+ and LGPLv2
@@ -21,23 +17,20 @@ 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
+Patch1: 0001-Repair-downloading-sources-into-external-directory.patch
+Patch2: 0002-Repair-compatible-formatting-for-Python-2.6.patch
%if 0%{?fedora} || 0%{?rhel} > 7
-# Enable python3 build by default
-%global with_python3 1
-%else
-%global with_python3 0
-%endif
-
-%if 0%{?fedora} > 29 || 0%{?rhel} > 7
# Disable python2 build by default
%global with_python2 0
+# Enable python3 build by default
+%global with_python3 1
%else
%global with_python2 1
+%global with_python3 0
+# sitelib for noarch packages, sitearch for others (remove the unneeded one)
+%{!?python2_sitelib: %global python2_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+%{!?__python2: %global __python2 %{__python}}
%endif
%description
@@ -53,12 +46,7 @@ BuildRequires: python2-devel
# We br these things for man page generation due to imports
BuildRequires: rpmlint
-%if 0%{?rhel} && 0%{?rhel} < 8
-# TODO: Require 1.17 version of koji when it is released for RHEL
-BuildRequires: python2-koji >= 1.16.2-32.6
-%else
BuildRequires: python2-koji >= 1.17
-%endif
BuildRequires: python2-cccolutils
BuildRequires: PyYAML
@@ -69,12 +57,11 @@ BuildRequires: python-requests
BuildRequires: python-six >= 1.9.0
%else
BuildRequires: python2-GitPython
-BuildRequires: python2-gobject-base
BuildRequires: python2-pycurl
BuildRequires: python2-requests
BuildRequires: python2-six >= 1.9.0
BuildRequires: python2-openidc-client
-BuildRequires: libmodulemd
+BuildRequires: python2-libmodulemd
%endif
%if 0%{?rhel} && 0%{?rhel} < 7
@@ -95,12 +82,7 @@ Requires: rpm-build
Requires: rpmlint
Requires: python2-cccolutils
-%if 0%{?rhel} && 0%{?rhel} < 8
-# TODO: Require 1.17 version of koji when it is released for RHEL
-Requires: python2-koji >= 1.16.2-32.6
-%else
Requires: python2-koji >= 1.17
-%endif
Requires: PyYAML
%if 0%{?rhel}
@@ -114,8 +96,7 @@ Requires: python2-GitPython
Requires: python2-rpm
Requires: python2-pycurl
Requires: python2-six >= 1.9.0
-Requires: python2-gobject-base
-Requires: libmodulemd
+Requires: python2-libmodulemd
%endif
%if 0%{?rhel} && 0%{?rhel} < 7
@@ -134,20 +115,27 @@ Obsoletes: pyrpkg < 1.49-2
%description -n python2-%{name}
A python library for managing RPM package sources in a git repository.
-%endif # with python2
+%endif
+# end of python2 section
%if 0%{?with_python3}
%package -n python3-%{name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{name}}
+# Obsolete python2-rpkg (remove after Fedora29)
+%if 0%{?with_python2} == 0
+Obsoletes: python2-rpkg < %{version}-%{release}
+%endif
BuildRequires: python3-devel
BuildRequires: python3-GitPython
+BuildRequires: python3-koji >= 1.17
%if 0%{?rhel} > 7
-BuildRequires: python3-koji >= 1.16.2-32.6
+BuildRequires: python3-gobject-base
+BuildRequires: libmodulemd
%else
-BuildRequires: python3-koji >= 1.17
+BuildRequires: python3-libmodulemd
%endif
BuildRequires: python3-cccolutils
BuildRequires: python3-openidc-client
@@ -157,9 +145,7 @@ BuildRequires: python3-six >= 1.9.0
BuildRequires: python3-requests
BuildRequires: python3-setuptools
BuildRequires: python3-nose
-BuildRequires: python3-gobject-base
BuildRequires: python3-PyYAML
-BuildRequires: libmodulemd
BuildRequires: rpmlint
Requires: mock
@@ -169,17 +155,17 @@ Requires: rpmlint
Requires: python3-GitPython >= 0.2.0
Requires: python3-cccolutils
+Requires: python3-koji >= 1.17
%if 0%{?rhel} > 7
-Requires: python3-koji >= 1.16.2-32.6
+Requires: python3-gobject-base
+Requires: libmodulemd
%else
-Requires: python3-koji >= 1.17
+Requires: python3-libmodulemd
%endif
Requires: python3-rpm
Requires: python3-pycurl
Requires: python3-six >= 1.9.0
-Requires: python3-gobject-base
Requires: python3-PyYAML
-Requires: libmodulemd
Requires: %{name}-common = %{version}-%{release}
@@ -187,7 +173,8 @@ Conflicts: fedpkg < 1.26
%description -n python3-%{name}
A python library for managing RPM package sources in a git repository.
-%endif # with python3
+%endif
+# end of python3 section
%package common
@@ -267,7 +254,7 @@ nosetests tests
# For noarch packages: sitelib
%{python2_sitelib}/pyrpkg
%{python2_sitelib}/%{name}-%{version}-py*.egg-info
-%endif # with python2
+%endif
%if 0%{?with_python3}
%files -n python3-%{name}
@@ -275,7 +262,7 @@ nosetests tests
%license COPYING COPYING-koji LGPL
%{python3_sitelib}/pyrpkg
%{python3_sitelib}/%{name}-%{version}-py*.egg-info
-%endif # with python3
+%endif
%files common
%{_datadir}/%{name}
@@ -283,6 +270,91 @@ nosetests tests
%changelog
+* Fri Mar 20 2020 Ondřej Nosek <onosek@redhat.com> - 1.60-1
+- More transparent check of retired package (onosek)
+- Run newer version of sphinx-build tool (onosek)
+- Lookaside cache upload is not based on an extension - #484 (onosek)
+- container-build: additional warning when using --release (mlangsdo)
+- allow compose-id with repo-url for container_build (rcerven)
+- Clone config customization for namespaces - 231 (onosek)
+- Repair Jenkins tests (onosek)
+- (new-)sources should fail with git tracked files - 241 (onosek)
+- Handle new cachito dependency replacement argument (athoscr)
+- module-build optional key help - 280 (onosek)
+- Modify watch-cancel message (sgallagh)
+- Create stats for module builds in 'init' state (csomh)
+- RPM 4.15 changed header returns from type 'bytes' to 'string'. Handle either
+ by converting to 'string' if necessary. (mmathesi)
+- Don't expect module build tasks to have "rpms" (mulaieva)
+- Propagate module_hotfixes to getMockConfig - rhbz#1780228 (lsedlar)
+- Add check for wrong repo name format during clone - 353 (onosek)
+- Simplify methods for getting namespace giturl (onosek)
+- Use a single thread pool while watching module builds (csomh)
+- Also capture stderr in logfile (orion)
+- Line up descriptions for better code readability (onosek)
+- Isolated container-build should allow arches override (rcerven)
+- container-build: add --koji-parent-build argument (kdreyer)
+- tests: add container-build --isolated test (kdreyer)
+- container-build: add --isolated argument (kdreyer)
+- Pass skip_build option to buildContainer (rcerven)
+- Reuse koji_cli.lib.unique_path (cqi)
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.59-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Jan 02 2020 Ondřej Nosek <onosek@redhat.com> - 1.59-5
+- Some patches:
+- Propagate module_hotfixes to getMockConfig
+- Don't expect module build tasks to have "rpms"
+- RPM 4.15 changed header - type conversion
+- Create stats for module builds in 'init' state
+
+* Tue Dec 03 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-4
+- Patch: limited thread pool for watching module builds
+
+* Thu Nov 14 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-3
+- Backport: Isolated container-build should allow arches override
+
+* Fri Oct 25 2019 Ondrej Nosek <onosek@redhat.com> - 1.59-2
+- Backport: container-build: add --isolated and --koji-parent-build arguments
+- Backport: Pass skip_build option to buildContainer
+- Backport: Reuse koji_cli.lib.unique_path
+
+* 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
+
+* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 1.58-9
+- Rebuilt for Python 3.8
+
+* Thu Aug 01 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-8
+- Obsoletes python2-rpkg after upgrade to Fedora30
+
+* Wed Jul 31 2019 Stephen Gallagher <sgallagh@redhat.com> - 1.58-7
+- Fix libmodulemd requirements
+
+* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.58-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Mon Jun 10 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-5
- Now again, libmodulemd is required instead of python3-libmodulemd because
it was causing troubles with upgrades.
diff --git a/sources b/sources
index 6855be4..39966a2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpkg-1.58.tar.gz) = 2bb8064fbf716d24a43a959be528214c90feef1b8ffdb24f8ed2338e22a4694182ae0977e074c60280605efacd6f02a6c13b9304eefa230d461311930d085e1f
+SHA512 (rpkg-1.60.tar.gz) = 7055653943b897e8223e2d352e691d6c7d2ce82c926e3cfefbaea3c6fc8f71284e3e894f51a083e3f6e13a71445ea8383f188c01e5ee19fb14432244d9df11f6
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=178639825229.1.1969522082520106989.rpms-rpkg-30bf2645e1b0@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