[HEADS-UP] Upcoming Rust SIG mini-mass-rebuild
by Fabio Valentini
Hi all,
As discussed in the Fedora Rust channel on Matrix, I am planning to do
a mini-mass-rebuild of all Rust applications (that are co-maintained
by the Rust SIG), likely by the end of this week. I estimate that it
will involve just shy of 200 packages per branch.
The motivation for a mini-mass-rebuild is two-fold:
1. Until very recently, the Rust standard library (shipped as a static
archive by the "rust" package) was accidentally shipped with stripped
debuginfo, which resulted in Rust applications that linked the
standard library to have incomplete debuginfo - and as a result, they
produced incomplete backtraces for any stack traces that involved the
Rust standard library. This has been fixed since rust 1.78, but
applications need to be rebuilt to pick up this improvement.
2. I regularly rebuild applications for "major" / "high priority"
security issues in Rust crates, but there are a few accumulated
"minor" / "low priority" security issues where I didn't yet have the
time to rebuild the affected applications against the library versions
that contain the necessary fixes. A mini-mass-rebuild would take care
of all of these at the same time.
I plan to only rebuild Rust applications that are associated with the
Rust SIG (i.e. packages "rust-*"), but no other packages (for example,
firefox, thunderbird, or librsvg2). If any maintainers of packages
that contain Rust code but that are not co-maintained by the Rust SIG
would like their packages to be included in the mini-mass-rebuild as
well, just let me know and I'll add them to my list.
Fabio
PS: Packages that build with vendored Rust dependencies (there are a
handful of them, and most are not co-maintained by the Rust SIG) would
only benefit from better debuginfo / backtraces, but not from security
updates (that would require manually updating the vendor tarball),
which is why I will not include them in the mini-mass-rebuild.
1 day, 11 hours
Implementing opt-in support for SPECPARTS in rust2rpm
by Fabio Valentini
Hello Rust packagers,
I have realized today that with the upcoming EOL of Fedora 38, all
branches of Fedora will ship with a version of RPM (i.e. >= 4.19) that
supports dynamic generation of spec file snippets at build-time
(SPECPARTS).
In particular, if I understand correctly how it works, I think this
functionality would be great for generating the "+feature-devel"
subpackages in Rust crate packages. It would reduce spec file churn
when updating Rust crates to new versions, and would make it easier to
integrate tooling like packit:
There would no longer need to be a MUST requirement to regenerate spec
files for Rust crates for every new upstream version, since that
requirement is almost entirely caused by the requirement of keeping
feature subpackages in sync with crate features.
Since this functionality would not be available in EPEL 9 probably
ever, if this is implemented, it would probably be best kept as an
opt-in feature for now (likely via rust2rpm config) for Fedora-only
Rust packages.
What do you think?
Fabio
6 days, 14 hours