public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rpkg] 1.70-1: New release 1.60
@ 2026-08-10 21:44 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-08-10 21:44 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/rpkg
            Branch : 1.70-1
            Commit : 52383fa92a55f2c4492c432519ad7b6b8bb6e0b1
            Author : Ondřej Nosek <onosek@redhat.com>
            Date   : 2020-03-24T01:31:22+00:00
            Stats  : +168/-682 in 16 file(s)
            URL    : https://src.fedoraproject.org/rpms/rpkg/c/52383fa92a55f2c4492c432519ad7b6b8bb6e0b1?branch=1.70-1

            Log:
            New release 1.60

Signed-off-by: Ondřej Nosek <onosek@redhat.com>

---
diff --git a/.gitignore b/.gitignore
index 7483756..0071ae2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,4 @@
 /rpkg-1.57.tar.gz
 /rpkg-1.58.tar.gz
 /rpkg-1.59.tar.gz
+/rpkg-1.60.tar.gz

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/0001-Reuse-koji_cli.lib.unique_path.patch b/0001-Reuse-koji_cli.lib.unique_path.patch
deleted file mode 100644
index 45d3bb4..0000000
--- a/0001-Reuse-koji_cli.lib.unique_path.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 0ee52cf747e218008984d604c468f9e1515f1ef9 Mon Sep 17 00:00:00 2001
-From: Chenxiong Qi <cqi@redhat.com>
-Date: Mon, 15 Apr 2019 11:17:21 +0800
-Subject: [PATCH 1/5] Reuse koji_cli.lib.unique_path
-
-Call this method instead of constructing the path by rpkg itself.
-
-Merges: https://pagure.io/rpkg/pull-request/336
-
-Signed-off-by: Chenxiong Qi <cqi@redhat.com>
----
- pyrpkg/cli.py | 11 +++--------
- 1 file changed, 3 insertions(+), 8 deletions(-)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 6b584ae..7ab146d 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -18,11 +18,8 @@ import argparse
- import getpass
- import logging
- import os
--import random
- import re
--import string
- import sys
--import time
- from gettext import gettext as _  # For `_ArgumentParser'
- 
- import requests
-@@ -1646,11 +1643,9 @@ see API KEY section of copr-cli(1) man page.
-         callback = None
-         if not self.args.q:
-             callback = koji_cli.lib._progress_callback
--        # define a unique path for this upload.  Stolen from /usr/bin/koji
--        uniquepath = 'cli-build/%r.%s' % (
--            time.time(),
--            ''.join([random.choice(string.ascii_letters) for i in range(8)])
--        )
-+        # Define a unique path for this upload. Learned from koji to use prefix
-+        # cli-build.
-+        uniquepath = koji_cli.lib.unique_path('cli-build')
-         if not name:
-             name = os.path.basename(file)
-         # Should have a try here, not sure what errors we'll get yet though
--- 
-2.21.0
-

diff --git a/0002-Pass-skip_build-option-to-buildContainer.patch b/0002-Pass-skip_build-option-to-buildContainer.patch
deleted file mode 100644
index 55580a1..0000000
--- a/0002-Pass-skip_build-option-to-buildContainer.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 48e3ce2f754ba9b30b195a3c48ffdfb2b147d1ab Mon Sep 17 00:00:00 2001
-From: Robert Cerven <rcerven@redhat.com>
-Date: Mon, 7 Oct 2019 21:32:46 +0200
-Subject: [PATCH 2/5] Pass skip_build option to buildContainer
-
-* OSBS-7711
-
-Signed-off-by: Robert Cerven <rcerven@redhat.com>
----
- pyrpkg/__init__.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 68aceb2..8e0960b 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3126,7 +3126,8 @@ class Commands(object):
- 
-             task_opts = {}
-             for key in ('scratch', 'name', 'version', 'release',
--                        'yum_repourls', 'git_branch', 'signing_intent', 'compose_ids'):
-+                        'yum_repourls', 'git_branch', 'signing_intent', 'compose_ids',
-+                        'skip_build'):
-                 if key in opts:
-                     task_opts[key] = opts[key]
- 
--- 
-2.21.0
-

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-container-build-add-isolated-argument.patch b/0003-container-build-add-isolated-argument.patch
deleted file mode 100644
index ddc9f71..0000000
--- a/0003-container-build-add-isolated-argument.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 174f61ce13d47c84a1a9f697c7c6b7c817db73f7 Mon Sep 17 00:00:00 2001
-From: Ken Dreyer <kdreyer@redhat.com>
-Date: Wed, 25 Sep 2019 11:56:21 -0600
-Subject: [PATCH 3/5] container-build: add --isolated argument
-
-Add support for a new "--isolated" argument to the container-build
-sub-command.
-
-Isolated builds will only update the {version}-{release} unique tag and
-the primary tag in target container registry. Also, OSBS's bump_release
-plugin will ignore isolated builds.
-
-Users must specify a --build-release argument when the use the
---isolated argument.
-
-Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
----
- pyrpkg/__init__.py |  2 +-
- pyrpkg/cli.py      | 13 +++++++++++++
- tests/test_cli.py  |  4 ++++
- 3 files changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 8e0960b..1aa1c2b 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3125,7 +3125,7 @@ class Commands(object):
-             source = self.construct_build_url()
- 
-             task_opts = {}
--            for key in ('scratch', 'name', 'version', 'release',
-+            for key in ('scratch', 'name', 'version', 'release', 'isolated',
-                         'yum_repourls', 'git_branch', 'signing_intent', 'compose_ids',
-                         'skip_build'):
-                 if key in opts:
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 7ab146d..0845d99 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1544,6 +1544,13 @@ see API KEY section of copr-cli(1) man page.
-             default=None,
-             help="Specify a release value for this build's NVR")
- 
-+        parser.add_argument(
-+            '--isolated',
-+            help='Do not auto-increment the release value or update'
-+                 ' additional tags in the registry. You must use the'
-+                 ' --build-release argument',
-+            action="store_true")
-+
-         parser.add_argument(
-             '--scratch',
-             help='Scratch build',
-@@ -1981,6 +1988,7 @@ see API KEY section of copr-cli(1) man page.
-         opts = {"scratch": self.args.scratch,
-                 "quiet": self.args.q,
-                 "release": self.args.build_release,
-+                "isolated": self.args.isolated,
-                 "git_branch": self.cmd.branch_merge,
-                 "arches": self.args.arches,
-                 "skip_build": self.args.skip_build}
-@@ -1995,6 +2003,11 @@ see API KEY section of copr-cli(1) man page.
-                 "signing_intent": self.args.signing_intent,
-             })
- 
-+        if self.args.isolated and not self.args.build_release:
-+            self.container_build_parser.error(
-+                'missing --build-release: using --isolated requires'
-+                ' --build-release option')
-+
-         section_name = "%s.container-build" % self.name
-         err_msg = "Missing %(option)s option in [%(plugin.section)s] section. " \
-                   "Using %(option)s from [%(root.section)s]"
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index ae87030..35b37d6 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -224,6 +224,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'scratch': False,
-                 'quiet': False,
-                 'release': None,
-+                'isolated': False,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -254,6 +255,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'scratch': False,
-                 'quiet': False,
-                 'release': None,
-+                'isolated': False,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -293,6 +295,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'scratch': False,
-                 'quiet': False,
-                 'release': None,
-+                'isolated': False,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -350,6 +353,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'scratch': False,
-                 'quiet': False,
-                 'release': None,
-+                'isolated': False,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-                 'skip_build': False
--- 
-2.21.0
-

diff --git a/0004-tests-add-container-build-isolated-test.patch b/0004-tests-add-container-build-isolated-test.patch
deleted file mode 100644
index d3994b3..0000000
--- a/0004-tests-add-container-build-isolated-test.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 10de8c40d2f2964ce0c4f643a143c59e5fa11f94 Mon Sep 17 00:00:00 2001
-From: Ken Dreyer <kdreyer@redhat.com>
-Date: Fri, 11 Oct 2019 09:42:22 -0600
-Subject: [PATCH 4/5] tests: add container-build --isolated test
-
-Verify the behavior of the container-build "--isolated" option.
-
-Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
----
- tests/test_cli.py | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 35b37d6..fa18647 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -271,6 +271,36 @@ class TestContainerBuildWithKoji(CliTestCase):
-             flatpak=False
-         )
- 
-+    def test_isolated(self):
-+        cli_cmd = ['rpkg', '--path', self.cloned_repo_path, 'container-build',
-+                   '--isolated', '--build-release', '99']
-+
-+        with patch('sys.argv', new=cli_cmd):
-+            cli = self.new_cli()
-+            cli.container_build_koji()
-+
-+        self.mock_container_build_koji.assert_called_once_with(
-+            False,
-+            opts={
-+                'scratch': False,
-+                'quiet': False,
-+                'release': '99',
-+                'isolated': True,
-+                'yum_repourls': None,
-+                'git_branch': 'eng-rhel-7',
-+                'arches': None,
-+                'signing_intent': None,
-+                'compose_ids': None,
-+                'skip_build': False
-+            },
-+            kojiconfig=None,
-+            kojiprofile='koji',
-+            build_client=utils.build_client,
-+            koji_task_watcher=koji_cli.lib.watch_tasks,
-+            nowait=False,
-+            flatpak=False
-+        )
-+
-     def test_using_deprecated_kojiconfig(self):
-         """test_build_using_deprecated_kojiconfig
- 
--- 
-2.21.0
-

diff --git a/0005-container-build-add-koji-parent-build-argument.patch b/0005-container-build-add-koji-parent-build-argument.patch
deleted file mode 100644
index 4efcb65..0000000
--- a/0005-container-build-add-koji-parent-build-argument.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 4b48dbcba45bf3ad44a3179380972b3ad6997616 Mon Sep 17 00:00:00 2001
-From: Ken Dreyer <kdreyer@redhat.com>
-Date: Fri, 11 Oct 2019 09:42:08 -0600
-Subject: [PATCH 5/5] container-build: add --koji-parent-build argument
-
-Add support for a new "--koji-parent-build" argument to the
-container-build sub-command.
-
-OSBS allows users to dynamically override the Dockerfile's "FROM" image
-at build time. This allows you to build your container against a
-specific parent image without pushing changes to dist-git.
-
-Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
----
- pyrpkg/__init__.py | 4 ++--
- pyrpkg/cli.py      | 7 +++++++
- tests/test_cli.py  | 5 +++++
- 3 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 1aa1c2b..b139fe0 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3126,8 +3126,8 @@ class Commands(object):
- 
-             task_opts = {}
-             for key in ('scratch', 'name', 'version', 'release', 'isolated',
--                        'yum_repourls', 'git_branch', 'signing_intent', 'compose_ids',
--                        'skip_build'):
-+                        'koji_parent_build', 'yum_repourls', 'git_branch',
-+                        'signing_intent', 'compose_ids', 'skip_build'):
-                 if key in opts:
-                     task_opts[key] = opts[key]
- 
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 0845d99..0036136 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1551,6 +1551,12 @@ see API KEY section of copr-cli(1) man page.
-                  ' --build-release argument',
-             action="store_true")
- 
-+        parser.add_argument(
-+            '--koji-parent-build',
-+            default=None,
-+            help='Specify a Koji NVR for the parent container image. This'
-+                 ' will override the "FROM" value in your Dockerfile.')
-+
-         parser.add_argument(
-             '--scratch',
-             help='Scratch build',
-@@ -1989,6 +1995,7 @@ see API KEY section of copr-cli(1) man page.
-                 "quiet": self.args.q,
-                 "release": self.args.build_release,
-                 "isolated": self.args.isolated,
-+                "koji_parent_build": self.args.koji_parent_build,
-                 "git_branch": self.cmd.branch_merge,
-                 "arches": self.args.arches,
-                 "skip_build": self.args.skip_build}
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index fa18647..0868a30 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -225,6 +225,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'quiet': False,
-                 'release': None,
-                 'isolated': False,
-+                'koji_parent_build': None,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -256,6 +257,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'quiet': False,
-                 'release': None,
-                 'isolated': False,
-+                'koji_parent_build': None,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -286,6 +288,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'quiet': False,
-                 'release': '99',
-                 'isolated': True,
-+                'koji_parent_build': None,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -326,6 +329,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'quiet': False,
-                 'release': None,
-                 'isolated': False,
-+                'koji_parent_build': None,
-                 'yum_repourls': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-@@ -384,6 +388,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-                 'quiet': False,
-                 'release': None,
-                 'isolated': False,
-+                'koji_parent_build': None,
-                 'git_branch': 'eng-rhel-7',
-                 'arches': None,
-                 'skip_build': False
--- 
-2.21.0
-

diff --git a/0006-Isolated-container-build-should-allow-arches-overrid.patch b/0006-Isolated-container-build-should-allow-arches-overrid.patch
deleted file mode 100644
index 462a777..0000000
--- a/0006-Isolated-container-build-should-allow-arches-overrid.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c0c26f8512e5369b4616a98a34de306c666c709f Mon Sep 17 00:00:00 2001
-From: Robert Cerven <rcerven@redhat.com>
-Date: Mon, 4 Nov 2019 15:29:06 +0100
-Subject: [PATCH] Isolated container-build should allow arches override
-
-JIRA: OSBS-8025
-Merges: https://pagure.io/rpkg/pull-request/471
-
-Signed-off-by: Robert Cerven <rcerven@redhat.com>
----
- pyrpkg/__init__.py | 6 ++++--
- pyrpkg/cli.py      | 4 ++--
- 2 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index b139fe0..bcacca1 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3133,9 +3133,11 @@ class Commands(object):
- 
-             scratch = opts.get('scratch')
-             arches = opts.get('arches')
-+            isolated = opts.get('isolated')
-             if arches:
--                if not scratch:
--                    raise rpkgError('Cannot override arches for non-scratch builds')
-+                if not (scratch or isolated):
-+                    raise rpkgError('Cannot override arches for non-scratch and non-isolated '
-+                                    'builds')
-                 task_opts['arch_override'] = ' '.join(arches)
- 
-             if flatpak:
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 0036136..eb17284 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1566,7 +1566,7 @@ see API KEY section of copr-cli(1) man page.
-             '--arches',
-             action='store',
-             nargs='*',
--            help='Limit a scratch build to an arch. May have multiple arches.')
-+            help='Limit a scratch or a isolated build to an arch. May have multiple arches.')
- 
-         parser.add_argument(
-             '--skip-remote-rules-validation',
-@@ -2270,7 +2270,7 @@ see API KEY section of copr-cli(1) man page.
-             build_id, auth_method, oidc_id_provider, oidc_client_id,
-             oidc_client_secret, oidc_scopes)
-         if not self.args.q:
--                print('The module build #{0} was cancelled'.format(build_id))
-+            print('The module build #{0} was cancelled'.format(build_id))
- 
-     def module_build_info(self):
-         """Show information about an MBS build"""
--- 
-2.21.0
-

diff --git a/0007-Use-a-single-thread-pool-while-watching-module-build.patch b/0007-Use-a-single-thread-pool-while-watching-module-build.patch
deleted file mode 100644
index 3e51257..0000000
--- a/0007-Use-a-single-thread-pool-while-watching-module-build.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a99a9a447e809c280bc996b9ed6aba3c4a3a2360 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Hunor=20Csomort=C3=A1ni?= <csomh@redhat.com>
-Date: Tue, 3 Dec 2019 12:12:00 +0100
-Subject: [PATCH] Use a single thread pool while watching module builds
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Calling the Pool() constructor on each iteration leaks the threads,
-leading to a "can't start new thread" error during long waits.
-
-This can be aggravated by the constructor being called without an
-argument, which by default uses the systems CPU count to create the
-pool. When running in a container in a cloud environment this number can
-be unexpectedly large (for example, 64).
-
-Reuse the pool and limit the number of threads in the pool.
-
-Signed-off-by: Hunor Csomortáni <csomh@redhat.com>
----
- pyrpkg/__init__.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 67cff94..ab0ad39 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3826,8 +3826,11 @@ class Commands(object):
-         return stats
- 
-     def get_watched_module_builds(self, build_ids):
-+        # Limit the number of threads to an arbitrary 8,
-+        # to avoid starting too many threads when running in a
-+        # container in the cloud.
-+        pool = ThreadPool(min(8, len(build_ids) or 1))
-         while True:
--            pool = ThreadPool()
-             module_builds = pool.map(self.module_get_build, build_ids)
- 
-             for module_build in module_builds:
--- 
-2.21.0
-

diff --git a/0008-Propagate-module_hotfixes-to-getMockConfig.patch b/0008-Propagate-module_hotfixes-to-getMockConfig.patch
deleted file mode 100644
index 10f0aca..0000000
--- a/0008-Propagate-module_hotfixes-to-getMockConfig.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From cf8d67db902203d18e86378632e22454deb960b4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
-Date: Mon, 16 Dec 2019 16:10:46 +0100
-Subject: [PATCH] Propagate module_hotfixes to getMockConfig
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The Koji cli does this, and any wrapper tool should too to generate the
-same output.
-
-Resolves: rhbz#1780228
-Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
----
- pyrpkg/__init__.py | 2 ++
- tests/test_cli.py  | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 7fbc6c2..2dddad7 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -2646,6 +2646,7 @@ class Commands(object):
-             build_target["build_tag_name"]
-         )
-         package_manager = build_config.get("extra", {}).get("mock.package_manager")
-+        module_hotfixes = build_config.get("extra", {}).get("mock.yum.module_hotfixes")
- 
-         # Generate the config
-         config = koji.genMockConfig(
-@@ -2656,6 +2657,7 @@ class Commands(object):
-             repoid=repoid,
-             topurl=self.topurl,
-             package_manager=package_manager,
-+            module_hotfixes=module_hotfixes,
-         )
- 
-         # Return the mess
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index bc9745f..d80243d 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -1724,7 +1724,7 @@ class TestMockConfig(CliTestCase):
-         self.kojisession.getBuildTarget.return_value = self.fake_build_target
-         self.kojisession.getRepo.return_value = self.fake_repo
-         self.kojisession.getBuildConfig.return_value = {
--            "extra": {"mock.package_manager": "dnf"}
-+            "extra": {"mock.package_manager": "dnf", "mock.yum.module_hotfixes": 1}
-         }
- 
-     def tearDown(self):
-@@ -1751,6 +1751,7 @@ class TestMockConfig(CliTestCase):
-             repoid=self.fake_repo['id'],
-             topurl='http://localhost/hub',
-             package_manager="dnf",
-+            module_hotfixes=1,
-         )
- 
-         mock_config = stdout.getvalue().strip()
--- 
-2.21.0
-

diff --git a/0009-Don-t-expect-module-build-tasks-to-have-rpms.patch b/0009-Don-t-expect-module-build-tasks-to-have-rpms.patch
deleted file mode 100644
index 9f7c0a2..0000000
--- a/0009-Don-t-expect-module-build-tasks-to-have-rpms.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 02affb458224f39eb4593cfba8dead8d2faa5084 Mon Sep 17 00:00:00 2001
-From: Mariana Ulaieva <mulaieva@redhat.com>
-Date: Mon, 16 Dec 2019 14:07:04 +0100
-Subject: [PATCH] Don't expect module build tasks to have "rpms"
-
-There are module builds, which won't build any components.There are
-module builds, which won't build any components. These module builds
-won't have an "rpms" key in "tasks".
-
-Expect this to happen and don't fail when watching module builds of
-this kind.
-
-Merges: https://pagure.io/rpkg/pull-request/476
-
-Signed-off-by: Mariana Ulaieva <mulaieva@redhat.com>
----
- pyrpkg/__init__.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 2dddad7..3271a03 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3795,7 +3795,8 @@ class Commands(object):
-                 continue
-             stats[stats_key_mapping[task_state]] = n
-         stats['completion_percentage'] = \
--            int(float(stats['done'] + stats['failed']) / stats['total'] * 100)
-+            int(float(stats['done'] + stats['failed']) / stats['total'] * 100) \
-+            if stats['total'] > 0 else 100  # to avoid zero division when there were no task_infos
-         return stats
- 
-     def get_watched_module_builds(self, build_ids):
-@@ -3823,7 +3824,7 @@ class Commands(object):
-                 # with -1 so that None does not impact the comparison for
-                 # sort.
-                 formatted_tasks = []
--                for pkg_name, task_info in module_build['tasks']['rpms'].items():
-+                for pkg_name, task_info in module_build['tasks'].get('rpms', {}).items():
-                     new_task_info = task_info.copy()
-                     new_task_info['package_name'] = pkg_name
-                     if new_task_info['state'] is None:
--- 
-2.21.0
-

diff --git a/0010-RPM-4.15-changed-header-returns-from-type-bytes-to-s.patch b/0010-RPM-4.15-changed-header-returns-from-type-bytes-to-s.patch
deleted file mode 100644
index 64e9553..0000000
--- a/0010-RPM-4.15-changed-header-returns-from-type-bytes-to-s.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fdc40f7be78e120f6b880d352cc916f39d36477f Mon Sep 17 00:00:00 2001
-From: Merlin Mathesius <mmathesi@redhat.com>
-Date: Thu, 19 Dec 2019 07:48:20 -0600
-Subject: [PATCH] RPM 4.15 changed header returns from type 'bytes' to
- 'string'. Handle either by converting to 'string' if necessary.
-
-Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
----
- pyrpkg/cli.py | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index a26e1be..6ae3d37 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1683,6 +1683,20 @@ class cliClient(object):
-             contain RPM data.
-         :rtype: str
-         """
-+
-+        def _string(s):
-+            """RPM 4.15 changed header returns from type 'bytes' to 'string'.
-+            Handle either by always returning 'string'.
-+
-+            :param s: a 'bytes' or 'string' value representing an RPM
-+                package header.
-+            :return: always a 'string' representation of the RPM header.
-+            :rtype: str
-+            """
-+            if isinstance(s, bytes):
-+                return s.decode('utf-8')
-+            return s
-+
-         ts = rpm.TransactionSet()
-         ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES)
-         fdno = os.open(rpm_file, os.O_RDONLY)
-@@ -1691,7 +1705,7 @@ class cliClient(object):
-         except rpm.error:
-             return None
-         os.close(fdno)
--        return hdr[rpm.RPMTAG_NAME].decode('utf-8')
-+        return _string(hdr[rpm.RPMTAG_NAME])
- 
-     def _handle_srpm_option(self):
-         """Generate SRPM according to --srpm option value and upload it
--- 
-2.21.0
-

diff --git a/0011-Create-stats-for-module-builds-in-init-state.patch b/0011-Create-stats-for-module-builds-in-init-state.patch
deleted file mode 100644
index 152d286..0000000
--- a/0011-Create-stats-for-module-builds-in-init-state.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 5cce3d5957afd757fb4b4cebacb6d7f72510d78d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Hunor=20Csomort=C3=A1ni?= <csomh@redhat.com>
-Date: Tue, 17 Dec 2019 10:40:46 +0100
-Subject: [PATCH] Create stats for module builds in 'init' state
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When watching builds, the dictionary to track module build progress was
-not populated with tracking information due to an early 'continue'
-statement.
-
-This caused watching builds fail when builds transitioned from 'init' to
-'build' state between two watch cycles, with:
-
-    Could not execute module_build: 'tasks_stats'
-
-This happened when building modules without any components and starting
-the watch as soon as the build was submitted.
-
-Treating 'init' as any other state solves this issue, as the 'build'
-branch in 'module_watch_build()' will find tracking information
-pre-populated.
-
-This is safe to do since 02affb4: we won't fail on an empty 'tasks'
-dictionary.
-
-Signed-off-by: Hunor Csomortáni <csomh@redhat.com>
-
-Merges: https://pagure.io/rpkg/pull-request/478
----
- pyrpkg/__init__.py | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 3271a03..7236563 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3812,9 +3812,6 @@ class Commands(object):
-                 module_build['link'] = \
-                     self.module_get_url(module_build['id']).split('?')[0]
- 
--                if module_build['state_name'] == 'init':
--                    continue
--
-                 # tasks/rpms is a mapping from package name to package info,
-                 # e.g. {'pkg': {'nvr': ..., 'task_id': ..., 'state': ...}}
-                 # The injected task info will look like:
--- 
-2.21.0
-

diff --git a/rpkg.spec b/rpkg.spec
index e7b2c7e..9ea77f7 100644
--- a/rpkg.spec
+++ b/rpkg.spec
@@ -1,6 +1,6 @@
 Name:           rpkg
-Version:        1.59
-Release:        6%{?dist}
+Version:        1.60
+Release:        1%{?dist}
 
 Summary:        Python library for interacting with rpm+git
 License:        GPLv2+ and LGPLv2
@@ -17,30 +17,17 @@ 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-Reuse-koji_cli.lib.unique_path.patch
-Patch2:         0002-Pass-skip_build-option-to-buildContainer.patch
-Patch3:         0003-container-build-add-isolated-argument.patch
-Patch4:         0004-tests-add-container-build-isolated-test.patch
-Patch5:         0005-container-build-add-koji-parent-build-argument.patch
-Patch6:         0006-Isolated-container-build-should-allow-arches-overrid.patch
-Patch7:         0007-Use-a-single-thread-pool-while-watching-module-build.patch
-Patch8:         0008-Propagate-module_hotfixes-to-getMockConfig.patch
-Patch9:         0009-Don-t-expect-module-build-tasks-to-have-rpms.patch
-Patch10:        0010-RPM-4.15-changed-header-returns-from-type-bytes-to-s.patch
-Patch11:        0011-Create-stats-for-module-builds-in-init-state.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}}
@@ -128,7 +115,8 @@ 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}
@@ -185,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
@@ -265,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}
@@ -273,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}
@@ -281,6 +270,35 @@ 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
 

diff --git a/sources b/sources
index 9752728..39966a2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpkg-1.59.tar.gz) = 773173f7133d65c8326649fac70c7f7ac32502f4cfe911d7d8988cad3892f0ea418aefa43c1a4a9a8ca68d1e020064d7c82a4e9d4e1a0c82ec9ace627bea3f20
+SHA512 (rpkg-1.60.tar.gz) = 7055653943b897e8223e2d352e691d6c7d2ce82c926e3cfefbaea3c6fc8f71284e3e894f51a083e3f6e13a71445ea8383f188c01e5ee19fb14432244d9df11f6

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-10 21:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-10 21:44 [rpms/rpkg] 1.70-1: New release 1.60 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox