From 9c43f28de450adeae998d0e0d974777441510c76 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Wed, 28 Nov 2018 21:44:04 +0100 Subject: [PATCH] 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 --- package/pkg-generic.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 -- 2.30.2