On Mon, Sep 14, 2020 at 10:11 AM Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > https://fedoraproject.org/wiki/Changes/Rust_Crate_Packages_For_Release_Branches > > == Summary == > > This Change proposal aims to enable shipping Rust crate packages > (<code>rust-$CRATE_NAME</code>) on release branches of fedora. > Currently, they are only available for rawhide, which makes building > Rust packages for release branches difficult. > > == Owner == > > * Name: [[User:decathorpe| Fabio Valentini]] > * Email: <decathorpe@xxxxxxxxx> > > > == Detailed Description == > > Following the general upwards trend in the Rust language's popularity, > more and more applications and services in fedora are written in Rust. > This includes some CoreOS services, PARSEC, some nice command line > tools (e.g. ripgrep, bat, fedora-update-feedback, ...), and parts of > the GNOME stack. > However, because rust crate packages are currently only available on > rawhide, packaging rust applications for release branches is difficult > and involves more steps than usual. > > This Change proposal aims to bring Rust packaging in line with the > normal packaging workflows in fedora. > > In particular, the following additional steps will become obsolete: > > * use koji side tags for *every package build* on release branches > * manual tagging and untagging of koji buildroot contents > > Instead, rust packages can be built like any other package in fedora. > > > == Benefit to Fedora == > > This Change lowers the bar for contributing to the Rust stack in > fedora, because it will no longer be a special case that involves > additional steps. > > It will also make it possible to build Rust packages for release > branches locally in mock without the need for custom mock buildroot > configurations and / or third-party repositories. > > == Scope == > > * Proposal owner(s): > ** one-off change: submit PR to revert the special-case handling for > <code>rust-*</code> packages in the mass branching releng script > ** ongoing effort: help package maintainers with merging changes from > rawhide (where appropriate) and creating compat packages (when > necessary) - this is made easier by the strong SemVer compatibility > guarantees of Rust crates > > * Other developers: > > Initially, there is no impact on other developers. > However, as soon as fedora 34 is branched, building Rust applications > on that release branch will be easier than without this change. > This will require packagers to merge rawhide updates into release > branches when appropriate (again, bringing Rust packaging in line with > the rest of fedora). > > I also expect there to be reduced load on koji due less side tags > being in use concurrently, which will benefit all package maintainers > in fedora. > > * Release engineering: [https://pagure.io/releng/issue/9753 #9753] > > Release engineering will need to remove special-case handling of > <code>rust-*</code> packages from their mass branching script before > f34 is branched off of rawhide. > > * Policies and guidelines: > > The Rust packaging Guidelines will need small adaptations. > > They are already outdated, so Change owner(s) will update them to the > current state of Rust packaging regardless. > > * Trademark approval: N/A (not needed for this Change) > > * Alignment with Objectives: > > The fedora IoT Edition promotes PARSEC, which is comprised of Rust > packages - its package maintainers will benefit from being able to > update and build those packages faster and more easily for release > branches. > > == Upgrade/compatibility impact == > > There will be no impact on upgrades from previous fedora releases, > since Rust crate packages will only be available for those users for > the first time. > > If for some reason a user installed <code>rust-*-devel</code> packages > manually after downloading them from the rawhide repositories, they > will be gracefully upgraded. > > == How To Test == > > Users should be able to build Rust applications for fedora 34 without > workarounds or special steps (both in mock locally and in koji - both > scratch and non-scratch builds). > > == User Experience == > > Users should not notice this change. However, I expect some > application updates to be available for release branches faster, since > it will be easier for package maintainers to create them. > > == Dependencies == > > N/A (this only affects the Rust package stack and has no external dependencies) > > == Contingency Plan == > > * Contingency mechanism: untag and block <code>rust-*</code> packages > in the f34 tag in koji (help from releng / a koji admin required), > revert mass branching script changes before f35 branch point > * Contingency deadline: Final Freeze (removing packages from koji will > no longer be possible after this point) > * Blocks release? No (the initial Change is small and does not > negatively affect release process) > * Blocks product? N/A > > == Documentation == > > The Packaging Guidelines for Rust will be updated to reflect this Change. > > == Release Notes == > > TBD > +100000000000000000 This will make life so much easier for getting Rust stuff packaged in Fedora. -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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/devel@xxxxxxxxxxxxxxxxxxxxxxx