On Tue, Jan 12, 2021 at 8:06 AM Michal Suchanek <msuchanek@xxxxxxx> wrote: > > There is an ongoing effort to limit use of files outside of /usr (or > $prefix on general). Currently all modprobe.d paths are hardcoded to > outside of $prefix. Teach kmod to load modprobe.d from $prefix/lib. /lib came from module-init-tools and we kept it for compatibility. It became a non-issue when distros decided to just merge them and do a symlink /lib -> /usr/lib following https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/ what distros didn't do that? I also fear the solution you want here is not so simple since now the configs will be added twice if there is the symlink. And if we just drop /lib and start using /usr/lib we break compatibility. Lucas De Marchi > > Cc: Marcus Rückert <mrueckert@xxxxxxxx> > Cc: Takashi Iwai <tiwai@xxxxxxxx> > Cc: Dominique Leuenberger <dimstar@xxxxxxxxxxxx> > Signed-off-by: Michal Suchanek <msuchanek@xxxxxxx> > --- > Makefile.am | 1 + > libkmod/libkmod.c | 1 + > man/modprobe.d.xml | 1 + > 3 files changed, 3 insertions(+) > > diff --git a/Makefile.am b/Makefile.am > index b29e943a4d29..702a665f0334 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -19,6 +19,7 @@ AM_CPPFLAGS = \ > -include $(top_builddir)/config.h \ > -I$(top_srcdir) \ > -DSYSCONFDIR=\""$(sysconfdir)"\" \ > + -DPREFIX=\""$(prefix)"\" \ > ${zlib_CFLAGS} > > AM_CFLAGS = $(OUR_CFLAGS) > diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c > index 43423d63a889..9399c6c902f8 100644 > --- a/libkmod/libkmod.c > +++ b/libkmod/libkmod.c > @@ -65,6 +65,7 @@ static const char *default_config_paths[] = { > SYSCONFDIR "/modprobe.d", > "/run/modprobe.d", > "/lib/modprobe.d", > + PREFIX "/lib/modprobe.d", > NULL > }; > > diff --git a/man/modprobe.d.xml b/man/modprobe.d.xml > index 211af8488abb..ae5a83986a52 100644 > --- a/man/modprobe.d.xml > +++ b/man/modprobe.d.xml > @@ -40,6 +40,7 @@ > </refnamediv> > > <refsynopsisdiv> > + <para><filename>/usr/lib/modprobe.d/*.conf</filename></para> > <para><filename>/lib/modprobe.d/*.conf</filename></para> > <para><filename>/etc/modprobe.d/*.conf</filename></para> > <para><filename>/run/modprobe.d/*.conf</filename></para> > -- > 2.26.2 >