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