Re: Modularity: The Official Complaint Thread

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

 



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




[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