From: Emil Velikov Date: Thu, 7 Nov 2024 14:17:28 +0000 (+0000) Subject: meson.build: install kmod symlinks to /usr/sbin/ X-Git-Tag: v34~120 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7eaf41bda7dc744d1f1528ba110ff01cc6656a28;p=thirdparty%2Fkmod.git meson.build: install kmod symlinks to /usr/sbin/ With earlier commit we added support for kmod itself to install the symlinks to kmod. While it works across the board, some distributions still support (to varying degree) split /usr/bin and /usr/sbin. This commit changes the location where those are created and bears no functional change for merged bin-sbin users. While for split ones, it follows what distributions are doing to a varying extend: - Fedora, Alpine - this commit matches exactly what they do - Debian, Yocto - they have an extra /bin/lsmod -> ../sbin/kmod symlink - Gentoo - as Debian plus an extra /bin/modinfo -> ../sbin/kmod symlink Loosely based on a Debian patch by Marco d'Itri. Signed-off-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/231 Signed-off-by: Lucas De Marchi --- diff --git a/Makefile.am b/Makefile.am index 554409fc..a7eb1b20 100644 --- a/Makefile.am +++ b/Makefile.am @@ -145,7 +145,8 @@ dist_zshcompletion_DATA = \ install-exec-hook: if BUILD_TOOLS for tool in insmod lsmod rmmod depmod modprobe modinfo; do \ - $(LN_S) -f kmod $(DESTDIR)$(bindir)/$$tool; \ + $(MKDIR_P) $(DESTDIR)$(sbindir); \ + $(LN_S) --force --relative $(DESTDIR)$(bindir)/kmod $(DESTDIR)$(sbindir)/$$tool; \ done endif diff --git a/meson.build b/meson.build index b4789df4..483d7afa 100644 --- a/meson.build +++ b/meson.build @@ -181,6 +181,7 @@ features = [] prefixdir = get_option('prefix') sysconfdir = get_option('sysconfdir') bindir = prefixdir / get_option('bindir') +sbindir = prefixdir / get_option('sbindir') includedir = prefixdir / get_option('includedir') libdir = prefixdir / get_option('libdir') datadir = prefixdir / get_option('datadir') @@ -473,11 +474,15 @@ _tools = [ 'rmmod', ] -foreach tool : _tools - if get_option('tools') - install_symlink(tool, pointing_to: 'kmod', install_dir: bindir) - endif -endforeach +if get_option('tools') + mkdir_p = 'mkdir -p "$DESTDIR@0@"' + meson.add_install_script('sh', '-c', mkdir_p.format(sbindir)) + + ln_s = 'ln --symbolic --force --relative "$DESTDIR@0@/kmod" "$DESTDIR@1@"' + foreach tool : _tools + meson.add_install_script('sh', '-c', ln_s.format(bindir, sbindir / tool)) + endforeach +endif internal_kmod_symlinks = [] @@ -522,6 +527,7 @@ summary({ 'prefix' : prefixdir, 'sysconfdir' : sysconfdir, 'bindir' : bindir, + 'sbindir' : sbindir, 'includedir' : includedir, 'libdir' : libdir, 'datadir' : datadir,