From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] core/pkg-infra: tweak only .la files that need it
Date: Sun, 10 Feb 2019 20:57:25 +0100 [thread overview]
Message-ID: <20190210195725.GM3079@scaer> (raw)
In-Reply-To: <CAAXf6LXCZ0DNu5p4MSzbaSsxiWrznVvZDqVWBEMzY8oepK1Z9Q@mail.gmail.com>
Thomas, All,
On 2019-02-10 20:23 +0100, Thomas De Schampheleire spake thusly:
> El dom., 10 feb. 2019 a las 9:48, Yann E. MORIN
> (<yann.morin.1998@free.fr>) escribi?:
> >
> > Currently, when we tweak the .la files, we do so unconditionally on all
> > .la files, even those we already fixed in a previous run.
> >
> > This has the nasty side effect that each .la file will be reported as
> > being touched by all packages that are installed after the package that
> > actually installed said .la file.
> >
> > Since we can't easily know what fiels were isntalled by a package (that
>
> files
> installed
>
> > is an instrumetnation hook, and comes after the mangling), we use a
>
> instrumentation
>
> > trick (like is done in libtool?): we do mangle all files, each in into a
>
> /in/d
>
> > temporary location; if the result is identical to the input, we remove
> > the temporary, while if the resiult differes from the output, we move
>
> result differs
OK, so it looks like my new glasses are not up to the task of fixing
my eyesight, since I could not spot any of those mistakes when
proof-reading myself...
Or maybe it is not my eyes that are deffective, in fact?
> > the temporary to the input.
> >
> > Reported-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
> > Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Cc: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
> > Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
> > Cc: Arnout Vandecappelle <arnout@mind.be>
> > ---
> > package/pkg-generic.mk | 12 ++++++++++--
> > 1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> > index 6168b40e89..afd0d41e2a 100644
> > --- a/package/pkg-generic.mk
> > +++ b/package/pkg-generic.mk
> > @@ -294,7 +294,8 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
> > $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\
> > fi
> > @$(call MESSAGE,"Fixing libtool files")
> > - $(Q)find $(STAGING_DIR)/usr/lib* -name "*.la" | xargs --no-run-if-empty \
> > + $(Q)for la in $(find $(STAGING_DIR)/usr/lib* -name "*.la"); do \
Meh... The real culp[rit for the borked patch is that $(find ...) is not
the same as $$(find ...) here... So the loop is never, ever entered, and
the issue below...
> > + cp -a "$${la}" "$${la}.fixed" && \
> > $(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \
> > -e "s:$(STAGING_DIR):@STAGING_DIR@:g" \
> > $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
> > @@ -303,7 +304,14 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
> > $(if $(TOOLCHAIN_EXTERNAL_INSTALL_DIR),\
> > -e "s:@TOOLCHAIN_EXTERNAL_INSTALL_DIR@:$(TOOLCHAIN_EXTERNAL_INSTALL_DIR):g") \
> > -e "s:@STAGING_DIR@:$(STAGING_DIR):g" \
> > - -e "s:@BASE_DIR@:$(BASE_DIR):g"
> > + -e "s:@BASE_DIR@:$(BASE_DIR):g"; \
>
> The semicolon shouldn't be here, right? I.e. the "$${la}.fixed" below
> is the argument to the sed command, no?
... is not noticed.
Regards,
Yann E. MORIN.
> > + "$${la}.fixed" && \
> > + if cmp "$${la}" "$${la}.fixed"; then \
> > + rm -f "$${la}.fixed"; \
> > + else \
> > + mv "$${la}.fixed" "$${la}"; \
> > + fi || exit 1; \
> > + done
> > @$(call step_end,install-staging)
> > $(Q)touch $@
> >
>
> I did not test it but it looks a valid approach.
>
> Best regards,
> Thomas
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2019-02-10 19:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-10 8:48 [Buildroot] [PATCH] core/pkg-infra: tweak only .la files that need it Yann E. MORIN
2019-02-10 19:23 ` Thomas De Schampheleire
2019-02-10 19:57 ` Yann E. MORIN [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-02-10 21:38 Yann E. MORIN
2019-03-17 15:47 ` Thomas Petazzoni
2019-03-27 14:28 ` Peter Korsgaard
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=20190210195725.GM3079@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.