On Thu, Jan 31, 2019 at 7:28 AM Igor Gnatenko
<ignatenkobr...@fedoraproject.org> wrote:
>
> MayBe I …(can do something useful)?
>
> Hello,
>
> We've been discussing some (hopefully) nice idea with Mikolaj, Neal and Jakub 
> how we could improve packager (and user) experience and we have some proposal 
> which will be described below.
>
> We would like to ask you to read it, understand it and ask us any questions 
> you have. From the Fedora Infrastructure we would like to ask for some 
> machines to implement this idea (you can find some more information in 
> "Implementation details" part).
>
> I would like to apologize for HTML email, but it is much easier to have it 
> that way to have better visibility and reading easiness.
>
> Feel free to reply to this email or comment in google doc (there is a link on 
> the bottom).
>
> Proposal Owners
>
> Mikolaj Izdebski (mizdebsk) - Java SIG, Fedora infrastructure
>
> Igor Gnatenko (ignatenkobrain) - Rust SIG, Golang SIG, Neuro SIG, RPM and 
> libsolv contributor
>
> Neal Gompa (ngompa) - Rust SIG, Golang SIG, RPM contributor
>
> Jakub Čajka (jcajka) - Golang SIG, Container SIG
>
>
> This proposal aligns with the objective of improving the packager experience 
> by developing a platform whereby the proposal owners and others can 
> experiment with improvements that can be funneled back into the official 
> production infrastructure.
>
> Problems
>
> Problem №1: Build-only packages
>
> Some ecosystems have many build-only packages (packages which are used to 
> build other packages, without having them installed on end-user systems). 
> Those ecosystems include Java, Rust and Go.
>
>
> It is extremely hard to keep up maintaining them due to lack of time/people. 
> Upstreams are usually changing quickly (sometimes when you update just one 
> such package, you’d need to update tens of the dependencies). Few facts about 
> such packages:
>
> They are almost always outdated in released versions of distribution;
>
> They are often FTBFS (e.g. because there was compiler update but not package 
> update, broken deps, broken APIs due to deps rebases, …).
>
>
> In Rust ecosystem, we abuse Rawhide to build and store such packages there 
> and then generate end-user application (e.g. ripgrep) which uses some of 
> those packages and produces binary for all supported releases. Those 
> applications have high quality and are supported.
>
> Rawhide gating makes this much more complicated because builds appear in 
> buildroot slower, updating group of packages would need side tags and it’s 
> just painful to work with.
>
> https://pagure.io/fesco/issue/2068
>
>
> And, after all, those packages shouldn’t be shipped to users.
>
> Problem №2: Testing of new rpm/koji/mock features/configuration
>
> When developing new features in RPM (e.g. rich dependencies) or testing 
> different Koji configuration (e.g. removing gcc/gcc-c++ from the buildroot), 
> it is required to make custom configuration and try building things.
>
> Problem №3: Developing modules
>
> Modules are built in MBS as a single unit. It is hard to develop big modules 
> by progressively improving individual packages or small package groups. 
> Scratch builds for modules are not implemented. Local builds work differently 
> from official module builds, they don’t scale and don’t allow groups of 
> people to work collaboratively. All these problems can be solved by first 
> developing a flat repository of packages in a shared environment and then 
> generating modulemd from such package set.
>
> Problem №4: Testing things before push
>
> Primary Fedora Koji and dist-git are not suited for packaging 
> experimentation. Packagers are expected to experiment on their own systems 
> and push changes of successful experiments only. But this approach doesn’t 
> scale with number of maintained packages. Often you can find commits like 
> “d’oh, forgot to upload sources” or “let’s try with this settings”. People 
> need to build things somewhere quickly, do development and testing. And only 
> after that, they should push commit(s) to Fedora.
>
> Solution
>
> Separate Koji + Koschei deployed in Fedora infrastructure cloud;

Why does this need to be deployed in the fedora infrastructure cloud?
Seems like you could stand it up in AWS or somewhere else.

josh
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to