public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/fedpkg] 1.48-1: Few patches
@ 2026-08-10 21:46 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-08-10 21:46 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/fedpkg
            Branch : 1.48-1
            Commit : 6b807f9336ce15551d931252e2c1615f253cce37
            Author : Ondřej Nosek <onosek@redhat.com>
            Date   : 2024-07-08T23:30:30+00:00
            Stats  : +513/-1 in 10 file(s)
            URL    : https://src.fedoraproject.org/rpms/fedpkg/c/6b807f9336ce15551d931252e2c1615f253cce37?branch=1.48-1

            Log:
            Few patches

- Add support for building for epel10
- Don't print the branch name after dash when there is no dash
- Remove mbs.fedoraproject.org scopes from git cred helper
- Fix unittests after creating the project in hatch

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

---
diff --git a/0003-Fix-unittests-after-creating-the-project-in-hatch.patch b/0003-Fix-unittests-after-creating-the-project-in-hatch.patch
new file mode 100644
index 0000000..c9660a7
--- /dev/null
+++ b/0003-Fix-unittests-after-creating-the-project-in-hatch.patch
@@ -0,0 +1,50 @@
+From ea4af44cf9d85de6e994bbd56f8645f32f9cc272 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ond=C5=99ej=20Nosek?= <onosek@redhat.com>
+Date: Mon, 8 Jul 2024 02:32:37 +0200
+Subject: [PATCH 1/9] Fix unittests after creating the project in hatch
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Python36 unittests failed because they automaticaly installed
+the hatch, but it wasn't available in Python36.
+
+Signed-off-by: Ondřej Nosek <onosek@redhat.com>
+---
+ pyproject.toml | 2 +-
+ tox.ini        | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index e758fc6..4315ea5 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -79,7 +79,7 @@ include = [
+ 
+ [tool.hatch.build.targets.wheel]
+ packages = [
+-    "dist/fedpkg"
++    "fedpkg"
+ ]
+ 
+ [tool.hatch.build.targets.wheel.shared-data]
+diff --git a/tox.ini b/tox.ini
+index 37fe636..ff0124b 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -20,7 +20,12 @@ commands =
+ setenv=
+     PYCURL_SSL_LIBRARY=openssl
+ 
++[testenv:py36]
++# do not install hatch, it is not available on py36
++skip_install = True
++
+ [testenv:flake8]
++skip_install = True
+ deps = flake8
+ commands = python -m flake8 fedpkg/ test/
+ 
+-- 
+2.45.2
+

diff --git a/0004-Remove-mbs.fedoraproject.org-scopes-from-git-cred-he.patch b/0004-Remove-mbs.fedoraproject.org-scopes-from-git-cred-he.patch
new file mode 100644
index 0000000..35f42a0
--- /dev/null
+++ b/0004-Remove-mbs.fedoraproject.org-scopes-from-git-cred-he.patch
@@ -0,0 +1,62 @@
+From 481ba383c82c914e7ea2db813af8c9d2786b0f75 Mon Sep 17 00:00:00 2001
+From: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
+Date: Tue, 18 Jun 2024 21:47:50 +1000
+Subject: [PATCH 2/9] Remove mbs.fedoraproject.org scopes from git cred helper
+
+The fedpkg git credential helper defaults to asking for the
+https://mbs.fedoraproject.org/oidc/submit-build scope in the
+default config file. It seems that the mbs infrastructure has been torn
+down and this scope is no longer valid:
+
+https://pagure.io/fedora-infrastructure/issue/11990
+
+And attempting to ask for it means that the credential helper fails
+with:
+
+```
+Please visit https://id.fedoraproject.org/openidc/Authorization?scope=openid+https%3A%2F%2Fid.fedoraproject.org%2Fscope%2Fgroups+https%3A%2F%2Fmbs.fedoraproject.org%2Foidc%2Fsubmit-build+https%3A%2F%2Fsrc.fedoraproject.org%2Fpush&response_type=code&client_id=fedpkg&redirect_uri=http%3A%2F%2Flocalhost%3A12345%2F&response_mode=query to grant authorization
+127.0.0.1 - - [14/Jun/2024 21:23:41] "GET /?error=invalid_scope&error_description=unknown+scope+https%3A%2F%2Fmbs.fedoraproject.org%2Foidc%2Fsubmit-build+requested HTTP/1.1" 200 47
+No token received.
+fatal: credential helper '/usr/bin/fedpkg gitcred' told us to quit
+Could not execute push: Failed to execute command.
+```
+
+I'm not sure if the actual code for interfacing with the MBS should be
+deleted out of rpkg or not, but certainly I think the default fedpkg
+config file should work, so let's do this first?
+
+Signed-off-by: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
+---
+ conf/etc/rpkg/fedpkg-stage.conf | 2 +-
+ conf/etc/rpkg/fedpkg.conf       | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/conf/etc/rpkg/fedpkg-stage.conf b/conf/etc/rpkg/fedpkg-stage.conf
+index 44ee4f5..144ce76 100644
+--- a/conf/etc/rpkg/fedpkg-stage.conf
++++ b/conf/etc/rpkg/fedpkg-stage.conf
+@@ -32,7 +32,7 @@ kerberos_realms = STG.FEDORAPROJECT.ORG
+ oidc_id_provider = https://id.stg.fedoraproject.org/openidc/
+ oidc_client_id = fedpkg
+ oidc_client_secret = notsecret
+-oidc_scopes = openid,https://id.fedoraproject.org/scope/groups,https://mbs.fedoraproject.org/oidc/submit-build,https://src.fedoraproject.org/push
++oidc_scopes = openid,https://id.fedoraproject.org/scope/groups,https://src.fedoraproject.org/push
+ git_excludes =
+   i386/
+   i686/
+diff --git a/conf/etc/rpkg/fedpkg.conf b/conf/etc/rpkg/fedpkg.conf
+index e73f6ed..c4ab51a 100644
+--- a/conf/etc/rpkg/fedpkg.conf
++++ b/conf/etc/rpkg/fedpkg.conf
+@@ -32,7 +32,7 @@ kerberos_realms = FEDORAPROJECT.ORG
+ oidc_id_provider = https://id.fedoraproject.org/openidc/
+ oidc_client_id = fedpkg
+ oidc_client_secret = notsecret
+-oidc_scopes = openid,https://id.fedoraproject.org/scope/groups,https://mbs.fedoraproject.org/oidc/submit-build,https://src.fedoraproject.org/push
++oidc_scopes = openid,https://id.fedoraproject.org/scope/groups,https://src.fedoraproject.org/push
+ git_excludes =
+   i386/
+   i686/
+-- 
+2.45.2
+

diff --git a/0005-Don-t-use-hatchling-on-python-3.6.patch b/0005-Don-t-use-hatchling-on-python-3.6.patch
new file mode 100644
index 0000000..7ff9fde
--- /dev/null
+++ b/0005-Don-t-use-hatchling-on-python-3.6.patch
@@ -0,0 +1,40 @@
+From 8cc0f6f0e57da359ecddf5a4f29bf34158def684 Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Thu, 4 Jul 2024 17:56:30 -0400
+Subject: [PATCH 3/9] Don't use hatchling on python 3.6
+
+Merges: https://pagure.io/fedpkg/pull-request/553
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ pyproject.toml | 2 +-
+ tox.ini        | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 4315ea5..1be99b5 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["hatchling"]
++requires = ["hatchling; python_version > '3.6'"]
+ build-backend = "hatchling.build"
+ 
+ [project]
+diff --git a/tox.ini b/tox.ini
+index ff0124b..3498249 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -21,8 +21,7 @@ setenv=
+     PYCURL_SSL_LIBRARY=openssl
+ 
+ [testenv:py36]
+-# do not install hatch, it is not available on py36
+-skip_install = True
++package = sdist
+ 
+ [testenv:flake8]
+ skip_install = True
+-- 
+2.45.2
+

diff --git a/0006-Don-t-print-the-branch-name-after-dash-when-there-is.patch b/0006-Don-t-print-the-branch-name-after-dash-when-there-is.patch
new file mode 100644
index 0000000..4d729fe
--- /dev/null
+++ b/0006-Don-t-print-the-branch-name-after-dash-when-there-is.patch
@@ -0,0 +1,35 @@
+From 0db445b09c1f556407e29e985a204f9e39cbdaae Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Sun, 7 Jul 2024 14:39:53 +0200
+Subject: [PATCH 4/9] Don't print the branch name after dash when there is no
+ dash
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes https://pagure.io/fedpkg/issue/554
+
+Signed-off-by: Miro Hrončok <miro@hroncok.cz>
+---
+ fedpkg/__init__.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py
+index 0e1a007..abb4fb6 100644
+--- a/fedpkg/__init__.py
++++ b/fedpkg/__init__.py
+@@ -151,8 +151,9 @@ class Commands(pyrpkg.Commands):
+         if not self._load_rpmdefines_branch(self.branch_merge, extra_rpmdefines):
+             base = self.branch_merge.split('-', 1)
+             # Allow branches like f38-staging
+-            self.log.debug('Retrying with branch {}, feature {}'
+-                           .format(base[0], base[1]))
++            if len(base) > 1:
++                self.log.debug('Retrying with branch {}, feature {}'
++                               .format(base[0], base[1]))
+             if not (len(base) > 1 and base[0].isalnum() and len(base[1]) > 0 and
+                     self._load_rpmdefines_branch(base[0], extra_rpmdefines)):
+                 msg = ('Could not find release from branch name \'%s\'. '
+-- 
+2.45.2
+

diff --git a/0007-Test-for-valid-EPEL-branch-names.patch b/0007-Test-for-valid-EPEL-branch-names.patch
new file mode 100644
index 0000000..610c18e
--- /dev/null
+++ b/0007-Test-for-valid-EPEL-branch-names.patch
@@ -0,0 +1,39 @@
+From 242e5b75323086d96cc41f68f4bfa395fe6e1597 Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Tue, 2 Jul 2024 18:07:16 -0400
+Subject: [PATCH 5/9] Test for valid EPEL branch names
+
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ test/test_utils.py | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/test/test_utils.py b/test/test_utils.py
+index e8648e4..4d055ec 100644
+--- a/test/test_utils.py
++++ b/test/test_utils.py
+@@ -207,6 +207,21 @@ class TestVerifySLS(unittest.TestCase):
+         )
+ 
+ 
++class TestIsEpel(unittest.TestCase):
++    """Test is_epel"""
++
++    def test_valid_epel_branch_names(self):
++        self.assertEqual(utils.is_epel("el6"), True)
++        self.assertEqual(utils.is_epel("epel7"), True)
++        self.assertEqual(utils.is_epel("epel8"), True)
++        self.assertEqual(utils.is_epel("epel8-next"), True)
++        self.assertEqual(utils.is_epel("epel9"), True)
++        self.assertEqual(utils.is_epel("epel9-next"), True)
++
++        self.assertEqual(utils.is_epel("f36"), False)
++        self.assertEqual(utils.is_epel("rawhide"), False)
++
++
+ @patch('requests.get')
+ class TestAssertValidEPELPackage(unittest.TestCase):
+     """Test assert_valid_epel_package"""
+-- 
+2.45.2
+

diff --git a/0008-Add-EPEL10-branch-name-cases-as-valid.patch b/0008-Add-EPEL10-branch-name-cases-as-valid.patch
new file mode 100644
index 0000000..510c60e
--- /dev/null
+++ b/0008-Add-EPEL10-branch-name-cases-as-valid.patch
@@ -0,0 +1,42 @@
+From d385505ad98b8044fdd8800acd96c5c6a18b1d22 Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Tue, 2 Jul 2024 18:10:15 -0400
+Subject: [PATCH 6/9] Add EPEL10 branch name cases as valid
+
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ fedpkg/utils.py    | 2 +-
+ test/test_utils.py | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/fedpkg/utils.py b/fedpkg/utils.py
+index 9e5c5bf..028fba2 100644
+--- a/fedpkg/utils.py
++++ b/fedpkg/utils.py
+@@ -311,7 +311,7 @@ def is_epel(branch):
+     :param branch: a string of the branch name
+     :return: a boolean
+     """
+-    return bool(re.match(r'^(?:el|epel)\d+(?:-next)?$', branch))
++    return bool(re.match(r'^(?:el|epel)\d+(?:\.\d+)?(?:-next)?$', branch))
+ 
+ 
+ def assert_valid_epel_package(name, branch):
+diff --git a/test/test_utils.py b/test/test_utils.py
+index 4d055ec..6b6050a 100644
+--- a/test/test_utils.py
++++ b/test/test_utils.py
+@@ -217,6 +217,10 @@ class TestIsEpel(unittest.TestCase):
+         self.assertEqual(utils.is_epel("epel8-next"), True)
+         self.assertEqual(utils.is_epel("epel9"), True)
+         self.assertEqual(utils.is_epel("epel9-next"), True)
++        self.assertEqual(utils.is_epel("epel10"), True)
++        self.assertEqual(utils.is_epel("epel10.1"), True)
++        self.assertEqual(utils.is_epel("epel10.10"), True)
++        self.assertEqual(utils.is_epel("epel10.11"), True)
+ 
+         self.assertEqual(utils.is_epel("f36"), False)
+         self.assertEqual(utils.is_epel("rawhide"), False)
+-- 
+2.45.2
+

diff --git a/0009-Test-url-usage-in-assert_valid_epel_package.patch b/0009-Test-url-usage-in-assert_valid_epel_package.patch
new file mode 100644
index 0000000..bc07d11
--- /dev/null
+++ b/0009-Test-url-usage-in-assert_valid_epel_package.patch
@@ -0,0 +1,65 @@
+From d669322e730803824ea6113c9d31306df172c989 Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Tue, 2 Jul 2024 18:12:22 -0400
+Subject: [PATCH 7/9] Test url usage in assert_valid_epel_package
+
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ test/test_utils.py | 41 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+diff --git a/test/test_utils.py b/test/test_utils.py
+index 6b6050a..2e66fe6 100644
+--- a/test/test_utils.py
++++ b/test/test_utils.py
+@@ -244,6 +244,47 @@ class TestAssertValidEPELPackage(unittest.TestCase):
+             self, rpkgError, 'The status code was: 404',
+             utils.assert_valid_epel_package, 'pkg', 'epel7')
+ 
++    def test_correct_url_epel7(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel7')
++        get.assert_called_once_with(
++            'https://infrastructure.fedoraproject.org/repo/json/pkg_el7.json',
++            timeout=60)
++
++    def test_correct_url_epel8(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel8')
++        get.assert_called_once_with(
++            'https://infrastructure.fedoraproject.org/repo/json/pkg_el8.json',
++            timeout=60)
++
++    def test_correct_url_epel8_next(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel8-next')
++        get.assert_called_once_with(
++            'https://infrastructure.fedoraproject.org/repo/json/pkg_el8.json',
++            timeout=60)
++
++    def test_correct_url_epel9(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel9')
++        get.assert_called_once_with(
++            'https://composes.stream.centos.org/production/'
++            'latest-CentOS-Stream/compose/metadata/rpms.json',
++            timeout=60)
++
+     def test_should_not_have_epel_branch_for_el6_pkg(self, get):
+         get.return_value.json.return_value = {
+             'arches': [
+-- 
+2.45.2
+

diff --git a/0010-Add-EPEL10-url-pattern-on-assert_valid_epel_package.patch b/0010-Add-EPEL10-url-pattern-on-assert_valid_epel_package.patch
new file mode 100644
index 0000000..0e0ad91
--- /dev/null
+++ b/0010-Add-EPEL10-url-pattern-on-assert_valid_epel_package.patch
@@ -0,0 +1,80 @@
+From 060817ffe8ef6afa76734aca7e836d01f0096cc4 Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Tue, 2 Jul 2024 18:15:24 -0400
+Subject: [PATCH 8/9] Add EPEL10+ url pattern on assert_valid_epel_package
+
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ fedpkg/utils.py    | 18 ++++++++++++------
+ test/test_utils.py | 22 ++++++++++++++++++++++
+ 2 files changed, 34 insertions(+), 6 deletions(-)
+
+diff --git a/fedpkg/utils.py b/fedpkg/utils.py
+index 028fba2..6f7d2be 100644
+--- a/fedpkg/utils.py
++++ b/fedpkg/utils.py
+@@ -322,16 +322,22 @@ def assert_valid_epel_package(name, branch):
+     :param branch: a string of the EPEL branch name (e.g. epel7)
+     :return: None or rpkgError
+     """
+-    # Extract any digits in the branch name to determine the EL version
+-    version = ''.join([i for i in branch if re.match(r'\d', i)])
++    # Extract the major part of the EL version
++    version, _ = re.findall(r'(\d+)(?:\.(\d+))?', branch)[0]
+ 
+     # Starting with epel9 and epel9-next, check against CentOS compose metadata.
+     if int(version) >= 9:
+-        # Currently we only have a latest symlink.  In the future we'll need
+-        # separate latest symlinks that include the major version.
++        # Currently the stream-9 branch resides in the production address path..
++        # To remove this block, we need for the stream-9 link to point to production
+         # https://bugzilla.redhat.com/show_bug.cgi?id=2005139
+-        url = 'https://composes.stream.centos.org/production/' \
+-              'latest-CentOS-Stream/compose/metadata/rpms.json'
++        if int(version) == 9:
++            url = 'https://composes.stream.centos.org/production/' \
++                  'latest-CentOS-Stream/compose/metadata/rpms.json'
++        else:
++            url = ('https://composes.stream.centos.org/stream-{0}/'
++                   'production/latest-CentOS-Stream/compose/metadata/rpms.json'
++                   .format(version))
++
+         error_msg = ('The connection to composes.stream.centos.org failed while '
+                      'trying to determine if this is a valid EPEL package.')
+         try:
+diff --git a/test/test_utils.py b/test/test_utils.py
+index 2e66fe6..7a38740 100644
+--- a/test/test_utils.py
++++ b/test/test_utils.py
+@@ -285,6 +285,28 @@ class TestAssertValidEPELPackage(unittest.TestCase):
+             'latest-CentOS-Stream/compose/metadata/rpms.json',
+             timeout=60)
+ 
++    def test_correct_url_epel10(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel10')
++        get.assert_called_once_with(
++            'https://composes.stream.centos.org/stream-10/production'
++            '/latest-CentOS-Stream/compose/metadata/rpms.json',
++            timeout=60)
++
++    def test_correct_url_epel10_10(self, get):
++        get.return_value = Mock(ok=False, status_code=404)
++
++        six.assertRaisesRegex(
++            self, rpkgError, 'The status code was: 404',
++            utils.assert_valid_epel_package, 'pkg', 'epel10.10')
++        get.assert_called_once_with(
++            'https://composes.stream.centos.org/stream-10/production'
++            '/latest-CentOS-Stream/compose/metadata/rpms.json',
++            timeout=60)
++
+     def test_should_not_have_epel_branch_for_el6_pkg(self, get):
+         get.return_value.json.return_value = {
+             'arches': [
+-- 
+2.45.2
+

diff --git a/0011-Extend-load_rpmdefines-to-work-with-EPEL10.patch b/0011-Extend-load_rpmdefines-to-work-with-EPEL10.patch
new file mode 100644
index 0000000..66221b3
--- /dev/null
+++ b/0011-Extend-load_rpmdefines-to-work-with-EPEL10.patch
@@ -0,0 +1,84 @@
+From a270fc793e483135cb346fba97335a6e994d7dac Mon Sep 17 00:00:00 2001
+From: Diego Herrera <dherrera@redhat.com>
+Date: Tue, 2 Jul 2024 18:22:54 -0400
+Subject: [PATCH 9/9] Extend load_rpmdefines to work with EPEL10+
+
+Merges: https://pagure.io/fedpkg/pull-request/544
+Signed-off-by: Diego Herrera <dherrera@redhat.com>
+---
+ fedpkg/__init__.py    | 15 +++++++++------
+ test/test_commands.py | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 39 insertions(+), 6 deletions(-)
+
+diff --git a/fedpkg/__init__.py b/fedpkg/__init__.py
+index abb4fb6..b3e9b3b 100644
+--- a/fedpkg/__init__.py
++++ b/fedpkg/__init__.py
+@@ -88,14 +88,17 @@ class Commands(pyrpkg.Commands):
+             self.mockconfig = 'fedora-%s-%s' % (self._distval, self.localarch)
+             self.override = 'f%s-override' % self._distval
+             self._distunset = 'rhel'
+-        # Works until RHEL 10
+         elif re.match(r'el\d$', branch) or \
+-                re.match(r'epel\d$', branch):
+-            self._distval = branch.split('el')[1]
++                re.match(r'epel\d+(?:\.\d+)?$', branch):
++            major, minor = re.findall(r'(\d+)(?:\.(\d+))?', branch)[0]
++            self._distval = major
+             self._distvar = 'rhel'
+-            self._disttag = 'el%s' % self._distval
+-            self.mockconfig = 'epel-%s-%s' % (self._distval, self.localarch)
+-            self.override = 'epel%s-override' % self._distval
++            self._disttag = 'el%s' % major if minor == '' \
++                else 'el%s_%s' % (major, minor)
++            self.mockconfig = 'epel-%s-%s' % (major, self.localarch) if minor == '' \
++                else 'epel-%s.%s-%s' % (major, minor, self.localarch)
++            self.override = 'epel%s-override' % self._distval if minor == '' \
++                else 'epel%s.%s-override' % (major, minor)
+             self._distunset = 'fedora'
+         elif re.match(r'epel\d+-next$', branch):
+             self._distval = re.search(r'\d+', branch).group(0)
+diff --git a/test/test_commands.py b/test/test_commands.py
+index fb417ff..a5b5ed5 100644
+--- a/test/test_commands.py
++++ b/test/test_commands.py
+@@ -266,6 +266,36 @@ class TestLoadRpmDefines(CommandTestCase):
+ 
+         self.assert_rpmdefines()
+ 
++    @patch('pyrpkg.Commands.branch_merge', new_callable=PropertyMock)
++    def test_load_epel10_dist_tag(self, branch_merge):
++        branch_merge.return_value = 'epel10'
++
++        self.cmd.load_rpmdefines()
++
++        self.assertEqual('10', self.cmd._distval)
++        self.assertEqual('rhel', self.cmd._distvar)
++        self.assertEqual('el10', self.cmd._disttag)
++        self.assertEqual('epel-10-i686', self.cmd.mockconfig)
++        self.assertEqual('epel10-override', self.cmd.override)
++        self.assertTrue(hasattr(self.cmd, '_distunset'))
++
++        self.assert_rpmdefines()
++
++    @patch('pyrpkg.Commands.branch_merge', new_callable=PropertyMock)
++    def test_load_epel10_10_dist_tag(self, branch_merge):
++        branch_merge.return_value = 'epel10.10'
++
++        self.cmd.load_rpmdefines()
++
++        self.assertEqual('10', self.cmd._distval)
++        self.assertEqual('rhel', self.cmd._distvar)
++        self.assertEqual('el10_10', self.cmd._disttag)
++        self.assertEqual('epel-10.10-i686', self.cmd.mockconfig)
++        self.assertEqual('epel10.10-override', self.cmd.override)
++        self.assertTrue(hasattr(self.cmd, '_distunset'))
++
++        self.assert_rpmdefines()
++
+     @patch('pyrpkg.Commands.branch_merge', new_callable=PropertyMock)
+     @patch('fedpkg.Commands._findrawhidebranch')
+     def test_load_rawhide_dist_tag(self, _findrawhidebranch, branch_merge):
+-- 
+2.45.2
+

diff --git a/fedpkg.spec b/fedpkg.spec
index 1e9bcfe..4a13a7f 100644
--- a/fedpkg.spec
+++ b/fedpkg.spec
@@ -5,7 +5,7 @@
 
 Name:           fedpkg
 Version:        1.45
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Fedora utility for working with dist-git
 
 License:        GPLv2+
@@ -15,6 +15,15 @@ Source0:        https://pagure.io/releases/fedpkg/%{name}-%{version}.tar.gz
 BuildArch:      noarch
 Patch1:         0001-Do-not-use-pytest-related-dependencies-temporarily.patch
 Patch2:         0002-Remove-pytest-coverage-execution.patch
+Patch3:         0003-Fix-unittests-after-creating-the-project-in-hatch.patch
+Patch4:         0004-Remove-mbs.fedoraproject.org-scopes-from-git-cred-he.patch
+Patch5:         0005-Don-t-use-hatchling-on-python-3.6.patch
+Patch6:         0006-Don-t-print-the-branch-name-after-dash-when-there-is.patch
+Patch7:         0007-Test-for-valid-EPEL-branch-names.patch
+Patch8:         0008-Add-EPEL10-branch-name-cases-as-valid.patch
+Patch9:         0009-Test-url-usage-in-assert_valid_epel_package.patch
+Patch10:        0010-Add-EPEL10-url-pattern-on-assert_valid_epel_package.patch
+Patch11:        0011-Extend-load_rpmdefines-to-work-with-EPEL10.patch
 
 BuildRequires:  pkgconfig
 BuildRequires:  bash-completion
@@ -99,6 +108,12 @@ mv %{buildroot}%{compdir}/fedpkg.bash %{buildroot}%{compdir}/fedpkg
 
 
 %changelog
+* Mon Jul 08 2024 Ondřej Nosek <onosek@redhat.com> - 1.45-2
+- Add support for building for epel10
+- Don't print the branch name after dash when there is no dash
+- Remove mbs.fedoraproject.org scopes from git cred helper
+- Fix unittests after creating the project in hatch
+
 * Wed Jun 26 2024 Ondřej Nosek <onosek@redhat.com> - 1.45-1
 - Allow package.cfg on rawhide/main branch (sgallagh)
 - Fix datetime.utcnow deprecation warning (dherrera)

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

only message in thread, other threads:[~2026-08-10 21:46 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:46 [rpms/fedpkg] 1.48-1: Few patches 

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