diff --git a/utils/kmod/patches/020-build-allow-to-install-over-dirty-dir.patch b/utils/kmod/patches/020-build-allow-to-install-over-dirty-dir.patch new file mode 100644 index 0000000000..afaadc2b64 --- /dev/null +++ b/utils/kmod/patches/020-build-allow-to-install-over-dirty-dir.patch @@ -0,0 +1,45 @@ +From c5054b215089f9e3cdc9602232649c2b5b1de743 Mon Sep 17 00:00:00 2001 +From: Lucas De Marchi +Date: Wed, 6 Mar 2024 08:58:04 -0600 +Subject: [PATCH] build: Allow to install over dirty dir + +Before commit e98cef6f3f8c ("make: install/uninstall tools symlinks to +kmod") it was possible to call `make install DESTDIR=` multiple +times. Use `ln -sf` so the symlink is always re-created. + +It would be preferred to remove install in an empty dir, but there's +not a bad consequence of re-using the same, so let the user decide. +Fixes the following errors while installing for the second time: + + ln: failed to create symbolic link '/tmp/inst/usr/bin/insmod': File exists + ln: failed to create symbolic link '/tmp/inst/usr/bin/lsmod': File exists + ln: failed to create symbolic link '/tmp/inst/usr/bin/rmmod': File exists + ln: failed to create symbolic link '/tmp/inst/usr/bin/depmod': File exists + ln: failed to create symbolic link '/tmp/inst/usr/bin/modprobe': File exists + ln: failed to create symbolic link '/tmp/inst/usr/bin/modinfo': File exists + make[3]: *** [Makefile:2679: install-exec-hook] Error 1 + make[2]: *** [Makefile:2553: install-exec-am] Error 2 + make[1]: *** [Makefile:2439: install-am] Error 2 + make: *** [Makefile:1848: install-recursive] Error 1 + +Cc: Emil Velikov +Closes: https://github.com/kmod-project/kmod/issues/35 +Reviewed-by: Emil Velikov +Link: https://lore.kernel.org/r/20240306145804.135709-1-lucas.de.marchi@gmail.com +Upstream-Status: Backport [https://github.com/kmod-project/kmod/commit/c5054b215089f9e3cdc9602232649c2b5b1de743] +Signed-off-by: Lucas De Marchi +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Makefile.am ++++ b/Makefile.am +@@ -113,7 +113,7 @@ install-exec-hook: + fi + if BUILD_TOOLS + for tool in insmod lsmod rmmod depmod modprobe modinfo; do \ +- $(LN_S) kmod $(DESTDIR)$(bindir)/$$tool; \ ++ $(LN_S) -f kmod $(DESTDIR)$(bindir)/$$tool; \ + done + endif +