From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH next v5 6/9] package/pkg-generic: adjust config scripts tweaks for per-package folders
Date: Tue, 20 Nov 2018 21:53:57 +0100 [thread overview]
Message-ID: <20181120205357.GK2601@scaer> (raw)
In-Reply-To: <20181120163522.4281-7-thomas.petazzoni@bootlin.com>
Thomas, All,
On 2018-11-20 17:35 +0100, Thomas Petazzoni spake thusly:
> This commit adjusts the logic in pkg-generic.mk that tweaks the
> *-config shell scripts installed by various libraries to make it
> compatible with per-package folders.
>
> This requires two fixes:
>
> - replacing $(STAGING_DIR) with a relative path from the config script
> to the staging directory, rather than using an absolute path of the
> staging directory.
Note [0], see below...
[--SNIP--]
> - Some *-config scripts, such as the apr-1-config script, contain
> references to host tools:
>
> CC=".../output/per-package/apr/hosr/bin/arm-linux-gcc"
> CCP=".../output/per-package/apr/hosr/bin/arm-linux-cpp"
>
> We also want to replace those with proper relative paths. To
Note [1], see below...
> achieve this, we need to also replace $(HOST_DIR) with a relative
> path. Since $(STAGING_DIR) is inside $(HOST_DIR), the first
> replacement of $(STAGING_DIR) by @STAGING_DIR@ is no longer needed:
> replacing $(HOST_DIR) by @HOST_DIR@ is sufficient. We still need to
> replace @STAGING_DIR@ by the proper path though, as we introduce
> @STAGING_DIR@ references in exec_prefix and prefix variables, as
> well as -I and -L flags.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> package/pkg-generic.mk | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 309fd8cd48..9b4db845b6 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -275,12 +275,13 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
> $(foreach hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep))
> $(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \
> $(call MESSAGE,"Fixing package configuration files") ;\
> - $(SED) "s,$(BASE_DIR), at BASE_DIR@,g" \
> - -e "s,$(STAGING_DIR), at STAGING_DIR@,g" \
> + $(SED) "s,$(HOST_DIR), at HOST_DIR@,g" \
> + -e "s,$(BASE_DIR), at BASE_DIR@,g" \
Previously, BASE_DIR was the very first thing replaced, but now it no
longer is.
I'm not sure if I follow it all, but is the reason for that inversion
hidden behhinde notes [0] and [1], being the need to create relative
symlinks?
As far as I understand, if BASE_DIR is kept as the first replacement,
then we lose HOST_DIR as it (usually) is a subdir of BASE_DIR, so we end
up with just @BASE_DIR@/host and thus can't easily replace it with
relative paths anymore.
Right?
If so, then:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> -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@,$(STAGING_DIR),g" \
> + -e 's, at STAGING_DIR@,$$(dirname $$0)/../..,g' \
> + -e 's, at HOST_DIR@,$$(dirname $$0)/../../../..,g' \
> -e "s, at BASE_DIR@,$(BASE_DIR),g" \
> $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\
> fi
> --
> 2.19.1
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2018-11-20 20:53 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-20 16:35 [Buildroot] [PATCH next v5 0/9] Per-package host/target directory support Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 1/9] Makefile: evaluate CCACHE and HOST{CC, CXX} at time of use Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 2/9] support/scripts/check-host-rpath: split condition on two statements Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 3/9] Makefile: rework main directory creation logic Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 4/9] Makefile: move .NOTPARALLEL statement after including .config file Thomas Petazzoni
2018-11-20 20:18 ` Yann E. MORIN
2018-11-21 13:44 ` Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 5/9] Makefile: define TARGET_DIR_WARNING_FILE relative to TARGET_DIR Thomas Petazzoni
2018-11-20 20:32 ` Yann E. MORIN
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 6/9] package/pkg-generic: adjust config scripts tweaks for per-package folders Thomas Petazzoni
2018-11-20 20:53 ` Yann E. MORIN [this message]
2018-11-23 12:46 ` Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 7/9] core: implement per-package SDK and target Thomas Petazzoni
2018-11-20 21:36 ` Yann E. MORIN
2018-11-20 23:32 ` Arnout Vandecappelle
2018-11-23 13:25 ` Thomas Petazzoni
2018-11-23 15:44 ` Arnout Vandecappelle
2018-11-23 13:14 ` Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 8/9] package/pkg-generic: make libtool .la files compatible with per-package folders Thomas Petazzoni
2018-11-20 16:35 ` [Buildroot] [PATCH next v5 9/9] package/pkg-kconfig: handle KCONFIG_DEPENDENCIES " Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181120205357.GK2601@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.