Fix ldconfig call in target-finalize

Recent versions of ldconfig require the directory /var/lib/ldconfig,
otherwise they bail out with an error. Moreover, having a
/etc/ld.so.conf file also avoids a warning.

In addition to this, we remove the redirection of stderr, so that
errors remain visible to the user.

Thanks to Baruch Siach, Andy Gibbs and Darcy Watkins for investigating
the issue and proposing solutions.

This fixes the build on recent distributions such as Fedora 13 or
Gentoo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2010-08-30 22:52:18 +02:00
parent 4973632207
commit 4ccde7fabb

View File

@ -400,13 +400,17 @@ ifneq ($(BR2_HAVE_DOCUMENTATION),y)
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
endif
find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD) 2>/dev/null || true
mkdir -p $(TARGET_DIR)/etc
# Mandatory configuration file and auxilliary cache directory
# for recent versions of ldconfig
touch $(TARGET_DIR)/etc/ld.so.conf
mkdir -p $(TARGET_DIR)/var/cache/ldconfig
if [ -x "$(TARGET_CROSS)ldconfig" ]; \
then \
$(TARGET_CROSS)ldconfig -r $(TARGET_DIR) 2>/dev/null; \
$(TARGET_CROSS)ldconfig -r $(TARGET_DIR); \
else \
/sbin/ldconfig -r $(TARGET_DIR) 2>/dev/null; \
/sbin/ldconfig -r $(TARGET_DIR); \
fi
mkdir -p $(TARGET_DIR)/etc
echo $(BR2_VERSION)$(shell $(TOPDIR)/scripts/setlocalversion) > \
$(TARGET_DIR)/etc/br-version