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/ _______________________________________________ epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to epel-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/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx