* [Buildroot] [PATCH] infra/pkg-generic: ensure absolute paths in config-script fixups
@ 2018-11-28 20:44 Yann E. MORIN
2018-11-29 22:00 ` Thomas Petazzoni
0 siblings, 1 reply; 2+ messages in thread
From: Yann E. MORIN @ 2018-11-28 20:44 UTC (permalink / raw)
To: buildroot
In case a config script is called from a relative path, the $(dirnale
$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" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
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 at STAGING_DIR@/usr/,g" \
-e "s,-L/usr/,-L at STAGING_DIR@/usr/,g" \
- -e 's, at STAGING_DIR@,$$(dirname $$0)/../..,g' \
- -e 's, at HOST_DIR@,$$(dirname $$0)/../../../..,g' \
+ -e 's, at STAGING_DIR@,$$(dirname $$(realpath -e $$0))/../..,g' \
+ -e 's, at HOST_DIR@,$$(dirname $$(realpath -e $$0))/../../../..,g' \
-e "s, at BASE_DIR@,$(BASE_DIR),g" \
$(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\
fi
--
2.14.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [Buildroot] [PATCH] infra/pkg-generic: ensure absolute paths in config-script fixups
2018-11-28 20:44 [Buildroot] [PATCH] infra/pkg-generic: ensure absolute paths in config-script fixups Yann E. MORIN
@ 2018-11-29 22:00 ` Thomas Petazzoni
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2018-11-29 22:00 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 28 Nov 2018 21:44:04 +0100, Yann E. MORIN wrote:
> In case a config script is called from a relative path, the $(dirnale
> $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" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> package/pkg-generic.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-11-29 22:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-28 20:44 [Buildroot] [PATCH] infra/pkg-generic: ensure absolute paths in config-script fixups Yann E. MORIN
2018-11-29 22:00 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox