From: Yann E. MORIN Date: Wed, 28 Nov 2018 20:44:04 +0000 (+0100) Subject: package/pkg-generic: ensure absolute paths in config-script fixups X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9c43f28de450adeae998d0e0d974777441510c76;p=buildroot.git package/pkg-generic: ensure absolute paths in config-script fixups In case a config script is called from a relative path, the $(dirname $0) would return a relative path too. Those paths are usually parts of includes or libraries search directories, and the packagfes buildsystems may chdir() anywhere, and thus the relative path will no longer be valid. For example: $ ./host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/net-snmp-config --cflags [...] -I./host/powerpc-buildroot-linux-uclibc/sysroot/usr/bin/../../.././bin/../powerpc-buildroot-linux-uclibc/sysroot/usr/include/libnl3 [...] Canonicalise the path to be sure we use absolute paths. Signed-off-by: "Yann E. MORIN" Cc: Thomas Petazzoni Signed-off-by: Thomas Petazzoni --- diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 887dc838a4..649a7ad187 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -280,8 +280,8 @@ $(BUILD_DIR)/%/.stamp_staging_installed: -e "s,^\(exec_\)\?prefix=.*,\1prefix=@STAGING_DIR@/usr,g" \ -e "s,-I/usr/,-I@STAGING_DIR@/usr/,g" \ -e "s,-L/usr/,-L@STAGING_DIR@/usr/,g" \ - -e 's,@STAGING_DIR@,$$(dirname $$0)/../..,g' \ - -e 's,@HOST_DIR@,$$(dirname $$0)/../../../..,g' \ + -e 's,@STAGING_DIR@,$$(dirname $$(realpath -e $$0))/../..,g' \ + -e 's,@HOST_DIR@,$$(dirname $$(realpath -e $$0))/../../../..,g' \ -e "s,@BASE_DIR@,$(BASE_DIR),g" \ $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ fi