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.65
Date: Mon, 10 Aug 2026 21:44:29 GMT	[thread overview]
Message-ID: <178639826950.1.2670100589749046659.rpms-rpkg-6faa8b45d328@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/rpkg
            Branch : 1.70-1
            Commit : 6faa8b45d3284a043b9d0fbf88c97110b5f8d07b
            Author : Ondřej Nosek <onosek@redhat.com>
            Date   : 2022-09-06T22:48:12+00:00
            Stats  : +41/-630 in 10 file(s)
            URL    : https://src.fedoraproject.org/rpms/rpkg/c/6faa8b45d3284a043b9d0fbf88c97110b5f8d07b?branch=1.70-1

            Log:
            New release 1.65

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

---
diff --git a/.gitignore b/.gitignore
index 94bbdab..62aba62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,3 +60,4 @@
 /rpkg-1.62.tar.gz
 /rpkg-1.63.tar.gz
 /rpkg-1.64.tar.gz
+/rpkg-1.65.tar.gz

diff --git a/0002-Remove-pytest-coverage-execution.patch b/0002-Remove-pytest-coverage-execution.patch
index 1d92183..fbc9cb7 100644
--- a/0002-Remove-pytest-coverage-execution.patch
+++ b/0002-Remove-pytest-coverage-execution.patch
@@ -1,26 +1,25 @@
-From d6a407c80ec2aca51e8bd01e0a133bfa8890946b Mon Sep 17 00:00:00 2001
+From 8bf7c3b1336738ed5938f679fc4d450c3f8f0a62 Mon Sep 17 00:00:00 2001
 From: Ondrej Nosek <onosek@redhat.com>
-Date: Mon, 7 Feb 2022 02:21:55 +0100
+Date: Wed, 7 Sep 2022 00:11:56 +0200
 Subject: [PATCH] Remove pytest coverage execution
 
 Signed-off-by: Ondrej Nosek <onosek@redhat.com>
 ---
- setup.cfg | 2 --
- 1 file changed, 2 deletions(-)
+ setup.cfg | 1 -
+ 1 file changed, 1 deletion(-)
 
 diff --git a/setup.cfg b/setup.cfg
-index 9299433..4fe73fa 100644
+index 5e29c2f..4fe73fa 100644
 --- a/setup.cfg
 +++ b/setup.cfg
-@@ -5,8 +5,6 @@ test = pytest
+@@ -5,7 +5,6 @@ test = pytest
  max-line-length = 100
  
  [tool:pytest]
--cover-package = pyrpkg
 -addopts = --cov=pyrpkg
  testpaths = tests
  
  [egg_info]
 -- 
-2.34.1
+2.37.2
 

diff --git a/0004-Add-custom-user-metadata-to-build-command.patch b/0004-Add-custom-user-metadata-to-build-command.patch
deleted file mode 100644
index 1550b16..0000000
--- a/0004-Add-custom-user-metadata-to-build-command.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From f008396c503f02e4a9af6e81c5d95a3c86fb2198 Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Wed, 9 Mar 2022 03:24:12 +0100
-Subject: [PATCH] Add `--custom-user-metadata` to build command
-
-Add support for `--custom-user-metadata` argument for `build` and
-`scratch-build` commands. This will pass a JSON string of custom
-metadata to Koji/Brew to be deserialized and stored under the build's
-extra.custom_user_metadata field.
-Example: fedpkg scratch-build --srpm --custom-user-metadata
-'{"name1":"value1","name2":"value2"}'
-
-JIRA: RHELCMP-8318
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py |  5 ++++-
- pyrpkg/cli.py      | 19 ++++++++++++++++++-
- tests/test_cli.py  | 12 ++++++++++++
- 3 files changed, 34 insertions(+), 2 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 85970df..ab8a4a6 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -2312,7 +2312,7 @@ class Commands(object):
- 
-     def build(self, skip_tag=False, scratch=False, background=False,
-               url=None, chain=None, arches=None, sets=False, nvr_check=True,
--              fail_fast=False):
-+              fail_fast=False, custom_user_metadata=None):
-         """Initiate a build in build system
- 
-         :param bool skip_tag: Skip the tag action after the build.
-@@ -2328,6 +2328,7 @@ class Commands(object):
-         :param bool fail_fast: Perform the build in fast failure mode, which
-             will cause the entire build to fail if any subtask/architecture
-             build fails.
-+        :param str custom_user_metadata JSON string of custom metadata
-         :return: task ID returned from Koji API ``build`` and ``chainBuild``.
-         :rtype: int
-         """
-@@ -2394,6 +2395,8 @@ class Commands(object):
-                     raise rpkgError('Invalid architecture name: %s' % arch)
-             cmd.append('--arch-override=%s' % ','.join(arches))
-             opts['arch_override'] = ' '.join(arches)
-+        if custom_user_metadata:
-+            opts['custom_user_metadata'] = custom_user_metadata
- 
-         cmd.append(self.target)
- 
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 8efb841..6423664 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -16,6 +16,7 @@ from __future__ import print_function
- 
- import argparse
- import getpass
-+import json
- import logging
- import os
- import re
-@@ -505,6 +506,10 @@ class cliClient(object):
-             help='Submit build to buildsystem without check if NVR was '
-                  'already built. NVR is constructed locally and may be '
-                  'different from NVR constructed during build on builder.')
-+        self.build_parser_common.add_argument(
-+            "--custom-user-metadata", type=str,
-+            help=('Provide a JSON string of custom metadata to be deserialized and '
-+                  'stored under the build\'s extra.custom_user_metadata field'))
- 
-     def register_rpm_common(self):
-         """Create a common parser for rpm commands"""
-@@ -1994,6 +1999,17 @@ class cliClient(object):
-         if self.args.target:
-             self.cmd.target = self.args.target
- 
-+        custom_user_metadata = {}
-+        if hasattr(self.args, 'custom_user_metadata') and self.args.custom_user_metadata:
-+            try:
-+                custom_user_metadata = json.loads(self.args.custom_user_metadata)
-+            # Use ValueError instead of json.JSONDecodeError for Python 2 and 3 compatibility
-+            except ValueError as e:
-+                self.parser.error("--custom-user-metadata is not valid JSON: %s" % e)
-+
-+            if not isinstance(custom_user_metadata, dict):
-+                self.parser.error("--custom-user-metadata must be a JSON object")
-+
-         # handle uploading the srpm if we got one
-         url = self._handle_srpm_option()
- 
-@@ -2006,7 +2022,8 @@ class cliClient(object):
-             arches=arches,
-             sets=sets,
-             nvr_check=nvr_check,
--            fail_fast=self.args.fail_fast)
-+            fail_fast=self.args.fail_fast,
-+            custom_user_metadata=custom_user_metadata)
- 
-     def chainbuild(self):
-         """Implement chain-build command"""
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index dd21a54..35b9b53 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -3590,6 +3590,18 @@ class TestBuildPackage(FakeKojiCreds, CliTestCase):
-                           cli_opts=['--fail-fast'],
-                           expected_opts={'fail_fast': True})
- 
-+    def test_option_custom_user_metadata(self):
-+        self.assert_build('build',
-+                          cli_opts=['--custom-user-metadata', '{"a":"b"}'],
-+                          expected_opts={'custom_user_metadata': {'a': 'b'}})
-+
-+    def test_option_custom_user_metadata_scratch(self):
-+        self.assert_build('scratch-build',
-+                          cli_opts=['--custom-user-metadata', '{"a": "b", "c": "d"}'],
-+                          expected_opts={
-+                              'scratch': True,
-+                              'custom_user_metadata': {'a': 'b', 'c': 'd'}})
-+
-     @patch('pyrpkg.Commands.nvr', new_callable=PropertyMock)
-     def test_fail_to_get_nvr_but_has_to_check_nvr_existence(self, nvr):
-         nvr.side_effect = rpkgError
--- 
-2.35.1
-

diff --git a/0005-Better-exit-code-for-connection-error.patch b/0005-Better-exit-code-for-connection-error.patch
deleted file mode 100644
index 5e19772..0000000
--- a/0005-Better-exit-code-for-connection-error.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From e16dfc94bc40e3c678cfb7041031a4bb7a873a51 Mon Sep 17 00:00:00 2001
-From: Dominik Rumian <drumian@redhat.com>
-Date: Mon, 21 Mar 2022 12:00:00 +0100
-Subject: [PATCH] Better exit code for connection error
-
-When there is a connection failure while running _watch_build_tasks
-method then exit code '2' is returned and apropriate error message
-is logged.
-
-Jira: RHELCMP-5143
-
-Signed-off-by: Dominik Rumian <drumian@redhat.com>
----
- pyrpkg/cli.py | 18 +++++++++++-------
- 1 file changed, 11 insertions(+), 7 deletions(-)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 6423664..0f95bdc 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1887,17 +1887,21 @@ class cliClient(object):
- 
-         :param list task_ids: a list of task IDs to watch.
-         """
--        if self.args.nowait:
-+        if hasattr(self.args, 'nowait') and self.args.nowait:
-             return
-         # Pass info off to our koji task watcher
--        if self.args.dry_run:
-+        if hasattr(self.args, 'dry_run') and 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,
--                ki_handler=utils.make_koji_watch_tasks_handler(self.cmd.build_client)
--            )
-+            try:
-+                return koji_cli.lib.watch_tasks(
-+                    self.cmd.kojisession,
-+                    task_ids,
-+                    ki_handler=utils.make_koji_watch_tasks_handler(self.cmd.build_client)
-+                )
-+            except requests.exceptions.ConnectionError as e:
-+                self.log.error('Could not finish the \'watch task\'. Reason: %s', e)
-+                sys.exit(2)
- 
-     def extract_greenwave_url(self):
-         greenwave_url = None
--- 
-2.35.1
-

diff --git a/0006-add-background-option-for-container-build-which-allo.patch b/0006-add-background-option-for-container-build-which-allo.patch
deleted file mode 100644
index 03452bc..0000000
--- a/0006-add-background-option-for-container-build-which-allo.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 9efda7d562d072acbe183ea9f164fe974356fd60 Mon Sep 17 00:00:00 2001
-From: Robert Cerven <rcerven@redhat.com>
-Date: Thu, 7 Apr 2022 20:43:36 +0200
-Subject: [PATCH] add --background option for container-build which allows to
- create build with lower priority
-
-* CLOUDBLD-9358
-
-Signed-off-by: Robert Cerven <rcerven@redhat.com>
----
- pyrpkg/__init__.py |  7 ++++++-
- pyrpkg/cli.py      |  7 +++++++
- tests/test_cli.py  | 38 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 51 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 331c354..5b1e001 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3358,6 +3358,7 @@ class Commands(object):
-                              build_client=None,
-                              koji_task_watcher=None,
-                              nowait=False,
-+                             background=False,
-                              flatpak=False):
- 
-         # check if repo is dirty and all commits are pushed
-@@ -3405,7 +3406,11 @@ class Commands(object):
-             if flatpak:
-                 task_opts['flatpak'] = True
- 
--            priority = opts.get("priority", None)
-+            priority = None
-+            if background:
-+                # relative to koji.PRIO_DEFAULT
-+                priority = 5
-+
-             task_id = self.kojisession.buildContainer(source,
-                                                       container_target,
-                                                       task_opts,
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index c253bb5..e7b6e26 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1665,6 +1665,12 @@ class cliClient(object):
-             default=False,
-             help="Don't wait on build")
- 
-+        parser.add_argument(
-+            '--background',
-+            action='store_true',
-+            default=False,
-+            help="Run the build at a lower priority")
-+
-         parser.add_argument(
-             '--build-release',
-             default=None,
-@@ -2252,6 +2258,7 @@ class cliClient(object):
-             build_client=build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=self.args.nowait,
-+            background=self.args.background,
-             flatpak=flatpak)
-         return rv
- 
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 94aaaff..054e950 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -161,6 +161,39 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-+            flatpak=False
-+        )
-+
-+    def test_using_kojiprofile_background(self):
-+        cli_cmd = ['rpkg', '--path', self.cloned_repo_path,
-+                   'container-build', '--background']
-+
-+        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': None,
-+                'isolated': False,
-+                'koji_parent_build': None,
-+                'yum_repourls': None,
-+                'dependency_replacements': None,
-+                'git_branch': 'eng-rhel-7',
-+                'arches': None,
-+                'signing_intent': None,
-+                'compose_ids': None,
-+                'skip_build': False
-+            },
-+            kojiprofile='koji',
-+            build_client=utils.build_client,
-+            koji_task_watcher=koji_cli.lib.watch_tasks,
-+            nowait=False,
-+            background=True,
-             flatpak=False
-         )
- 
-@@ -193,6 +226,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-             flatpak=False
-         )
- 
-@@ -226,6 +260,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-             flatpak=False
-         )
- 
-@@ -258,6 +293,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-             flatpak=False
-         )
- 
-@@ -289,6 +325,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-             flatpak=False
-         )
- 
-@@ -346,6 +383,7 @@ class TestContainerBuildWithKoji(CliTestCase):
-             build_client=utils.build_client,
-             koji_task_watcher=koji_cli.lib.watch_tasks,
-             nowait=False,
-+            background=False,
-             flatpak=True
-         )
- 
--- 
-2.35.1
-

diff --git a/0007-Repair-flake8-complaints.patch b/0007-Repair-flake8-complaints.patch
deleted file mode 100644
index bf4fd14..0000000
--- a/0007-Repair-flake8-complaints.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From 0807e65b2a32689b0a756852191be931a2ff80e9 Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Thu, 18 Aug 2022 12:47:06 +0200
-Subject: [PATCH 1/2] Repair flake8 complaints
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py | 18 +++++++++---------
- pyrpkg/cli.py      |  4 ++--
- pyrpkg/utils.py    |  4 ++--
- tests/test_cli.py  |  5 +++--
- 4 files changed, 16 insertions(+), 15 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 7084bdc..17388d7 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -370,7 +370,7 @@ class Commands(object):
- 
-         if not self._branch_merge:
-             self.load_branch_merge()
--        return(self._branch_merge)
-+        return self._branch_merge
- 
-     @branch_merge.setter
-     def branch_merge(self, value):
-@@ -519,7 +519,7 @@ class Commands(object):
- 
-         if not self._localarch:
-             self.load_localarch()
--        return(self._localarch)
-+        return self._localarch
- 
-     def load_localarch(self):
-         """Get the local arch as defined by rpm"""
-@@ -652,7 +652,7 @@ class Commands(object):
-         """This property ensures the rel attribute"""
-         if self._rel is None:
-             self.load_nameverrel()
--        return(self._rel)
-+        return self._rel
- 
-     @property
-     def uses_autorelease(self):
-@@ -848,7 +848,7 @@ class Commands(object):
- 
-         if not self._repo:
-             self.load_repo()
--        return(self._repo)
-+        return self._repo
- 
-     def load_repo(self):
-         """Create a repo object from our path"""
-@@ -865,7 +865,7 @@ class Commands(object):
- 
-         if not self._rpmdefines:
-             self.load_rpmdefines()
--        return(self._rpmdefines)
-+        return self._rpmdefines
- 
-     def load_rpmdefines(self):
-         """Populate rpmdefines based on current active branch"""
-@@ -1143,7 +1143,7 @@ class Commands(object):
-         """This property ensures the ver attribute"""
-         if not self._ver:
-             self.load_nameverrel()
--        return(self._ver)
-+        return self._ver
- 
-     @property
-     def mock_results_dir(self):
-@@ -1366,13 +1366,13 @@ class Commands(object):
-             # between FC5 and FC12 or so.  Nobody builds for that old
-             # anyway.
-             if int(re.search(r'\d+', self.distval).group()) < 6:
--                return('md5')
-+                return 'md5'
-         except Exception:
-             # An error here is OK, don't bother the user.
-             pass
- 
-         # Fall back to the default hash type
--        return(self.hashtype)
-+        return self.hashtype
- 
-     def _fetch_remotes(self):
-         self.log.debug('Fetching remotes')
-@@ -2876,7 +2876,7 @@ class Commands(object):
-         )
- 
-         # Return the mess
--        return(config)
-+        return config
- 
-     def _config_dir_other(self, config_dir, filenames=('site-defaults.cfg',
-                                                        'logging.ini')):
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index bffa561..2eaec52 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -198,7 +198,7 @@ class cliClient(object):
- 
-         if not self._cmd:
-             self.load_cmd()
--        return(self._cmd)
-+        return self._cmd
- 
-     def _get_bool_opt(self, opt, default=False):
-         try:
-@@ -2463,7 +2463,7 @@ class cliClient(object):
-             # if a scratch build modulemd was specified on the command line,
-             # it's OK if the SCM info can't be determined
-             if not modmd_path:
--                raise(e)
-+                raise e
- 
-         auth_method, oidc_id_provider, oidc_client_id, oidc_client_secret, \
-             oidc_scopes = self.module_get_auth_config()
-diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
-index d3f7877..2d0e3ee 100644
---- a/pyrpkg/utils.py
-+++ b/pyrpkg/utils.py
-@@ -150,8 +150,8 @@ def make_koji_watch_tasks_handler(progname):
-         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)))
-+            print("Tasks still running. You can continue to watch with the '%s watch-task' command."
-+                  "\nRunning 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).
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index c532f71..dc7d648 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -68,7 +68,7 @@ KOJI_UNIQUE_PATH_REGEX = r'^cli-build/\d+\.\d+\.[a-zA-Z]+$'
- 
- 
- def mock_get_rpm_package_name(self, rpm_file):
--    return(os.path.basename(rpm_file)[:-len('.src.rpm')])
-+    return os.path.basename(rpm_file)[:-len('.src.rpm')]
- 
- 
- class MockLayout(layout.DistGitLayout):
-@@ -2224,7 +2224,8 @@ class TestPatch(CliTestCase):
-     @patch('os.rename')
-     @patch('os.path.isdir', return_value=True)
-     def test_rediff(self, isdir, rename):
--        origin_diff = '''diff -up fedpkg-1.29/fedpkg/__init__.py.origin fedpkg-1.29/fedpkg/__init__.py
-+        origin_diff = \
-+            '''diff -up fedpkg-1.29/fedpkg/__init__.py.origin fedpkg-1.29/fedpkg/__init__.py
- --- fedpkg-1.29/fedpkg/__init__.py.origin  2017-10-05 01:55:34.268488598 +0000
- +++ fedpkg-1.29/fedpkg/__init__.py	2017-10-05 01:55:59.736947877 +0000
- @@ -9,12 +9,12 @@
--- 
-2.37.1
-

diff --git a/0008-follow-redirects-for-lookaside.patch b/0008-follow-redirects-for-lookaside.patch
deleted file mode 100644
index 5026e13..0000000
--- a/0008-follow-redirects-for-lookaside.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 168c358667ca7d8527fd8061e98fb443a24dadc3 Mon Sep 17 00:00:00 2001
-From: Tomas Kopecek <tkopecek@redhat.com>
-Date: Thu, 18 Aug 2022 09:44:30 +0200
-Subject: [PATCH 2/2] follow redirects for lookaside
-
-Signed-off-by: Tomas Kopecek <tkopecek@redhat.com>
----
- pyrpkg/lookaside.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/lookaside.py b/pyrpkg/lookaside.py
-index 106fd0f..90f0f1e 100644
---- a/pyrpkg/lookaside.py
-+++ b/pyrpkg/lookaside.py
-@@ -173,7 +173,7 @@ class CGILookasideCache(object):
-             c.setopt(pycurl.WRITEDATA, f)
-             c.setopt(pycurl.LOW_SPEED_LIMIT, 1000)
-             c.setopt(pycurl.LOW_SPEED_TIME, 300)
--
-+            c.setopt(pycurl.FOLLOWLOCATION, 1)
-             try:
-                 c.perform()
-                 tstamp = c.getinfo(pycurl.INFO_FILETIME)
-@@ -226,6 +226,7 @@ class CGILookasideCache(object):
-             c.setopt(pycurl.URL, self.upload_url)
-             c.setopt(pycurl.WRITEFUNCTION, buf.write)
-             c.setopt(pycurl.HTTPPOST, post_data)
-+            c.setopt(pycurl.FOLLOWLOCATION, 1)
- 
-             if self.client_cert is not None:
-                 if os.path.exists(self.client_cert):
-@@ -314,6 +315,7 @@ class CGILookasideCache(object):
-             c.setopt(pycurl.PROGRESSFUNCTION, self.print_progress)
-             c.setopt(pycurl.WRITEFUNCTION, buf.write)
-             c.setopt(pycurl.HTTPPOST, post_data)
-+            c.setopt(pycurl.FOLLOWLOCATION, 1)
- 
-             if self.client_cert is not None:
-                 if os.path.exists(self.client_cert):
--- 
-2.37.1
-

diff --git a/0009-Extract-source-RPMs-with-rpm2archive-if-possible.patch b/0009-Extract-source-RPMs-with-rpm2archive-if-possible.patch
deleted file mode 100644
index cf7ddc7..0000000
--- a/0009-Extract-source-RPMs-with-rpm2archive-if-possible.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From e4fd6dae0fad2be998e3708856eabdfba90624dd Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Fri, 24 Jun 2022 09:41:08 +0200
-Subject: [PATCH] Extract source RPMs with rpm2archive if possible
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The output format from rpm2archive is not bound with the 4GB file size
-limit, like the rpm2cpio is.
-
-Unfortunately, rpm2archive doesn'ŧ exist on EL7, and still doesn't
-support the -n option on EL8.
-
-Related: https://pagure.io/copr/copr/issue/2225
-Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
----
- pyrpkg/utils.py | 40 +++++++++++++++++++++++++++++++++-------
- 1 file changed, 33 insertions(+), 7 deletions(-)
-
-diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
-index d754d78..d3f7877 100644
---- a/pyrpkg/utils.py
-+++ b/pyrpkg/utils.py
-@@ -245,6 +245,21 @@ def is_file_in_directory(file_path, dir_path):
-     return
- 
- 
-+def check_rpm2archive():
-+    """
-+    Check if rpm2archive exists, and if it supports the required argument.
-+    """
-+
-+    try:
-+        popen = subprocess.Popen(["rpm2archive", "--help"],
-+                                 stdout=subprocess.PIPE,
-+                                 stderr=subprocess.PIPE)
-+        return "--nocompression" in popen.communicate()[0].decode("utf8")
-+    except OSError:
-+        pass
-+    return False
-+
-+
- def extract_srpm(srpm_path, target_dir=None):
-     """
-     Extract srpm file into target directory. Target directory is a current
-@@ -255,13 +270,24 @@ def extract_srpm(srpm_path, target_dir=None):
-     if target_dir and not os.path.isdir(target_dir):
-         raise IOError("Target directory doesn't exist: {0}".format(target_dir))
- 
--    # rpm2cpio <srpm> | cpio -iud --quiet
--    cmd = ['rpm2cpio', srpm_path]
--    # We have to force cpio to copy out (u) because git messes with timestamps
--    cmd2 = ['cpio', '-iud', '--quiet']
--    rpmcall = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True)
--    cpiocall = subprocess.Popen(cmd2, stdin=rpmcall.stdout, universal_newlines=True, cwd=target_dir)
--    output, err = cpiocall.communicate()
-+    # We prefer using the newer rpm2archive utility over rpm2cpio for extraction
-+    # because it supports SRPMs >= 4GB (as long as it is available, i.e. epel8+)
-+    use_rpm2archive = check_rpm2archive()
-+
-+    # Use one of those:
-+    # rpm2archive -n - < SRPM_PATH | tar xf -
-+    # rpm2cpio - < SRPM_PATH | cpio -iud --quiet
-+    cmd = ['rpm2archive', '-n', '-'] if use_rpm2archive else ['rpm2cpio', '-']
-+    # Overwrite existing files (tar's default, cpio -u), because git messes with
-+    # timestamps.
-+    cmd2 = ['tar', 'xf', '-'] if use_rpm2archive else ['cpio', '-iud', '--quiet']
-+
-+    with open(srpm_path, 'r') as stdin:
-+        rpmcall = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=stdin,
-+                                   universal_newlines=True)
-+        cpiocall = subprocess.Popen(cmd2, stdin=rpmcall.stdout,
-+                                    universal_newlines=True, cwd=target_dir)
-+        output, err = cpiocall.communicate()
-     return output, err
- 
- 
--- 
-2.37.1
-

diff --git a/rpkg.spec b/rpkg.spec
index 6c9ac6a..6731ec3 100644
--- a/rpkg.spec
+++ b/rpkg.spec
@@ -1,6 +1,6 @@
 Name:           rpkg
-Version:        1.64
-Release:        9%{?dist}
+Version:        1.65
+Release:        1%{?dist}
 
 Summary:        Python library for interacting with rpm+git
 License:        GPLv2+ and LGPLv2
@@ -37,12 +37,6 @@ Patch2:         0002-Remove-pytest-coverage-execution.patch
 %if 0%{?with_python2}
 Patch3:         0003-Remove-Environment-Markers-syntax.patch
 %endif
-Patch4:         0004-Add-custom-user-metadata-to-build-command.patch
-Patch5:         0005-Better-exit-code-for-connection-error.patch
-Patch6:         0006-add-background-option-for-container-build-which-allo.patch
-Patch7:         0009-Extract-source-RPMs-with-rpm2archive-if-possible.patch
-Patch8:         0007-Repair-flake8-complaints.patch
-Patch9:         0008-follow-redirects-for-lookaside.patch
 
 %description
 Python library for interacting with rpm+git
@@ -255,6 +249,36 @@ example_cli_dir=$RPM_BUILD_ROOT%{_datadir}/%{name}/examples/cli
 
 
 %changelog
+* Wed Sep 7 2022 Ondřej Nosek <onosek@redhat.com> - 1.65-1
+- Extra arguments now use shell-escaping - revert (onosek
+- Remove pytest warnings (onosek)
+- Refuse import of packages processed by rpmautospec (zbyszek)
+- follow redirects for lookaside (tkopecek)
+- Repair flake8 complaints (onosek)
+- Fix high level bandit findings (onosek)
+- container-build: improve help text for --compose-ids argument (kdreyer)
+- CONTRIBUTING.md fix links (onosek)
+- Improve change management process documentation (onosek)
+- Removing bandit issues from cli.py (drumian)
+- Extract source RPMs with rpm2archive if possible (praiskup)
+- Set up bandit scanner for rpkg (onosek)
+- Refuse to "commit -c" when using %autochangelog - 454 (drumian)
+- Refactoring loading rpmautospec feature (onosek)
+- add --background option for container-build which allows to create build with
+  lower priority (rcerven)
+- 'clean --dry-run' deprecation warning (drumian)
+- Better exit code for connection error (drumian)
+- Fix generation of optional parameters in man page (mspacek)
+- Use absolute path for mock results in `lint` (onosek)
+- contaner-build does not check for existence of kojisession.buildContainer -
+  532 (drumian)
+- Fix: 'lint' subcommand should not invoke rpmlint on debuginfo packages -
+  rhbz#2052451 (drumian)
+- Add `--custom-user-metadata` to build command (onosek)
+- Fix: 'lint -i/--info' does not work - rhbz#2016616 (drumian)
+- Fix: AlreadyUploadedError when package has no sources - 604 (drumian)
+- Fix: Extra arguments now use shell-escaping - 587 (drumian)
+
 * Fri Aug 19 2022 Ondřej Nosek <onosek@redhat.com> - 1.64-9
 - Patch: Extract source RPMs with rpm2archive if possible
 

diff --git a/sources b/sources
index c8fadb6..78dc275 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpkg-1.64.tar.gz) = 3b5f364889399a0884e5ada17a6a88dbe66ed600f2ecd3a3c1db99cdbb0603e503199d35cf36677bafe0f4a91402a250b37e11245155247e60f74396004ebb16
+SHA512 (rpkg-1.65.tar.gz) = 6f8b5b0b075b0f42ffa4f1456c1a6ab9e3eff1c0bba89a9badee47e22670928e1c2769147b26aede3d79e17df783344e3b681d684dc8d011c77d439cbd3e2b65

                 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=178639826950.1.2670100589749046659.rpms-rpkg-6faa8b45d328@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