symlink loop for /lib64/libhandle.so
Christoph Hellwig
hch at infradead.org
Tue Jul 15 10:48:57 CDT 2014
Hi Jan,
there were still some small isues with the patch format, I've attached
a version of your patch that has the expected format.
Note that I also changed it to only check the canonical names instead of
testing the passed in one and the one readlink was called on. This
should be enough I think, but please test that it still works for you.
Thanks for tracking this down!
-------------- next part --------------
From: Jan Tulak <jan at tulak.me>
Subject: [PATCH] libhandle: fix instalation for symlinked /usr
Canonicalize the pathnames for PKG_LIB_DIR and PKG_ROOT_LIB_DIR before
checking if they are the same. This is required for Fedora which doesn't
have a separate /usr/lib directory anymore.
Reported-by: Jan Tulak <jan at tulak.me>
Signed-off-by: Jan Tulak <jan at tulak.me>
diff --git a/include/buildmacros b/include/buildmacros
index 7a01880..4e4e8fa 100644
--- a/include/buildmacros
+++ b/include/buildmacros
@@ -76,10 +76,11 @@ INSTALL_LTLIB_DEV = \
../$(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 test "x$(PKG_LIB_DIR)" != "x$(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; \
+ 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
else
INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
More information about the xfs
mailing list