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@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