Re: F34 Change Proposal: Rust Crate Packages For Release Branches (System-Wide Change)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 14, 2020 at 10:10:30AM -0400, Ben Cotton 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.

Should the update policy for rust-devel packages be relaxes in stable
releases to allow updates to follow rawhide, at least if there are
no major breaking changes?

Current update policy states that major version changes should be avoided
in after stable release. But rust upstreams tend to move quickly, so having
~1 year old packages in stable Fedora might not be too useful to build
newest upstreams. It might make sense to allow the rust-*-devel packages
to be updated more aggressively.

Zbyszek



> == 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
> 
> 
> -- 
> Ben Cotton
> He / Him / His
> Senior Program Manager, Fedora & CentOS Stream
> Red Hat
> TZ=America/Indiana/Indianapolis
> _______________________________________________
> 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
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux