public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rpkg] 1.70-1: Merge branch 'master' into epel8-playground
@ 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 : 30bf2645e1b0a9e8f74290cd85bdc5dad10ac596
Author : Ondřej Nosek <onosek@redhat.com>
Date   : 2020-05-11T22:54:26+00:00
Stats  : +242/-407 in 9 file(s)
URL    : https://src.fedoraproject.org/rpms/rpkg/c/30bf2645e1b0a9e8f74290cd85bdc5dad10ac596?branch=1.70-1

Log:
Merge branch 'master' into epel8-playground

---
diff --git a/.gitignore b/.gitignore
index 50128a5..0071ae2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,3 +54,5 @@
 /rpkg-1.56.tar.gz
 /rpkg-1.57.tar.gz
 /rpkg-1.58.tar.gz
+/rpkg-1.59.tar.gz
+/rpkg-1.60.tar.gz

diff --git a/0001-Fix-clone-branches.patch b/0001-Fix-clone-branches.patch
deleted file mode 100644
index 1536310..0000000
--- a/0001-Fix-clone-branches.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c194bf503ffd176403708345a230501b634aa373 Mon Sep 17 00:00:00 2001
-From: Todd Zullinger <tmz@pobox.com>
-Date: Tue, 7 May 2019 21:40:31 -0400
-Subject: [PATCH] Fix clone --branches
-
-When cloning with the --branches option we first clone a bare repo
-locally, then clone each branch from that bare repo.  Avoid adding an
-excludes file to the temporary bare repo (which fails because we pass
-the wrong path to the git dir).  Add an excludes file to each branch
-dir.
-
-Resolves: rhbz#1707223
-Signed-off-by: Todd Zullinger <tmz@pobox.com>
----
- pyrpkg/__init__.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index c12b52b..43bfc1d 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -1546,7 +1546,8 @@ class Commands(object):
-         conf_git = git.Git(os.path.join(path, git_dir))
-         self._clone_config(conf_git, repo)
- 
--        self._add_git_excludes(os.path.join(path, git_dir))
-+        if not bare_dir:
-+            self._add_git_excludes(os.path.join(path, git_dir))
- 
-         return
- 
-@@ -1625,6 +1626,9 @@ class Commands(object):
-                 branch_git.config("--replace-all",
-                                   "remote.%s.url" % self.default_branch_remote,
-                                   giturl)
-+
-+                # Add excludes
-+                self._add_git_excludes(branch_path)
-             except (git.GitCommandError, OSError) as e:
-                 raise rpkgError('Could not locally clone %s from %s: %s'
-                                 % (branch, repo_path, e))
--- 
-2.20.1
-

diff --git a/0001-Repair-downloading-sources-into-external-directory.patch b/0001-Repair-downloading-sources-into-external-directory.patch
new file mode 100644
index 0000000..c1b1511
--- /dev/null
+++ b/0001-Repair-downloading-sources-into-external-directory.patch
@@ -0,0 +1,31 @@
+From ae1135dfbca05ddcd88bbcc962baf589dba143e1 Mon Sep 17 00:00:00 2001
+From: Ondrej Nosek <onosek@redhat.com>
+Date: Tue, 24 Mar 2020 01:23:53 +0100
+Subject: [PATCH] Repair downloading sources into external directory
+
+Signed-off-by: Ondrej Nosek <onosek@redhat.com>
+---
+ pyrpkg/utils.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
+index e6339db..d1b79b9 100644
+--- a/pyrpkg/utils.py
++++ b/pyrpkg/utils.py
+@@ -185,8 +185,11 @@ def is_file_tracked(file_path, repo_path):
+     # create a repo object from our path
+     try:
+         repo = git.Repo(repo_path)
+-    except (git.InvalidGitRepositoryError, git.NoSuchPathError):
+-        raise RuntimeError("%s is not a valid repo" % repo_path)
++    except git.InvalidGitRepositoryError:
++        # repo_path is not a valid repo - input file is not tracked
++        return False
++    except git.NoSuchPathError:
++        raise RuntimeError("%s is not a valid path" % repo_path)
+ 
+     if relative_file_path in repo.untracked_files:
+         return False
+-- 
+2.21.1
+

diff --git a/0002-Custom-handler-for-koji-watch_tasks.patch b/0002-Custom-handler-for-koji-watch_tasks.patch
deleted file mode 100644
index 9e4c2d2..0000000
--- a/0002-Custom-handler-for-koji-watch_tasks.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 910ed50456ea41995989d59a5a469799ba8d4e5b Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Wed, 15 May 2019 18:53:30 +0200
-Subject: [PATCH] Custom handler for koji watch_tasks
-
-Output text during rhpkg/fedpkg build process states that there
-is a 'watch_task' subcommand. When 'koji_cli' library is imported
-in rhpkg/fedpkg tool, it shows that command is named
-'rhpkg/fedpkg watch_task' instead of 'brew/koji watch_task'. Custom
-handler replaces the internal one inside koji_cli library.
-Additional fix in rhpkg is needed after this change is released.
-
-Relates: rhbz#1570921
-Relates: COMPOSE-2809
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/cli.py     |  6 +++++-
- pyrpkg/utils.py   | 21 +++++++++++++++++++++
- tests/test_cli.py | 39 ++++++++++++++++++++++-----------------
- 3 files changed, 48 insertions(+), 18 deletions(-)
-
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 7b83a44..72be1cf 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -1667,7 +1667,11 @@ see API KEY section of copr-cli(1) man page.
-         if self.args.dry_run:
-             self.log.info('DRY-RUN: Watch tasks: %s', task_ids)
-         else:
--            return koji_cli.lib.watch_tasks(self.cmd.kojisession, task_ids)
-+            return koji_cli.lib.watch_tasks(
-+                self.cmd.kojisession,
-+                task_ids,
-+                ki_handler=utils.make_koji_watch_tasks_handler(self.cmd.build_client)
-+            )
- 
-     def extract_greenwave_url(self):
-         greenwave_url = None
-diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
-index 2268e6f..37a39e2 100644
---- a/pyrpkg/utils.py
-+++ b/pyrpkg/utils.py
-@@ -128,3 +128,24 @@ def validate_module_build_optional(optional_arg):
-             'The "{0}" optional argument is reserved to built-in arguments'.format(key))
- 
-     return (key, value)
-+
-+
-+def make_koji_watch_tasks_handler(progname):
-+    def koji_watch_tasks_handler(_, tasks, quiet):
-+        """
-+        Displays information about running tasks and says how to watch them.
-+        Unlike the default version at koji library it overrides progname
-+        to show brew, koji or other build client.
-+        """
-+        if not quiet:
-+            tlist = ['%s: %s' % (t.str(), t.display_state(t.info))
-+                     for t in tasks.values() if not t.is_done()]
-+            print("""Tasks still running. You can continue to watch with the '%s watch-task' command.
-+Running Tasks: %s""" % (progname, '\n'.join(tlist)))
-+
-+    # Save reference of the handler during first time use.
-+    # It guarantees that the same object is always returned (it allows unittest to pass).
-+    global handler_reference
-+    if 'handler_reference' not in globals():
-+        handler_reference = koji_watch_tasks_handler
-+    return handler_reference
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 785e103..b3e0718 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -3235,23 +3235,28 @@ class TestBuildPackage(FakeKojiCreds, CliTestCase):
-         mock_build_api = None
- 
-         with patch('koji_cli.lib.watch_tasks') as watch_tasks:
--            with patch('sys.argv', new=cli_cmd):
--                cli = self.new_cli(cfg=config_file)
--                if sub_command == 'build':
--                    mock_build_api = session.build
--                    cli.build()
--                elif sub_command == 'scratch-build':
--                    mock_build_api = session.build
--                    cli.scratch_build()
--                elif sub_command == 'chain-build':
--                    mock_build_api = session.chainBuild
--                    cli.chainbuild()
--
--            if '--nowait' in cli_cmd:
--                watch_tasks.assert_not_called()
--            else:
--                watch_tasks.assert_called_once_with(
--                    session, [mock_build_api.return_value])
-+            with patch('pyrpkg.utils.make_koji_watch_tasks_handler') as mock_ki:
-+                with patch('sys.argv', new=cli_cmd):
-+                    cli = self.new_cli(cfg=config_file)
-+                    if sub_command == 'build':
-+                        mock_build_api = session.build
-+                        cli.build()
-+                    elif sub_command == 'scratch-build':
-+                        mock_build_api = session.build
-+                        cli.scratch_build()
-+                    elif sub_command == 'chain-build':
-+                        mock_build_api = session.chainBuild
-+                        cli.chainbuild()
-+
-+                if '--nowait' in cli_cmd:
-+                    watch_tasks.assert_not_called()
-+                else:
-+                    watch_tasks.assert_called_once_with(
-+                        session,
-+                        [mock_build_api.return_value],
-+                        ki_handler=mock_ki.return_value
-+                    )
-+                    self.assertEqual(mock_ki.call_args, (("koji",),))
- 
-         mock_build_api.assert_called_once()
- 
--- 
-2.20.1
-

diff --git a/0002-Repair-compatible-formatting-for-Python-2.6.patch b/0002-Repair-compatible-formatting-for-Python-2.6.patch
new file mode 100644
index 0000000..9fcc464
--- /dev/null
+++ b/0002-Repair-compatible-formatting-for-Python-2.6.patch
@@ -0,0 +1,93 @@
+From abe0b0a9b650b1d55c2482d10ad8898f0efc00ea Mon Sep 17 00:00:00 2001
+From: Ondrej Nosek <onosek@redhat.com>
+Date: Tue, 24 Mar 2020 02:05:19 +0100
+Subject: [PATCH] Repair compatible formatting for Python 2.6
+
+Signed-off-by: Ondrej Nosek <onosek@redhat.com>
+---
+ pyrpkg/__init__.py | 12 ++++++------
+ pyrpkg/utils.py    |  8 ++++----
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
+index 50f3302..791b66b 100644
+--- a/pyrpkg/__init__.py
++++ b/pyrpkg/__init__.py
+@@ -1358,14 +1358,14 @@ class Commands(object):
+         target_dir = tempfile.mkdtemp(suffix="extract-srpm", prefix="rpkg")
+         try:
+             try:
+-                self.log.debug("Extracting srpm '{}', destination '{}'".format(
++                self.log.debug("Extracting srpm '{0}', destination '{1}'".format(
+                     srpm, target_dir
+                 ))
+                 # method 'is_lookaside_eligible_file' will access extracted
+                 # files to detect its encoding (binary or not)
+                 _, _ = extract_srpm(srpm, target_dir)
+             except Exception as e:
+-                self.log.error("Extraction of srpm has failed {}".format(e))
++                self.log.error("Extraction of srpm has failed {0}".format(e))
+                 raise
+ 
+             # Cycle through the srpm content and decide where to upload files
+@@ -1633,8 +1633,8 @@ class Commands(object):
+         namespace = repo.split("/")[0] if "/" in repo else "rpms"
+         # Has current namespace its own clone config?
+         selected_clone_config = None
+-        if hasattr(self, "clone_config_{}".format(namespace)):
+-            selected_clone_config = getattr(self, "clone_config_{}".format(namespace))
++        if hasattr(self, "clone_config_{0}".format(namespace)):
++            selected_clone_config = getattr(self, "clone_config_{0}".format(namespace))
+ 
+         # Valid configuration is non-empty string
+         if selected_clone_config:
+@@ -1875,10 +1875,10 @@ class Commands(object):
+                 os.remove(file)
+ 
+         try:
+-            self.log.debug("Extracting srpm '{}'".format(srpm))
++            self.log.debug("Extracting srpm '{0}'".format(srpm))
+             output, err = extract_srpm(srpm)
+         except Exception as e:
+-            self.log.error("Extraction of srpm has failed {}".format(e))
++            self.log.error("Extraction of srpm has failed {0}".format(e))
+             raise
+         if output:
+             self.log.debug(output)
+diff --git a/pyrpkg/utils.py b/pyrpkg/utils.py
+index d1b79b9..1a50a3e 100644
+--- a/pyrpkg/utils.py
++++ b/pyrpkg/utils.py
+@@ -251,9 +251,9 @@ def extract_srpm(srpm_path, target_dir=None):
+     directory if not specified
+     """
+     if not os.path.isfile(srpm_path):
+-        raise IOError("Input file doesn't exist: {}".format(srpm_path))
++        raise IOError("Input file doesn't exist: {0}".format(srpm_path))
+     if target_dir and not os.path.isdir(target_dir):
+-        raise IOError("Target directory doesn't exist: {}".format(target_dir))
++        raise IOError("Target directory doesn't exist: {0}".format(target_dir))
+ 
+     # rpm2cpio <srpm> | cpio -iud --quiet
+     cmd = ['rpm2cpio', srpm_path]
+@@ -272,7 +272,7 @@ def is_lookaside_eligible_file(file_name, dir_path=None):
+     """
+     file_path = os.path.join(dir_path or "", file_name)
+     if not os.path.isfile(file_path):
+-        raise IOError("Input file doesn't exist: {}".format(file_path))
++        raise IOError("Input file doesn't exist: {0}".format(file_path))
+ 
+     p = subprocess.Popen(
+         # parameter '-b' causes brief output - without filename in the output
+@@ -284,7 +284,7 @@ def is_lookaside_eligible_file(file_name, dir_path=None):
+     )
+     output, errors = p.communicate()
+     if errors:
+-        raise RuntimeError("Mime encoding detection of the file '{}' has failed: {}".format(
++        raise RuntimeError("Mime encoding detection of the file '{0}' has failed: {1}".format(
+             file_path,
+             errors
+         ))
+-- 
+2.21.1
+

diff --git a/0003-Show-nvr-in-container-build.patch b/0003-Show-nvr-in-container-build.patch
deleted file mode 100644
index d7a6bae..0000000
--- a/0003-Show-nvr-in-container-build.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 7cef29d843fabce5abab317303e9016c91414913 Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Fri, 24 May 2019 11:21:34 +0200
-Subject: [PATCH] Show nvr in container-build
-
-JIRA: COMPOSE-3481
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py | 42 ++++++++++++++++++++++++++++++++++--------
- 1 file changed, 34 insertions(+), 8 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 291b9ac..0348420 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -3036,6 +3036,39 @@ class Commands(object):
-         # Run the command
-         self._run_command(cmd, shell=True)
- 
-+    def _process_koji_task_result(self, task_id):
-+        """
-+        Parse and modify output from brew/koji containing information about
-+        task (and eventually builds).
-+
-+        :param int task_id: id of the current task
-+        :return: record containing information about repositories, builds and nvrs
-+        :rtype: dict(str, str)
-+        """
-+        koji_result = self.kojisession.getTaskResult(task_id)
-+        if not koji_result:
-+            raise rpkgError('Unknown task: %s' % task_id)
-+        koji_builds = koji_result.get("koji_builds", [])
-+        koji_result["koji_builds"] = []
-+
-+        for build_id in koji_builds:
-+            try:
-+                build_id = int(build_id)
-+            except ValueError:
-+                raise rpkgError("Can not convert 'build_id' to integer: %s" % build_id)
-+
-+            bdata = self.kojisession.getBuild(build_id)
-+            if not bdata:
-+                raise rpkgError('Unknown build: %s' % build_id)
-+            nvr = bdata.get("nvr")
-+            if nvr:
-+                koji_result.setdefault("nvrs", []).append(nvr)
-+
-+            koji_result["koji_builds"].append(
-+                "%s/buildinfo?buildID=%d" % (self.kojiweburl, build_id))
-+
-+        return koji_result
-+
-     def container_build_koji(self, target_override=False, opts={},
-                              kojiconfig=None, kojiprofile=None,
-                              build_client=None,
-@@ -3105,14 +3138,7 @@ class Commands(object):
-             if not nowait:
-                 rv = koji_task_watcher(self.kojisession, [task_id])
-                 if rv == 0:
--                    result = self.kojisession.getTaskResult(task_id)
--                    try:
--                        result["koji_builds"] = [
--                            "%s/buildinfo?buildID=%s" % (self.kojiweburl,
--                                                         build_id)
--                            for build_id in result.get("koji_builds", [])]
--                    except TypeError:
--                        pass
-+                    result = self._process_koji_task_result(task_id)
-                     log_result(self.log.info, result)
- 
-         finally:
--- 
-2.20.1
-

diff --git a/0004-Different-import-offline-command-behavior.patch b/0004-Different-import-offline-command-behavior.patch
deleted file mode 100644
index b17da5b..0000000
--- a/0004-Different-import-offline-command-behavior.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 810b2f7efda65ba369f1bb865f25d351915db1ab Mon Sep 17 00:00:00 2001
-From: Ondrej Nosek <onosek@redhat.com>
-Date: Fri, 24 May 2019 17:43:01 +0200
-Subject: [PATCH] Different import --offline command behavior
-
-`*pkg import --offline` didn't update 'source' and '.gitignore' files.
-Modified incorrect output about uploaded sources. Offline mode now does
-everything but uploading sources into lookaside cache.
-
-JIRA: COMPOSE-3558
-Fixes: #445
-Resolves: rhbz#1175262
-
-Signed-off-by: Ondrej Nosek <onosek@redhat.com>
----
- pyrpkg/__init__.py  |  5 +++--
- pyrpkg/cli.py       | 15 +++++++++++----
- pyrpkg/lookaside.py |  8 +++++++-
- tests/test_cli.py   |  2 +-
- 4 files changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/pyrpkg/__init__.py b/pyrpkg/__init__.py
-index 0348420..1f61082 100644
---- a/pyrpkg/__init__.py
-+++ b/pyrpkg/__init__.py
-@@ -2818,7 +2818,7 @@ class Commands(object):
-             self.log.debug('Cleaning up mock temporary config directory: %s', config_dir)
-             self._cleanup_tmp_dir(config_dir)
- 
--    def upload(self, files, replace=False):
-+    def upload(self, files, replace=False, offline=False):
-         """Upload source file(s) in the lookaside cache
- 
-         Both file `sources` and `.gitignore` will be updated with uploaded
-@@ -2827,6 +2827,7 @@ class Commands(object):
-         :param iterable files: an iterable of files to upload.
-         :param bool replace: optionally replace the existing tracked sources.
-             Defaults to `False`.
-+        :param bool offline: do all the steps except uploading into lookaside cache
-         :raises rpkgError: if failed to add a file to file `sources`.
-         """
- 
-@@ -2859,7 +2860,7 @@ class Commands(object):
-             gitignore.add('/%s' % file_basename)
-             self.lookasidecache.upload(
-                 self.ns_repo_name if self.lookaside_namespaced else self.repo_name,
--                f, file_hash)
-+                f, file_hash, offline=offline)
- 
-         sourcesf.write()
-         gitignore.write()
-diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py
-index 72be1cf..eb0f499 100644
---- a/pyrpkg/cli.py
-+++ b/pyrpkg/cli.py
-@@ -2027,13 +2027,20 @@ see API KEY section of copr-cli(1) man page.
- 
-     def import_srpm(self):
-         uploadfiles = self.cmd.import_srpm(self.args.srpm)
--        if uploadfiles and not self.args.offline:
--            self.cmd.upload(uploadfiles, replace=True)
-+        if uploadfiles:
-+            self.cmd.upload(uploadfiles, replace=True, offline=self.args.offline)
-         if not self.args.skip_diffs:
-             self.cmd.diff(cached=True)
-         self.log.info('--------------------------------------------')
--        self.log.info("New content staged and new sources uploaded.")
--        self.log.info("Commit if happy or revert with: git reset --hard HEAD")
-+        if uploadfiles and self.args.offline:
-+            self.log.info("New content staged without uploading sources.")
-+            self.log.info("Commit and upload (%s upload <source>) if happy or revert with: "
-+                          "'git reset --hard HEAD' (warning: it reverts also eventual user "
-+                          "changes)." % (self._name,))
-+        else:
-+            self.log.info("New content staged and new sources uploaded.")
-+            self.log.info("Commit if happy or revert with: 'git reset --hard HEAD' (warning: "
-+                          "it reverts also eventual user changes).")
- 
-     def install(self):
-         self.sources()
-diff --git a/pyrpkg/lookaside.py b/pyrpkg/lookaside.py
-index d28c1d9..ede81ea 100644
---- a/pyrpkg/lookaside.py
-+++ b/pyrpkg/lookaside.py
-@@ -269,7 +269,7 @@ class CGILookasideCache(object):
-         raise UploadError('Error checking for %s at %s'
-                           % (filename, self.upload_url))
- 
--    def upload(self, name, filepath, hash):
-+    def upload(self, name, filepath, hash, offline=False):
-         """Upload a source file
- 
-         :param str name: The name of the module. (usually the name of the SRPM)
-@@ -277,7 +277,13 @@ class CGILookasideCache(object):
-             server side expects).
-         :param str filepath: The full path to the file to upload.
-         :param str hash: The known good hash of the file.
-+        :param bool offline: Method prints a message about disabled upload and does return.
-         """
-+        if offline:
-+            self.log.info("Uploading: %s", filepath)
-+            self.log.info("*Upload disabled*")
-+            return
-+
-         filename = os.path.basename(filepath)
- 
-         # As in remote_file_exists, we need to convert unicode strings to str
-diff --git a/tests/test_cli.py b/tests/test_cli.py
-index b3e0718..ee92389 100644
---- a/tests/test_cli.py
-+++ b/tests/test_cli.py
-@@ -1163,7 +1163,7 @@ class LookasideCacheMock(object):
-     def destroy_lookaside_cache(self):
-         shutil.rmtree(self.lookasidecache_storage)
- 
--    def lookasidecache_upload(self, repo_name, filepath, hash):
-+    def lookasidecache_upload(self, repo_name, filepath, hash, offline):
-         filename = os.path.basename(filepath)
-         storage_filename = os.path.join(self.lookasidecache_storage, filename)
-         with open(storage_filename, 'wb') as fout:
--- 
-2.20.1
-

diff --git a/rpkg.spec b/rpkg.spec
index b61cf15..9ea77f7 100644
--- a/rpkg.spec
+++ b/rpkg.spec
@@ -1,10 +1,6 @@
-# sitelib for noarch packages, sitearch for others (remove the unneeded one)
-%{!?python2_sitelib: %global python2_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%{!?__python2: %global __python2 %{__python}}
-
 Name:           rpkg
-Version:        1.58
-Release:        5%{?dist}
+Version:        1.60
+Release:        1%{?dist}
 
 Summary:        Python library for interacting with rpm+git
 License:        GPLv2+ and LGPLv2
@@ -21,23 +17,20 @@ Source0:        https://pagure.io/releases/rpkg/%{name}-%{version}.tar.gz
 # and there is only old rpm-python package in EL6 and 7, so just simply to
 # remove rpm-py-installer for now.
 Patch0:         remove-koji-and-rpm-py-installer-from-requires.patch
-Patch1:         0001-Fix-clone-branches.patch
-Patch2:         0002-Custom-handler-for-koji-watch_tasks.patch
-Patch3:         0003-Show-nvr-in-container-build.patch
-Patch4:         0004-Different-import-offline-command-behavior.patch
+Patch1:         0001-Repair-downloading-sources-into-external-directory.patch
+Patch2:         0002-Repair-compatible-formatting-for-Python-2.6.patch
 
 %if 0%{?fedora} || 0%{?rhel} > 7
-# Enable python3 build by default
-%global with_python3 1
-%else
-%global with_python3 0
-%endif
-
-%if 0%{?fedora} > 29 || 0%{?rhel} > 7
 # Disable python2 build by default
 %global with_python2 0
+# Enable python3 build by default
+%global with_python3 1
 %else
 %global with_python2 1
+%global with_python3 0
+# sitelib for noarch packages, sitearch for others (remove the unneeded one)
+%{!?python2_sitelib: %global python2_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
+%{!?__python2: %global __python2 %{__python}}
 %endif
 
 %description
@@ -53,12 +46,7 @@ BuildRequires:  python2-devel
 
 # We br these things for man page generation due to imports
 BuildRequires:  rpmlint
-%if 0%{?rhel} && 0%{?rhel} < 8
-# TODO: Require 1.17 version of koji when it is released for RHEL
-BuildRequires:  python2-koji >= 1.16.2-32.6
-%else
 BuildRequires:  python2-koji >= 1.17
-%endif
 BuildRequires:  python2-cccolutils
 BuildRequires:  PyYAML
 
@@ -69,12 +57,11 @@ BuildRequires:  python-requests
 BuildRequires:  python-six >= 1.9.0
 %else
 BuildRequires:  python2-GitPython
-BuildRequires:  python2-gobject-base
 BuildRequires:  python2-pycurl
 BuildRequires:  python2-requests
 BuildRequires:  python2-six >= 1.9.0
 BuildRequires:  python2-openidc-client
-BuildRequires:  libmodulemd
+BuildRequires:  python2-libmodulemd
 %endif
 
 %if 0%{?rhel} && 0%{?rhel} < 7
@@ -95,12 +82,7 @@ Requires:       rpm-build
 Requires:       rpmlint
 
 Requires:       python2-cccolutils
-%if 0%{?rhel} && 0%{?rhel} < 8
-# TODO: Require 1.17 version of koji when it is released for RHEL
-Requires:       python2-koji >= 1.16.2-32.6
-%else
 Requires:       python2-koji >= 1.17
-%endif
 Requires:       PyYAML
 
 %if 0%{?rhel}
@@ -114,8 +96,7 @@ Requires:       python2-GitPython
 Requires:       python2-rpm
 Requires:       python2-pycurl
 Requires:       python2-six >= 1.9.0
-Requires:       python2-gobject-base
-Requires:       libmodulemd
+Requires:       python2-libmodulemd
 %endif
 
 %if 0%{?rhel} && 0%{?rhel} < 7
@@ -134,20 +115,27 @@ Obsoletes: pyrpkg < 1.49-2
 
 %description -n python2-%{name}
 A python library for managing RPM package sources in a git repository.
-%endif # with python2
+%endif
+# end of python2 section
 
 
 %if 0%{?with_python3}
 %package -n python3-%{name}
 Summary:        %{summary}
 %{?python_provide:%python_provide python3-%{name}}
+# Obsolete python2-rpkg (remove after Fedora29)
+%if 0%{?with_python2} == 0
+Obsoletes:      python2-rpkg < %{version}-%{release}
+%endif
 
 BuildRequires:  python3-devel
 BuildRequires:  python3-GitPython
+BuildRequires:  python3-koji >= 1.17
 %if 0%{?rhel} > 7
-BuildRequires:  python3-koji >= 1.16.2-32.6
+BuildRequires:  python3-gobject-base
+BuildRequires:  libmodulemd
 %else
-BuildRequires:  python3-koji >= 1.17
+BuildRequires:  python3-libmodulemd
 %endif
 BuildRequires:  python3-cccolutils
 BuildRequires:  python3-openidc-client
@@ -157,9 +145,7 @@ BuildRequires:  python3-six >= 1.9.0
 BuildRequires:  python3-requests
 BuildRequires:  python3-setuptools
 BuildRequires:  python3-nose
-BuildRequires:  python3-gobject-base
 BuildRequires:  python3-PyYAML
-BuildRequires:  libmodulemd
 BuildRequires:  rpmlint
 
 Requires:       mock
@@ -169,17 +155,17 @@ Requires:       rpmlint
 
 Requires:       python3-GitPython >= 0.2.0
 Requires:       python3-cccolutils
+Requires:       python3-koji >= 1.17
 %if 0%{?rhel} > 7
-Requires:       python3-koji >= 1.16.2-32.6
+Requires:       python3-gobject-base
+Requires:       libmodulemd
 %else
-Requires:       python3-koji >= 1.17
+Requires:       python3-libmodulemd
 %endif
 Requires:       python3-rpm
 Requires:       python3-pycurl
 Requires:       python3-six >= 1.9.0
-Requires:       python3-gobject-base
 Requires:       python3-PyYAML
-Requires:       libmodulemd
 
 Requires:       %{name}-common = %{version}-%{release}
 
@@ -187,7 +173,8 @@ Conflicts:      fedpkg < 1.26
 
 %description -n python3-%{name}
 A python library for managing RPM package sources in a git repository.
-%endif # with python3
+%endif
+# end of python3 section
 
 
 %package common
@@ -267,7 +254,7 @@ nosetests tests
 # For noarch packages: sitelib
 %{python2_sitelib}/pyrpkg
 %{python2_sitelib}/%{name}-%{version}-py*.egg-info
-%endif # with python2
+%endif
 
 %if 0%{?with_python3}
 %files -n python3-%{name}
@@ -275,7 +262,7 @@ nosetests tests
 %license COPYING COPYING-koji LGPL
 %{python3_sitelib}/pyrpkg
 %{python3_sitelib}/%{name}-%{version}-py*.egg-info
-%endif # with python3
+%endif
 
 %files common
 %{_datadir}/%{name}
@@ -283,6 +270,91 @@ nosetests tests
 
 
 %changelog
+* Fri Mar 20 2020 Ondřej Nosek <onosek@redhat.com> - 1.60-1
+- More transparent check of retired package (onosek)
+- Run newer version of sphinx-build tool (onosek)
+- Lookaside cache upload is not based on an extension - #484 (onosek)
+- container-build: additional warning when using --release (mlangsdo)
+- allow compose-id with repo-url for container_build (rcerven)
+- Clone config customization for namespaces - 231 (onosek)
+- Repair Jenkins tests (onosek)
+- (new-)sources should fail with git tracked files - 241 (onosek)
+- Handle new cachito dependency replacement argument (athoscr)
+- module-build optional key help - 280 (onosek)
+- Modify watch-cancel message (sgallagh)
+- Create stats for module builds in 'init' state (csomh)
+- RPM 4.15 changed header returns from type 'bytes' to 'string'. Handle either
+  by converting to 'string' if necessary. (mmathesi)
+- Don't expect module build tasks to have "rpms" (mulaieva)
+- Propagate module_hotfixes to getMockConfig - rhbz#1780228 (lsedlar)
+- Add check for wrong repo name format during clone - 353 (onosek)
+- Simplify methods for getting namespace giturl (onosek)
+- Use a single thread pool while watching module builds (csomh)
+- Also capture stderr in logfile (orion)
+- Line up descriptions for better code readability (onosek)
+- Isolated container-build should allow arches override (rcerven)
+- container-build: add --koji-parent-build argument (kdreyer)
+- tests: add container-build --isolated test (kdreyer)
+- container-build: add --isolated argument (kdreyer)
+- Pass skip_build option to buildContainer (rcerven)
+- Reuse koji_cli.lib.unique_path (cqi)
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.59-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Jan 02 2020 Ondřej Nosek <onosek@redhat.com> - 1.59-5
+- Some patches:
+- Propagate module_hotfixes to getMockConfig
+- Don't expect module build tasks to have "rpms"
+- RPM 4.15 changed header - type conversion
+- Create stats for module builds in 'init' state
+
+* Tue Dec 03 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-4
+- Patch: limited thread pool for watching module builds
+
+* Thu Nov 14 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-3
+- Backport: Isolated container-build should allow arches override
+
+* Fri Oct 25 2019 Ondrej Nosek <onosek@redhat.com> - 1.59-2
+- Backport: container-build: add --isolated and --koji-parent-build arguments
+- Backport: Pass skip_build option to buildContainer
+- Backport: Reuse koji_cli.lib.unique_path
+
+* Mon Sep 16 2019 Ondřej Nosek <onosek@redhat.com> - 1.59-1
+- Add argument to skip build option for container-build (rcerven)
+- Sorting imports (onosek)
+- Ignore error when adding exclude patterns - 1733862 (onosek)
+- Path to lookaside repo fix (onosek)
+- Add commands for interacting with Koji side-tag plugin - 329 (lsedlar)
+- Do not delete files related to gating on import (onosek)
+- Support integer values in the optional module-build arguments (mprahl)
+- container-build: add --build-release argument (kdreyer)
+- Allow some arguments for container-build together (onosek)
+- git-changelog: Fix running on Python 3 - 3 (onosek)
+- Port to libmodulemd 2 API (lsedlar)
+- Module-overview allows filtering by owner - 325 (onosek)
+- Different import --offline command behavior - #445 (onosek)
+- Show nvr in container-build (onosek)
+- Custom handler for koji watch_tasks (onosek)
+- Unittests for clone command (onosek)
+- Fix clone --branches - rhbz#1707223 (tmz)
+- Make gitbuildhash work for windows builds (lsedlar)
+
+* Mon Sep 16 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-10
+- Update koji dependency
+
+* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 1.58-9
+- Rebuilt for Python 3.8
+
+* Thu Aug 01 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-8
+- Obsoletes python2-rpkg after upgrade to Fedora30
+
+* Wed Jul 31 2019 Stephen Gallagher <sgallagh@redhat.com> - 1.58-7
+- Fix libmodulemd requirements
+
+* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.58-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
 * Mon Jun 10 2019 Ondřej Nosek <onosek@redhat.com> - 1.58-5
 - Now again, libmodulemd is required instead of python3-libmodulemd because
   it was causing troubles with upgrades.

diff --git a/sources b/sources
index 6855be4..39966a2 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpkg-1.58.tar.gz) = 2bb8064fbf716d24a43a959be528214c90feef1b8ffdb24f8ed2338e22a4694182ae0977e074c60280605efacd6f02a6c13b9304eefa230d461311930d085e1f
+SHA512 (rpkg-1.60.tar.gz) = 7055653943b897e8223e2d352e691d6c7d2ce82c926e3cfefbaea3c6fc8f71284e3e894f51a083e3f6e13a71445ea8383f188c01e5ee19fb14432244d9df11f6

^ 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: Merge branch 'master' into epel8-playground 

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