* [Buildroot] [PATCH 0/2 for 2015.11.x] rpath: fix fallout of check-host-rpath (branch yem/host-gawk) @ 2015-12-01 22:19 Yann E. MORIN 2015-12-01 22:19 ` [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir Yann E. MORIN 2015-12-01 22:19 ` [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant Yann E. MORIN 0 siblings, 2 replies; 9+ messages in thread From: Yann E. MORIN @ 2015-12-01 22:19 UTC (permalink / raw) To: buildroot Hello All! This series, intended for master *and* a 2015.11.x maitenance branch, fixes two bugs related to the RPATH handling that we introduced in 2015.11. The first is a trivial oversight in sanitising the host directory in the check-host-rpath script. The second is more complex. It simply disables optional features of our host gawk when the user has gmp and mpfr or readline development files installed on its host system. See the second commit log, the topic is fully explained there, and is not trivial to sumarise. Regards, Yann E. MORIN. The following changes since commit 3f90e532ff48669873f682a4f0c3b6f0910cb2e9: Update for 2015.11 (2015-11-30 23:13:41 +0100) are available in the git repository at: git://git.busybox.net/~ymorin/git/buildroot yem/host-gawk for you to fetch changes up to 9cd7b6bdd9790d4105829b278c0e6acba9f103f3: package/gawk: do not use readeline ormpfr in host variant (2015-12-01 22:56:50 +0100) ---------------------------------------------------------------- Yann E. MORIN (2): support/check-host-rpath: remove trailing '/' in host dir package/gawk: do not use readeline ormpfr in host variant package/gawk/gawk.mk | 4 +++- support/scripts/check-host-rpath | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir 2015-12-01 22:19 [Buildroot] [PATCH 0/2 for 2015.11.x] rpath: fix fallout of check-host-rpath (branch yem/host-gawk) Yann E. MORIN @ 2015-12-01 22:19 ` Yann E. MORIN 2015-12-02 22:40 ` Peter Korsgaard 2015-12-01 22:19 ` [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant Yann E. MORIN 1 sibling, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2015-12-01 22:19 UTC (permalink / raw) To: buildroot Despite the comment saying so, the trailing '/' in the host directory is not removed. note however that it is properly removed from extracted RPATH tags. This is not visible when the host directory is our default $(O)/host location, but breaks for user-supplied external host ditrectory, when the user leaves a trailing slash in the path. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- Peter, for the maintenance branch over 2015.11. Sorry for the mess, it's a case I did not test... --- support/scripts/check-host-rpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/scripts/check-host-rpath b/support/scripts/check-host-rpath index dc9e17f..48d69da 100755 --- a/support/scripts/check-host-rpath +++ b/support/scripts/check-host-rpath @@ -14,7 +14,7 @@ main() { local file ret # Remove duplicate and trailing '/' for proper match - hostdir="$( sed -r -e 's:/+:/:g;' <<<"${hostdir}" )" + hostdir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${hostdir}" )" ret=0 while read file; do -- 1.9.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir 2015-12-01 22:19 ` [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir Yann E. MORIN @ 2015-12-02 22:40 ` Peter Korsgaard 0 siblings, 0 replies; 9+ messages in thread From: Peter Korsgaard @ 2015-12-02 22:40 UTC (permalink / raw) To: buildroot >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > Despite the comment saying so, the trailing '/' in the host directory is > not removed. note however that it is properly removed from extracted > RPATH tags. > This is not visible when the host directory is our default $(O)/host > location, but breaks for user-supplied external host ditrectory, when > the user leaves a trailing slash in the path. > Fix that. > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > Peter, for the maintenance branch over 2015.11. > Sorry for the mess, it's a case I did not test... Committed, thanks. I'll create a 2015.11.x branch and cherry pick it there as well. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-01 22:19 [Buildroot] [PATCH 0/2 for 2015.11.x] rpath: fix fallout of check-host-rpath (branch yem/host-gawk) Yann E. MORIN 2015-12-01 22:19 ` [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir Yann E. MORIN @ 2015-12-01 22:19 ` Yann E. MORIN 2015-12-01 22:22 ` Thomas Petazzoni 2015-12-02 22:41 ` Peter Korsgaard 1 sibling, 2 replies; 9+ messages in thread From: Yann E. MORIN @ 2015-12-01 22:19 UTC (permalink / raw) To: buildroot gawk has an optional dependency on mpfr (and thus gmp) and readline, and will probe for them. If they are present, they are used; if they are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" support on gawk; readline is used by the gawk debugger. However, mpfr (bringing gmp) are also host-packages in Buildroot, but in the standard build order (i.e. a plain 'make'), they are built after gawk. Ditto readline (from ncurses). If the user has the development files for gmp and mpfr, then gawk is linked to them. Ditto readline. Now, further on in the build, we build gmp and mpfr (for gcci or guile), so we install them in the host dir. Ditto readline (for gdb, ncurses itself and a few other packages...) But because we forcibly set an RPATH tag on all our host binaries, our host gawk will now dynamically link with our versions, when it was in fact built against the host ones. This did not seem to cause any harm dso far, but is far from ideal. Since we do not really need BIGNUM or the debugger in our host gawk, we just forcibly disable them and configure gawk without readline or mpfr (there's no switch for gmp, but it;s not a direct dependency, it comes just with mpfr). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- Peter, that's also for the 2015.11.x maintenance branch. --- package/gawk/gawk.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/gawk/gawk.mk b/package/gawk/gawk.mk index 1820689..661ec1e 100644 --- a/package/gawk/gawk.mk +++ b/package/gawk/gawk.mk @@ -16,9 +16,11 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y) GAWK_DEPENDENCIES += busybox endif -# We don't have a host-busybox +# We don't have a host-busybox, and we don't want to use mpfr HOST_GAWK_DEPENDENCIES = +HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr + define GAWK_CREATE_SYMLINK ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk endef -- 1.9.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-01 22:19 ` [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant Yann E. MORIN @ 2015-12-01 22:22 ` Thomas Petazzoni 2015-12-02 22:16 ` Yann E. MORIN 2015-12-02 22:41 ` Peter Korsgaard 1 sibling, 1 reply; 9+ messages in thread From: Thomas Petazzoni @ 2015-12-01 22:22 UTC (permalink / raw) To: buildroot Dear Yann E. MORIN, Two typos in the commit title. On Tue, 1 Dec 2015 23:19:07 +0100, Yann E. MORIN wrote: > gawk has an optional dependency on mpfr (and thus gmp) and readline, > and will probe for them. If they are present, they are used; if they > are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" > support on gawk; readline is used by the gawk debugger. > > However, mpfr (bringing gmp) are also host-packages in Buildroot, but in > the standard build order (i.e. a plain 'make'), they are built after > gawk. Ditto readline (from ncurses). > > If the user has the development files for gmp and mpfr, then gawk is > linked to them. Ditto readline. > > Now, further on in the build, we build gmp and mpfr (for gcci or guile), > so we install them in the host dir. Ditto readline (for gdb, ncurses > itself and a few other packages...) > > But because we forcibly set an RPATH tag on all our host binaries, our > host gawk will now dynamically link with our versions, when it was in > fact built against the host ones. > > This did not seem to cause any harm dso far, but is far from ideal. dso -> so > > Since we do not really need BIGNUM or the debugger in our host gawk, we > just forcibly disable them and configure gawk without readline or mpfr > (there's no switch for gmp, but it;s not a direct dependency, it comes it;s -> it's > -# We don't have a host-busybox > +# We don't have a host-busybox, and we don't want to use mpfr Is the comment really important, especially when it talks about mpfr but not about readline ? > HOST_GAWK_DEPENDENCIES = > > +HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr > + Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-01 22:22 ` Thomas Petazzoni @ 2015-12-02 22:16 ` Yann E. MORIN 2015-12-02 22:34 ` Peter Korsgaard 0 siblings, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2015-12-02 22:16 UTC (permalink / raw) To: buildroot Thomas, All, On 2015-12-01 23:22 +0100, Thomas Petazzoni spake thusly: > On Tue, 1 Dec 2015 23:19:07 +0100, Yann E. MORIN wrote: > > gawk has an optional dependency on mpfr (and thus gmp) and readline, > > and will probe for them. If they are present, they are used; if they > > are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" > > support on gawk; readline is used by the gawk debugger. > > > > However, mpfr (bringing gmp) are also host-packages in Buildroot, but in > > the standard build order (i.e. a plain 'make'), they are built after > > gawk. Ditto readline (from ncurses). > > > > If the user has the development files for gmp and mpfr, then gawk is > > linked to them. Ditto readline. > > > > Now, further on in the build, we build gmp and mpfr (for gcci or guile), > > so we install them in the host dir. Ditto readline (for gdb, ncurses > > itself and a few other packages...) > > > > But because we forcibly set an RPATH tag on all our host binaries, our > > host gawk will now dynamically link with our versions, when it was in > > fact built against the host ones. > > > > This did not seem to cause any harm dso far, but is far from ideal. > > dso -> so > > > > > Since we do not really need BIGNUM or the debugger in our host gawk, we > > just forcibly disable them and configure gawk without readline or mpfr > > (there's no switch for gmp, but it;s not a direct dependency, it comes > > it;s -> it's > > > -# We don't have a host-busybox > > +# We don't have a host-busybox, and we don't want to use mpfr > > Is the comment really important, especially when it talks about mpfr > but not about readline ? Or just append 'or readline' to the comment. Thanks! Regards, Yann E. MORIN. > > HOST_GAWK_DEPENDENCIES = > > > > +HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr > > + > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-02 22:16 ` Yann E. MORIN @ 2015-12-02 22:34 ` Peter Korsgaard 2015-12-02 22:36 ` Yann E. MORIN 0 siblings, 1 reply; 9+ messages in thread From: Peter Korsgaard @ 2015-12-02 22:34 UTC (permalink / raw) To: buildroot >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: Hi, >> > -# We don't have a host-busybox >> > +# We don't have a host-busybox, and we don't want to use mpfr >> >> Is the comment really important, especially when it talks about mpfr >> but not about readline ? > Or just append 'or readline' to the comment. But we _DO_ have a host-readline? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-02 22:34 ` Peter Korsgaard @ 2015-12-02 22:36 ` Yann E. MORIN 0 siblings, 0 replies; 9+ messages in thread From: Yann E. MORIN @ 2015-12-02 22:36 UTC (permalink / raw) To: buildroot Peter, All, On 2015-12-02 23:34 +0100, Peter Korsgaard spake thusly: > >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > > Hi, > > >> > -# We don't have a host-busybox > >> > +# We don't have a host-busybox, and we don't want to use mpfr > >> > >> Is the comment really important, especially when it talks about mpfr > >> but not about readline ? > > > Or just append 'or readline' to the comment. > > But we _DO_ have a host-readline? Yes, but we do not need it for the our host-gawk (or glibc would have been broken quite a long time ago). And since it is a host package, we do not usually enable unneeded features. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant 2015-12-01 22:19 ` [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant Yann E. MORIN 2015-12-01 22:22 ` Thomas Petazzoni @ 2015-12-02 22:41 ` Peter Korsgaard 1 sibling, 0 replies; 9+ messages in thread From: Peter Korsgaard @ 2015-12-02 22:41 UTC (permalink / raw) To: buildroot >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes: > gawk has an optional dependency on mpfr (and thus gmp) and readline, > and will probe for them. If they are present, they are used; if they > are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" > support on gawk; readline is used by the gawk debugger. > However, mpfr (bringing gmp) are also host-packages in Buildroot, but in > the standard build order (i.e. a plain 'make'), they are built after > gawk. Ditto readline (from ncurses). > If the user has the development files for gmp and mpfr, then gawk is > linked to them. Ditto readline. > Now, further on in the build, we build gmp and mpfr (for gcci or guile), > so we install them in the host dir. Ditto readline (for gdb, ncurses > itself and a few other packages...) > But because we forcibly set an RPATH tag on all our host binaries, our > host gawk will now dynamically link with our versions, when it was in > fact built against the host ones. > This did not seem to cause any harm dso far, but is far from ideal. > Since we do not really need BIGNUM or the debugger in our host gawk, we > just forcibly disable them and configure gawk without readline or mpfr > (there's no switch for gmp, but it;s not a direct dependency, it comes > just with mpfr). > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Peter Korsgaard <jacmet@uclibc.org> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > Peter, that's also for the 2015.11.x maintenance branch. Committed, thanks - And I'll also cherry pick this. Not directly related to this, but we should probably also explictly handle the readline/mpfr dependencies for the target gawk. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-12-02 22:41 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-12-01 22:19 [Buildroot] [PATCH 0/2 for 2015.11.x] rpath: fix fallout of check-host-rpath (branch yem/host-gawk) Yann E. MORIN 2015-12-01 22:19 ` [Buildroot] [PATCH 1/2 for 2015.11.x] support/check-host-rpath: remove trailing '/' in host dir Yann E. MORIN 2015-12-02 22:40 ` Peter Korsgaard 2015-12-01 22:19 ` [Buildroot] [PATCH 2/2 for 2015.11.x] package/gawk: do not use readeline ormpfr in host variant Yann E. MORIN 2015-12-01 22:22 ` Thomas Petazzoni 2015-12-02 22:16 ` Yann E. MORIN 2015-12-02 22:34 ` Peter Korsgaard 2015-12-02 22:36 ` Yann E. MORIN 2015-12-02 22:41 ` Peter Korsgaard
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.