fedpkg 1.46 Release Notes
Released on March 19, 2025
This release requires rpkg >= 1.68-1
. rpkg-1.68 release notes
Python compatibility
fedpkg works with Python 3.6, 3.9, 3.12 and 3.13
What’s new in fedpkg 1.46
Not everything is actually new. The next description covers changes since last 1.45 release. Since then some of features/fixes were already released as patches.
Various modernizations, including dropping use of python-fedora and support for bodhi-client < 6
Adam Williamson: This PR is motivated by the desire to drop python-fedora usage as we want to get rid of that library, but there were various logical follow-ons from that. It is only currently used to handle an error that may be raised by version of bodhi-client before 6.0.0, but bodhi-client 6.0.0 is the oldest version that can possibly authenticate against production Bodhi any more, so there is not really any point supporting older bodhi-client any more …
More details: #560
Update check_bodhi_version to check for >= 6.0.0
Modernize and clean unittest imports
Replace and update use of deprecated ‘linux_distribution’
Drop all usage of six
Drop support for bodhi-client <= 5
Add py313 environment as that’s current
Add support for new EPEL10 major/minor schema
These changes are required to support EPEL10 new schemas [0]
Things that changed
Support for reading major/minor version on the epel name through the code [#44304]
Fixed assert_valid_epel_package to work correctly with EPEL10 [rhbz#2005139]
Changed load_rpmdefines method to get correct information regarding EPEL10.X branches
More details: #544
Get EPEL10 minor version from koji when it’s not available from the branch name
Handle rhel runtimes when minor version exists in disttag - If the runtime is known, and is different from the target, we need to unset the _runtime_disttag
Improvements on string parsing
Get macros from epel-candidate build target.
Fix EPEL10 branch expression to cover 2 or more digits.
Use minor value from koji when no minor in branch name
Fixes: #559
Fork a package using anonymous auth
When the repo is cloned anonymously (fedpkg clone -a
), fork
should work in the ‘anonymous’ mode as well. Fork API call is the same, but the added remote has a different address = https protocol instead of ssh.
Fedpkg detects whether fork
is executed upon an anonymous repo.
The User can force anonymous mode using (fedpkg fork -a
) parameter.
request-repo
: add --onboard-packit
argument
This is part of this Fedora change: AutomatedPackitOnboarding
Don’t allow to request repositories in modules/ namespace
There are no new modules in Fedora distgit. Do not auto-request EPEL x.y modules and ELN modules either.
fedpkg request-branch epel10.0
won’t file SCM requests for:
New Repo for “modules/<name>”
New Branch “epel10.0” for “modules/<name>”
Dynamically exclude Rawhide branch from fedpkg branching
Updates the query to the Bodhi to dynamically exclude the Rawhide branch from the list of Fedora branches, ensuring that Rawhide is handled correctly without being hard coded.
Original Releng issue: #12311
Clone epel10 branches with clone -B
Running fedpkg clone -B
relies on the configured branch regex to determine the branches to clone. The current regex doesn’t match EPEL branches with more that one digit. We recently started having epel10 branches, and in the future we’ll also have epel10.0, epel10.1, and so forth. This adjusts the regex to account for these branch names.
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:
Original issue: #11990
Other small fixes
Unittests - check that auth tokens aren’t written to world-readable files
Fix unittests when building for ELN target
releases-info should always show the same order
Update expired token exception instructions
Python 3.13 environment and renew testing image
fedpkg set-pagure-token <token>: update expired token exception instructions
Add setuptools to dependencies for Python 3.12+ - Because of pkg_resources; setuptools is no longer available by default in Python 3.12
Fix tests on EPEL 9/10.
Fixing unittests for py36 - use the older PyPI pycurl library for this environment.
gitignore the name-version-build/ directory created by fedpkg prep/local - this directory is created by RPM 4.20+
Fix URL of Bodhi in staging - added https://
Fixes missing key in distro.os_release_info()
Debug output: Don’t print the branch name after dash when there is no dash
Don’t use hatchling on python 3.6
Fix unittests after creating the project in hatch
Change Logs
request-repo: add –onboard-packit argument (nforro)
Fork a package using anonymous auth - #574 (onosek)
Check that auth tokens aren’t written to world-readable files (git)
Don’t allow to request repositories in modules/ namespace (miro)
Do not auto-request EPEL x.y modules (carlwgeorge)
Dynamically exclude Rawhide branch from fedpkg branching - #566 (samyak.jn11)
Fix unittests when building for ELN target - #589 (onosek)
Python 3.13 environment and renew testing image (onosek)
releases-info should always show the same order - #569 (onosek)
Update expired token exception instructions (astra)
Clone epel10 branches with clone -B (carlwgeorge)
Update expired token exception instructions (ferdnyc)
Add setuptools to dependencies for Python 3.12+ (ferdnyc)
Fix tests on EPEL 9/10. (romain.geissler)
Fixing unittests for py36 (onosek)
gitignore the name-version-build/ directory created by fedpkg prep/local (miro)
Handle rhel runtimes when minor version exists in disttag (dherrera)
Add tests cases for runtime_disttag removal when working with epel10 (dherrera)
Improvements on string parsing (dherrera)
Get macros from epel-candidate build target. (dherrera)
Fix EPEL10 branch expression to cover 2 or more digits. (dherrera)
Use minor value from koji when no minor in branch name (dherrera)
Fix minor requirements for EPEL10+ in test (dherrera)
Do not auto-request ELN modules (yselkowi)
Fixes missing key in distro.os_release_info() (onosek)
Update check_bodhi_version to check for >= 6.0.0 (awilliam)
Modernize and clean unittest imports (awilliam)
Replace and update use of deprecated ‘linux_distribution’ (awilliam)
Drop all usage of six (awilliam)
Drop support for bodhi-client <= 5 (awilliam)
Add py313 environment as that’s current (awilliam)
Fix URL of Bodhi in staging (nils)
Extend load_rpmdefines to work with EPEL10+ (dherrera)
Add EPEL10+ url pattern on assert_valid_epel_package (dherrera)
Test url usage in assert_valid_epel_package (dherrera)
Add EPEL10 branch name cases as valid (dherrera)
Test for valid EPEL branch names (dherrera)
Don’t print the branch name after dash when there is no dash - #554 (miro)
Don’t use hatchling on python 3.6 (dherrera)
Remove mbs.fedoraproject.org scopes from git cred helper (kj)
Fix unittests after creating the project in hatch (onosek)