|
@@ -0,0 +1,57 @@
|
|
|
+Only move shared libraries to /lib if they exists
|
|
|
+
|
|
|
+In several Makemodule.am, there is a install-exec-hook-<library>
|
|
|
+target whose role is to move the shared library from /usr/lib to /lib,
|
|
|
+while keeping a symbolic link /usr/lib/libuuid.so ->
|
|
|
+../../lib/<library>.so.<version>.
|
|
|
+
|
|
|
+However, when util-linux is built with --enable-static
|
|
|
+--disable-shared (as is needed on noMMU platforms that don't support
|
|
|
+shared libraries), no <library>.so is built, but the
|
|
|
+install-exec-hook-libuuid creates an invalid /usr/lib/<library>.so
|
|
|
+symbolic link, pointing to ../../lib (yes, the directory). This causes
|
|
|
+troubles later one when other libraries/programs are compiled with
|
|
|
+-l<library>, as gcc thinks a shared library is available because
|
|
|
+there's a file named /usr/lib/<library>.so.
|
|
|
+
|
|
|
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
+
|
|
|
+Index: b/libuuid/src/Makemodule.am
|
|
|
+===================================================================
|
|
|
+--- a/libuuid/src/Makemodule.am
|
|
|
++++ b/libuuid/src/Makemodule.am
|
|
|
+@@ -44,7 +44,7 @@
|
|
|
+
|
|
|
+ # move lib from $(usrlib_execdir) to $(libdir) if needed
|
|
|
+ install-exec-hook-libuuid:
|
|
|
+- if test "$(usrlib_execdir)" != "$(libdir)"; then \
|
|
|
++ if test "$(usrlib_execdir)" != "$(libdir)" -a -f "$(DESTDIR)$(usrlib_execdir)/libuuid.so"; then \
|
|
|
+ mkdir -p $(DESTDIR)$(libdir); \
|
|
|
+ mv $(DESTDIR)$(usrlib_execdir)/libuuid.so.* $(DESTDIR)$(libdir); \
|
|
|
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libuuid.so); \
|
|
|
+Index: b/libmount/src/Makemodule.am
|
|
|
+===================================================================
|
|
|
+--- a/libmount/src/Makemodule.am
|
|
|
++++ b/libmount/src/Makemodule.am
|
|
|
+@@ -123,7 +123,7 @@
|
|
|
+
|
|
|
+ # move lib from $(usrlib_execdir) to $(libdir) if needed
|
|
|
+ install-exec-hook-libmount:
|
|
|
+- if test "$(usrlib_execdir)" != "$(libdir)"; then \
|
|
|
++ if test "$(usrlib_execdir)" != "$(libdir)" -a -f "$(DESTDIR)$(usrlib_execdir)/libmount.so"; then \
|
|
|
+ mkdir -p $(DESTDIR)$(libdir); \
|
|
|
+ mv $(DESTDIR)$(usrlib_execdir)/libmount.so.* $(DESTDIR)$(libdir); \
|
|
|
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libmount.so); \
|
|
|
+Index: b/libblkid/src/Makemodule.am
|
|
|
+===================================================================
|
|
|
+--- a/libblkid/src/Makemodule.am
|
|
|
++++ b/libblkid/src/Makemodule.am
|
|
|
+@@ -220,7 +220,7 @@
|
|
|
+
|
|
|
+ # move lib from $(usrlib_execdir) to $(libdir) if needed
|
|
|
+ install-exec-hook-libblkid:
|
|
|
+- if test "$(usrlib_execdir)" != "$(libdir)"; then \
|
|
|
++ if test "$(usrlib_execdir)" != "$(libdir)" -a -f "$(DESTDIR)$(usrlib_execdir)/libblkid.so"; then \
|
|
|
+ mkdir -p $(DESTDIR)$(libdir); \
|
|
|
+ mv $(DESTDIR)$(usrlib_execdir)/libblkid.so.* $(DESTDIR)$(libdir); \
|
|
|
+ so_img_name=$$(readlink $(DESTDIR)$(usrlib_execdir)/libblkid.so); \
|