Re: [EPEL-devel] Re: Documentation for EPEL modules?

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

 



On Fri, May 15, 2020 at 7:57 AM Petr Pisar <ppisar@xxxxxxxxxx> wrote:
>
> On Fri, May 15, 2020 at 06:30:04AM -0500, Richard Shaw wrote:
> > On Fri, May 15, 2020 at 6:15 AM Petr Pisar <ppisar@xxxxxxxxxx> wrote:
> >
> > > On Fri, May 15, 2020 at 12:42:15PM +0200, Antonio Trande wrote:
> > > > Shortly (Martin is in Cc to confirm):
> > > >
> > > > 1) Make a module:
> > > >
> > > > $ fedpkg clone cmake3
> > > > $ fedpkg request-repo --namespace modules --exception cmake3-latest
> > > > $ fedpkg request-branch --namespace modules --repo cmake3-latest epel8
> > > >
> > > This will request for creating "cmake3-latest" module and "cmake3-latest"
> > > repository and "epel8" stream and "epel8" branch. I don't know if you
> > > really
> > > want to create "cmake3-latest:epel8" module stream.
> > >
> >
> > Since this is a module, is there any point in using the cmake3 namespace
> > over just cmake?
> >
> I cannot see any point. Maybe if there were cmake-2 or cmake-4 incompatible to
> cmake-3 but installable in parallel, then it would make sense. (Like Python.)
> Because you cannot install more streams of the same module at the same time.
> Otherwise I would also go with plain "cmake" module name.


It turns out, cmake already has a presence[1] in the modules namespace
of dist-git. It is a relic of the Modularity 1.0 effort, but it's
already there and that will make this easier.

The first thing to look at is CMake's compatibility policy. At a quick
glance, it appears that CMake upstream expects to maintain
backwards-compatible support for all minor releases within the "3.x"
major release number. So from my perspective, the best choice for you
would be to pick the stream name "3", resulting in `cmake:3` as your
module stream. This will allow you to update to any future 3.x release
within the same stream. If CMake 4 is ever released, you can create
the `cmake:4` stream in the same manner.

To do this, request the "3" branch for the cmake module with:
$ fedpkg request-branch --namespace modules cmake 3

Once that branch is created:
$ fedpkg clone modules/cmake
$ fedpkg switch-branch 3

Create a `cmake.yaml` file in the dist-git checkout as described in
the docs [2], commit and push it to dist-git and then do:
$ fedpkg module-build

When creating the definition, you'll want to either leave the
dependencies at `platform: [ ]` (meaning build for all supported
releases, Fedora and EPEL) or else specifically use `platform: [ el8
]` to build only for EPEL 8.

All of this said: it's important to note that this approach also means
that any package that wants to use your newer CMake to build in EPEL 8
will need to build as a module and set their module dependency to
include `cmake:3`. It won't be available in the buildroot for
non-modular packages.


[1] https://src.fedoraproject.org/modules/cmake
[2] https://docs.fedoraproject.org/en-US/modularity/making-modules/defining-modules/
_______________________________________________
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