Hello EPEL packagers,
The latest version of the Rust packaging toolchain will soon be available for EPEL 9 (i.e. rust2rpm v24, rust-packaging v24, and cargo2rpm v0.1). This is a major upgrade from rust2rpm v21 which is currently in EPEL 9, but also comes with the drawback that it now requires Python >= 3.10.
However, I have split the Rust packaging tools into three separate projects (previously everything was in a monorepo) to make packaging them easier:
The two components which are needed at build-time (RPM macros + the cargo2rpm Python module that powers them) can still be built for EPEL 9, as cargo2rpm has no third-party dependencies and only needs Python
= 3.10, and will hence be built with python3.11 on EPEL 9 as soon as
that is available.
The spec generator (rust2rpm) has also been split off from rust-packaging into a separate package, which will *not* be available on EPEL 9. rust2rpm requires Python >= 3.10, but it also has a few non-trivial third-party dependencies (most notably, jinja2). Since most Rust packagers primarily work on Fedora, I don't think the effort of packaging all missing dependencies for Python 3.11 just to make /usr/bin/rust2rpm available for EPEL 9 would be worth it.
There are three Pull Requests which will implement this update: https://src.fedoraproject.org/rpms/cargo2rpm/pull-request/1 https://src.fedoraproject.org/rpms/rust-packaging/pull-request/6 https://src.fedoraproject.org/rpms/epel-rpm-macros/pull-request/65 (kudos to @gotmax23!)
These changes (i.e. rust-packaging v24 + cargo2rpm) have now been live in "production" in Fedora for over a week, and based on user and CI feedback, I expect these updates to cause no regressions on EPEL 9.
Fabio
Thanks for announcing this :).
On Sun Feb 26, 2023 at 16:31 +0100, Fabio Valentini wrote:
The spec generator (rust2rpm) has also been split off from rust-packaging into a separate package, which will *not* be available on EPEL 9. rust2rpm requires Python >= 3.10, but it also has a few non-trivial third-party dependencies (most notably, jinja2). Since most Rust packagers primarily work on Fedora, I don't think the effort of packaging all missing dependencies for Python 3.11 just to make /usr/bin/rust2rpm available for EPEL 9 would be worth it.
Indeed. It's definitely possible to branch the 4 missing dependencies for python3.11, but the volunteers involved feel there's better places to direct our time.
There are three Pull Requests which will implement this update: https://src.fedoraproject.org/rpms/cargo2rpm/pull-request/1 https://src.fedoraproject.org/rpms/rust-packaging/pull-request/6 https://src.fedoraproject.org/rpms/epel-rpm-macros/pull-request/65 (kudos to @gotmax23!)
I think the intention was to push this to epel9-next first, but then I accidentally opened the last two PRs against epel9 instead of epel9-next. FTR, python3.11 won't be available until ~May when 9.2 comes out, so we can't yet built this in epel9 proper. Can you confirm that you'd like this in epel9-next? I think giving this some time to incubate in epel9-next definitely makes sense.
-- Maxwell G (@gotmax23) Pronouns: He/They
On Sun, Feb 26, 2023 at 5:56 PM Maxwell G maxwell@gtmx.me wrote:
I think the intention was to push this to epel9-next first, but then I accidentally opened the last two PRs against epel9 instead of epel9-next. FTR, python3.11 won't be available until ~May when 9.2 comes out, so we can't yet built this in epel9 proper. Can you confirm that you'd like this in epel9-next? I think giving this some time to incubate in epel9-next definitely makes sense.
If it helps, sure ... though there aren't really any Rust packages in epel9-next, so the impact will be small (and the packages won't get much testing, either). We can build cargo2rpm v0.1.2 and rust-packaging v24 in epel9-next first, and merge to epel9 once the dependencies are available. Is python3.11 already available in epel9-next (or rather, CentOS Stream 9 or whatever it's called now)? I'm not sure how to check ... If yes, then what's the process for submitting builds for epel9-next? Do koji's on-demand side-tags work there? I don't think I've ever submitted an update for an "epel-next" branch before, sorry if these are questions with obvious answers :)
Fabio
On Tue Feb 28, 2023 at 23:44 +0100, Fabio Valentini wrote:
On Sun, Feb 26, 2023 at 5:56 PM Maxwell G maxwell@gtmx.me wrote:
I think the intention was to push this to epel9-next first, but then I accidentally opened the last two PRs against epel9 instead of epel9-next. FTR, python3.11 won't be available until ~May when 9.2 comes out, so we can't yet built this in epel9 proper. Can you confirm that you'd like this in epel9-next? I think giving this some time to incubate in epel9-next definitely makes sense.
If it helps, sure ... though there aren't really any Rust packages in epel9-next, so the impact will be small (and the packages won't get much testing, either). We can build cargo2rpm v0.1.2 and rust-packaging v24 in epel9-next first, and merge to epel9 once the dependencies are available.
Right; it's possible to build for epel9-next and then merge back to epel9 and rebuild once RHEL 9.2 that will include python3.11 is released. If you or others will use and test this in epel9-next, then I think it's worth it.
Is python3.11 already available in epel9-next (or rather, CentOS Stream 9 or whatever it's called now)?
Yes, python3.11 is available in CentOS Stream 9 and thus available in the epel9-next buildroot. CentOS Stream 9 is a preview of the next RHEL 9 minor release.
I'm not sure how to check ...
You can use fedrq, another repoquerying tool, or spin up a CentOS Stream container to search.
``` $ fedrq pkgs -Sb c9s python3.11 python3.11-devel python3.11-pytest python3.11-3.11.2-2.el9.x86_64 python3.11-devel-3.11.2-2.el9.x86_64 python3.11-pytest-7.2.0-1.el9.noarch ```
If yes, then what's the process for submitting builds for epel9-next? Do koji's on-demand side-tags work there?
You can run `fedpkg build` or `fedpkg request-side-tag` on the epel9-next distgit branch just as you can anywhere else. `epel9-next` is a separate Koji build target that includes packages from CentOS Stream 9, packages from regular epel9, and packages specifically built for epel9-next. It has its own Bodhi release.
I don't think I've ever submitted an update for an "epel-next" branch before, sorry if these are questions with obvious answers :)
Don't worry about it :). The concept of EPEL Next is a bit confusing.
-- Best,
Maxwell G (@gotmax23) Pronouns: He/They
We have submitted the new Rust packaging toolchain to EPEL 9: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2023-fecd6bbae1 Please help test and provide karma. This update has been in epel9-next for a couple months now, but we can push it to epel9 now that RHEL 9.2 that contains python3.11 is GA.
See below for the original announcement.
On Sun Feb 26, 2023 at 16:31 +0100, Fabio Valentini wrote:
Hello EPEL packagers,
The latest version of the Rust packaging toolchain will soon be available for EPEL 9 (i.e. rust2rpm v24, rust-packaging v24, and cargo2rpm v0.1). This is a major upgrade from rust2rpm v21 which is currently in EPEL 9, but also comes with the drawback that it now requires Python >= 3.10.
However, I have split the Rust packaging tools into three separate projects (previously everything was in a monorepo) to make packaging them easier:
The two components which are needed at build-time (RPM macros + the cargo2rpm Python module that powers them) can still be built for EPEL 9, as cargo2rpm has no third-party dependencies and only needs Python
= 3.10, and will hence be built with python3.11 on EPEL 9 as soon as
that is available.
The spec generator (rust2rpm) has also been split off from rust-packaging into a separate package, which will *not* be available on EPEL 9. rust2rpm requires Python >= 3.10, but it also has a few non-trivial third-party dependencies (most notably, jinja2). Since most Rust packagers primarily work on Fedora, I don't think the effort of packaging all missing dependencies for Python 3.11 just to make /usr/bin/rust2rpm available for EPEL 9 would be worth it.
There are three Pull Requests which will implement this update: https://src.fedoraproject.org/rpms/cargo2rpm/pull-request/1 https://src.fedoraproject.org/rpms/rust-packaging/pull-request/6 https://src.fedoraproject.org/rpms/epel-rpm-macros/pull-request/65 (kudos to @gotmax23!)
These changes (i.e. rust-packaging v24 + cargo2rpm) have now been live in "production" in Fedora for over a week, and based on user and CI feedback, I expect these updates to cause no regressions on EPEL 9.
Fabio _______________________________________________ epel-announce mailing list -- epel-announce@lists.fedoraproject.org To unsubscribe send an email to epel-announce-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/epel-announce@lists.fedoraproj... Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue _______________________________________________ epel-devel mailing list -- epel-devel@lists.fedoraproject.org To unsubscribe send an email to epel-devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject... Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
-- Happy packaging,
Maxwell G (@gotmax23) Pronouns: He/They
epel-devel@lists.fedoraproject.org