Le 2019-11-13 07:39, Nicolas Mailhot a écrit :
Le mercredi 13 novembre 2019 à 06:43 +0100, Nicolas Mailhot via devel a

And anyway, if anyone feels the module design is actually needed (I
don’t, because the problems are elsewhere), it could have been *easily*
implemented within existing tools, without adding new infra to the mix,
just with

Make that:
1. in-module packages are named modulename-module
2. they include the following call after the Name: line
%module modulename

With %module defined as
%module(v) %{lua:
  local     fedora = require "fedora.common"
  local    verbose = (rpm.expand("%{-v}") ~= "")
  local modulename = rpm.expand("%1")
local pkgname = string.gmatch(rpm.expand(%{name}, "^" .. modulename .. "-", ""))
  fedora.safeset("modulename", modulename, verbose)
  print(rpm.expand(
    "Provides: module(" .. modulename .. ")\n" ..
    "Provides: " .. pkgname .. " = %{version}-%{release}\n"))
     -- add epoch if you really like it
}

3. in-module (Build)deps are declared as
(Build)Requires: (usual-depname with module(modulename))

(the with dep filtering is an optimization that should be done in rpm with or without modules if it’s not already the case: filter-out foo req if (foo with bar) also exists)

All the rest of the module complexity could have been provided as syntactic sugar in dnf+libdnf (maybe, with some work on indexes to optimize things a bit), without impacting the Fedora packager workflow and tooling in any way.

And "all the rest" is, with hindsight, quite complex to define (what to do when modules conflict).

But, none of the MBS & module-only yaml descriptors actually help here. Those things are a distraction. The complexity was always to define sane management policies. It was never in rpm technical limitations.

Regards,
--
Nicolas Mailhot
_______________________________________________
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

Reply via email to