V Wed, Jun 21, 2023 at 11:52:36AM +0200, Remi Collet napsal(a):
> Le 13/06/2023 à 18:32, Petr Pisar a écrit :
> > Hello,
> > 
> > as it seems that module build infrastructure isn't getting any better, as
> > modular YUM repositories are going to be deconfigured
> > <https://fedoraproject.org/wiki/Changes/No_default_fedora-repos-modular>,
> > there is a time to look at different ways how to package alternative 
> > content.
> 
> Another way/proposal
> 
> Keep "modularity", but drop MBS
> 
> 1/ create a stream package which defines few needed stuff
> 
> mostly
> - %dist => .module+name+stream.distro
> - %modularitylabel
> 
That stream package would have to be registered as an optional member of
@build-srpm group and because the package is specific to a stream, the package
would have to be kept away from nonmodular build tag. Packagers would probaly
tag the stream package into their side tags dedicated for their streams.

> and possibly the .yaml template
> 
To enforce reprodusibility and auditability, Koji to has a rule that all input
is first commited into dist-git and then a Koji task loads it from there and
a packager has no way to influence it. A module-build task in Koji would have
to be changed to implement a logic for handling the YAML templates. With MBS
it was MBS service which implemented the logic and then imported the output as
a module build into Koji.

The same goes for the stream package. I have no idea how MBS builds
module-build-macros in Koji. A task info reads "Src: cli-build/....src.rpm".
Probably a privileged operation which does not involve dist-git.

> 2/ modify createrepo
> 
> so all the packages with modularitylabel=name:stream:*
> are be part of name:stream module
> 
Or modify createrepo_c to export the modularitylabel into primary.xml. The
YAML files, if ever needed, would be synthesized by DNF.

My largest problem with this approach is a manual management of the tags on
the modular builds. Koji does not have a way how to be asked for all builds
belonging to a stream. MBS worked around it by using ephemeral tags for
building each stream and then maintaining a registry of these tags and their
builds for a later use (e.g. for updating the stream).

> Done.
> 
> And we have something which works and have been heavily tested
> 
> Yes this is a 1 level only modularity.
>
I worry that even this user-side-only modularity is unwelcome
<https://fedoraproject.org/wiki/Changes/No_default_fedora-repos-modular>.

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to