On Fri, Jul 08, 2022 at 10:42:08AM +0200, Fabio Valentini wrote:
On Fri, Jul 8, 2022 at 10:37 AM Zbigniew Jędrzejewski-Szmek
<zbyszek(a)in.waw.pl> wrote:
>
> On Fri, Jul 08, 2022 at 04:15:51PM +0800, Zamir Sun wrote:
> > On Fri, Jul 8, 2022 at 4:14 PM Zamir Sun <zsun(a)fedoraproject.org> wrote:
> > >
> > > On Fri, Jul 8, 2022 at 4:11 PM Florian Weimer <fweimer(a)redhat.com>
wrote:
> > > >
> > > > * Zamir Sun:
> > > >
> > > > > Hi Zbyszek,
> > > > >
> > > > > According to the policy, kernel modules are not allowed
> > > > >
> > > > >
https://docs.fedoraproject.org/en-US/packaging-guidelines/what-can-be-pac...
> > > >
> > > > That section talks about pre-built binaries. The question here is
about
> > > > kernel module sources.
> > > >
> > >
> > > Hi Florian,
> > >
> > > In the section "No external kernel modules" (which is before
the
> > > pre-build binary section), I did not see it mentioning pre-build or
> > > not.
> > >
> > > "Fedora allows only a single kernel package; packages containing
> > > alternate kernels are not allowed in the distribution. If there are
> > > kernel features which would be generally useful, please communicate
> > > with the Kernel Team."
> >
> > sorry, copy-paste issue
> >
> > "Fedora does not allow kernel modules to be packaged outside of the
> > main kernel package. You should communicate with the Kernel Team
> > regarding enabling additional kernel modules."
>
> I guess it'd be easiest if the kernel maintainers chimed in directly:
> /cc kernel-maint(a)fp.o
>
> I always understood the packaging guideline to be a mechanism to prevent
> users assuming that a kernel module installed from the repos is supported
> by the Fedora kernel maintainers. If the user has to compile the module from
> sources, it should be clear enough that this is outside of scope of support.
I'm not so sure about that. akmods would fit that definition too:
package only contains sources, user compiles them on their local
machine - albeit automatically, in this case.
And akmods are only shipped by rpmfusion. I would recommend doing the
same here: Package the (optional?) kernel module as an akmod and ship
it via rpmfusion.
However, if the kernel module is *not* optional, then it's not allowed
in Fedora repositories at all, given our "MUST NOT include software
that is not functional without dependencies on packages from
third-party repositories", and in that case, I'd move the whole
package to rpmfusion.
So… the question becomes: do we still want this guideline? There is no
general _legal_ or _technical_ reason to not allow external kernel
modules to be packaged. (In some specific cases, the license might be
"bad", but that'd be specific to the module, just as for any other
software type).
Why do we make people to jump through hoops? We don't have this kind
of rule for non-kernel software. For example, I'm allowed to package
almost any extension or alternative for apache httpd.
PROPOSAL:
Drop the blanket prohibition of packaging of kernel modules.
Only disallow packaging of kernel modules in specific scenarios:
- the module is an alternative version of a module that is already
packaged in Fedora
- there are technical or legal reasons not to package a module
(the license is not FOSS, the license is unclear or suspicious)
With the following caveats:
- the package must clearly state that the module is non-upstream
and is not supported by fedora kenrel maintainers
- non-upstream kernel modules must add a taint to the kernel
that a non-upstream module was loaded, and the kernel team is free
to close or reassign any bug reports reported with the taint.
Zbyszek