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: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




[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