nixpkgs/pkgs/tools/filesystems/xfsprogs/4.2.0-sharedlibs.patch
Tuomas Tynkkynen 24480efffc xfsprogs: Extend patch to make xfs_mdrestore and xfs_quota work
Previously these tools were failing to start with:

xfs_mdrestore: error while loading shared libraries: libxfs.so.0: \
        cannot open shared object file: No such file or directory
xfs_quota: error while loading shared libraries: libxcmd.so.0: \
        cannot open shared object file: No such file or directory

Extend the 4.2.0-sharedlibs.patch to make those programs work as well.
2015-11-20 00:17:23 +02:00

101 lines
2.8 KiB
Diff

--- xfsprogs-4.2.0/include/buildmacros
+++ xfsprogs-4.2.0/include/buildmacros
@@ -70,18 +70,9 @@
# /usr/lib.
ifeq ($(ENABLE_SHARED),yes)
INSTALL_LTLIB_DEV = \
- cd $(TOPDIR)/$(LIBNAME)/.libs; \
- ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
- ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR); \
- ../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_LIB_DIR)/$(LIBNAME).la ; \
- ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
- ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
- if [ "x$(shell readlink -f $(PKG_LIB_DIR))" != \
- "x$(shell readlink -f $(PKG_ROOT_LIB_DIR))" ]; then \
- ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a $(PKG_ROOT_LIB_DIR)/$(LIBNAME).a; \
- ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la $(PKG_ROOT_LIB_DIR)/$(LIBNAME).la; \
- ../$(INSTALL) -S $(PKG_ROOT_LIB_DIR)/$(LIBNAME).so $(PKG_LIB_DIR)/$(LIBNAME).so; \
- fi
+ set -e; cd $(TOPDIR)/$(LIBNAME); \
+ $(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+ env -uDIST_ROOT $(LTINSTALL) $(TOPDIR)/$(LIBNAME)/$(LIBNAME).la $(DIST_ROOT)$(PKG_LIB_DIR)/$(LIBNAME).la
else
INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
endif
--- xfsprogs-4.2.0/libxcmd/Makefile
+++ xfsprogs-4.2.0/libxcmd/Makefile
@@ -34,6 +34,9 @@
include $(BUILDRULES)
-install install-dev: default
+install: default
+
+install-dev: default
+ $(INSTALL_LTLIB_DEV)
-include .ltdep
--- xfsprogs-4.2.0/libxfs/Makefile
+++ xfsprogs-4.2.0/libxfs/Makefile
@@ -138,6 +138,7 @@
install-dev: install
$(INSTALL) -m 644 $(PKGHFILES) $(PKG_INC_DIR)
+ $(INSTALL_LTLIB_DEV)
# We need to install the headers before building the dependencies. If we
# include the .ltdep file, the makefile decides that it needs to build the
--- xfsprogs-4.2.0/libxlog/Makefile
+++ xfsprogs-4.2.0/libxlog/Makefile
@@ -12,6 +12,8 @@
CFILES = xfs_log_recover.c util.c
+LTLIBS = $(LIBUUID) $(LIBXFS)
+
# don't want to link xfs_repair with a debug libxlog.
DEBUG = -DNDEBUG
@@ -19,6 +21,9 @@
include $(BUILDRULES)
-install install-dev: default
+install: default
+
+install-dev: default
+ $(INSTALL_LTLIB_DEV)
-include .ltdep
--- xfsprogs-4.2.0/Makefile
+++ xfsprogs-4.2.0/Makefile
@@ -81,6 +81,8 @@
io: libxcmd libhandle
quota: libxcmd
repair: libxlog
+libxlog: libxfs
+libxlog-install-dev: libxfs-install-dev
ifeq ($(HAVE_BUILDDEFS), yes)
--- xfsprogs-4.2.0/quota/Makefile
+++ xfsprogs-4.2.0/quota/Makefile
@@ -16,7 +16,6 @@ LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
LLDLIBS = $(LIBXCMD)
LTDEPENDENCIES = $(LIBXCMD)
-LLDFLAGS = -static
ifeq ($(ENABLE_READLINE),yes)
LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
--- xfsprogs-4.2.0/mdrestore/Makefile
+++ xfsprogs-4.2.0/mdrestore/Makefile
@@ -10,7 +10,6 @@ CFILES = xfs_mdrestore.c
LLDLIBS = $(LIBXFS) $(LIBRT) $(LIBPTHREAD) $(LIBUUID)
LTDEPENDENCIES = $(LIBXFS)
-LLDFLAGS = -static
default: depend $(LTCOMMAND)