package/strace: bump to 4.21
PATCH 1/3 package/strace: bump to 4.21
Switch to the new upstream url [1].
Use new --disable-mpers option instead of
st_cv_m32_mpers=no and st_cv_mx32_mpers=no
Restore previous mpers check behaviour (strace < 4.21) by specifying --enable-mpers=check. Otherwire strace enforces mpers support by default which require a specific compiler. See [2].
[1] https://github.com/strace/strace/commit/51d40516df28d03e693fd782a4167d7bcf4c6ad3
[2] https://lists.strace.io/pipermail/strace-devel/2018-February/007924.html
---
Even if there are 4.21 archive file hashes provided by sourceforge, don't use them since we just switched to github.
--- package/strace/strace.hash | 7 ++----- package/strace/strace.mk | 12 ++++++++---- 2 files changed, 10 insertions(+), 9 deletions(-)
package/strace/strace.hash +2 -5
@@ -1,7 +1,4 @@ -# From https://sourceforge.net/projects/strace/files/strace/4.20/ -md5 f2271ab0fac49ebee9cbd7f3469227cb strace-4.20.tar.xz -sha1 9cebc754af3434e4027a07745770892f685c0316 strace-4.20.tar.xz # Locally calculated after checking signature -# https://sourceforge.net/projects/strace/files/strace/4.20/strace-4.20.tar.xz.asc -sha256 5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523 strace-4.20.tar.xz +# https://github.com/strace/strace/releases/download/v4.21/strace-4.21.tar.xz.asc +sha256 5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37 strace-4.21.tar.xz sha256 ea7ff222f36c9df0aa2924a8f7c7d2aec3ea11e752feba4b15ec79b695b6236a COPYING
package/strace/strace.mk +8 -4
@@ -4,18 +4,22 @@ # ################################################################################ -STRACE_VERSION = 4.20 +STRACE_VERSION = 4.21 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz -STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION) +STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSION) STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING # strace bundle some kernel headers to build libmpers, this mixes userspace # headers and kernel headers which break the build with musl. # The stddef.h from gcc is used instead of the one from musl. +# Restore previous mpers check behaviour (strace < 4.21) by specifying +# --enable-mpers=check. Otherwire strace enforces mpers support by default +# which require a specific compiler. ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -STRACE_CONF_OPTS += st_cv_m32_mpers=no \ - st_cv_mx32_mpers=no +STRACE_CONF_OPTS += --disable-mpers +else +STRACE_CONF_OPTS += --enable-mpers=check endif define STRACE_REMOVE_STRACE_GRAPH
Signature · 1 line
2.14.3
PATCH 2/3 package/strace: add missing libunwind optional dependency
This improve the reproducible build.
--- package/strace/strace.mk | 7 +++++++ 1 file changed, 7 insertions(+)
package/strace/strace.mk +7 -0
@@ -10,6 +10,13 @@ STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +STRACE_DEPENDENCIES += libunwind +STRACE_CONF_OPTS += --with-libunwind +else +STRACE_CONF_OPTS += --without-libunwind +endif + # strace bundle some kernel headers to build libmpers, this mixes userspace # headers and kernel headers which break the build with musl. # The stddef.h from gcc is used instead of the one from musl.
Signature · 1 line
2.14.3
PATCH 2/3 package/strace: add missing libunwind optional dependency
Hi,
2018-02-25 19:34 GMT+01:00 Romain Naour <[email protected]>:
Quoted 12 lines
This improve the reproducible build.
Signed-off-by Romain Naour <[email protected]>--- package/strace/strace.mk | 7 +++++++ 1 file changed, 7 insertions(+)package/strace/strace.mk +0
-0
package/strace/strace.mk STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI · line 19
Quoted 10 lines
package/strace/strace.mk +7
-0@@ -10,6 +10,13 @@ STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +STRACE_DEPENDENCIES += libunwind +STRACE_CONF_OPTS += --with-libunwind +else +STRACE_CONF_OPTS += --without-libunwind +endif +
As far as I know, the main (only?) reason for a libunwind dependency is to support 'strace -k' to get callstack info. Perhaps it would be useful to update the Config.in file to hint about this, i.e. that users should enable libunwind manually if they want 'strace -k' support.
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
/Thomas
PATCH 2/3 package/strace: add missing libunwind optional dependency
Hi Thomas,
Le 25/02/2018 ? 21:28, Thomas De Schampheleire a ?crit?:
Quoted 18 lines
Hi,
2018-02-25 19:34 GMT+01:00 Romain Naour <[email protected]>:
Quoted 15 lines
This improve the reproducible build.
Signed-off-by Romain Naour <[email protected]>--- package/strace/strace.mk | 7 +++++++ 1 file changed, 7 insertions(+)package/strace/strace.mk +0
-0@@ -10,6 +10,13 @@ STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING
Quoted 13 lines
package/strace/strace.mk STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI · line 19
Quoted 7 lines
package/strace/strace.mk +7
-0+ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +STRACE_DEPENDENCIES += libunwind +STRACE_CONF_OPTS += --with-libunwind +else +STRACE_CONF_OPTS += --without-libunwind +endif +As far as I know, the main (only?) reason for a libunwind dependency is to support 'strace -k' to get callstack info. Perhaps it would be useful to update the Config.in file to hint about this, i.e. that users should enable libunwind manually if they want 'strace -k' support.
Ok, why not.
Quoted 3 lines
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
Most packages optional dependencies are handled like this, otherwise we have to maintain one config option for each optional dependencies.
Best regards,
Romain
Quoted 3 lines
/Thomas
PATCH 2/3 package/strace: add missing libunwind optional dependency
In reply to Thomas De SchampheleireHello Thomas,
Quoted 2 lines · Thomas De Schampheleire
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
Are you saying that you have changes in your local tree on packages available in upstream Buildroot, and you did not submit such changes ? :-)
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com
PATCH 2/3 package/strace: add missing libunwind optional dependency
2018-02-25 22:34 GMT+01:00 Thomas Petazzoni <[email protected]>:
Quoted 11 lines
Hello Thomas,
Quoted 2 lines · Thomas De Schampheleire
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
Are you saying that you have changes in your local tree on packages available in upstream Buildroot, and you did not submit such changes ? :-)
Haha, yes indeed :-) But you may be glad to hear that I already made a list of such changes that should be upstreamable, and plan to tackle the upstreaming after merging 2018.02!
PATCH 2/3 package/strace: add missing libunwind optional dependency
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas De Schampheleire <[email protected]> writes:
Hi,
Quoted 11 lines
Quoted 7 lines
Quoted 2 lines
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
Are you saying that you have changes in your local tree on packages available in upstream Buildroot, and you did not submit such changes ? :-)
Haha, yes indeed :-) But you may be glad to hear that I already made a list of such changes that should be upstreamable, and plan to tackle the upstreaming after merging 2018.02!
Did you already get 2018.02 merged? ;)
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/3 package/strace: add missing libunwind optional dependency
Quoted 13 lines · On Sat, Mar 31, 2018, 22:47 Peter Korsgaard <[email protected]> wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas De Schampheleire <[email protected]>
writes:
Hi,
Quoted 7 lines
Quoted 7 lines
Quoted 2 lines
In our local tree, I had added a config option to strace for that, but perhaps that is overkill?
Are you saying that you have changes in your local tree on packages available in upstream Buildroot, and you did not submit such changes ? :-)
Quoted 6 lines
Quoted 3 lines
Haha, yes indeed :-) But you may be glad to hear that I already made a list of such changes that should be upstreamable, and plan to tackle the upstreaming after merging 2018.02!
Did you already get 2018.02 merged? ;)
The code is ready, but the drop was postponed due to other issues...
I'll get to it, don't worry :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180401/ee2d53a1/attachment.html>
PATCH 2/3 package/strace: add missing libunwind optional dependency
In reply to Romain NaourHello,
Quoted 6 lines · Romain Naour
This improve the reproducible build.
Signed-off-by Romain Naour <[email protected]>--- package/strace/strace.mk | 7 +++++++ 1 file changed, 7 insertions(+)
I've updated the Config.in help text to indicate that libunwind should be enabled to get "strace -k" support, as suggested by Thomas DS. And then I've applied. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 3/3 package/strace: enable demangling of C++ symbol names in stack trace
In reply to Romain NaourThis is a new feature of strace 4.21 but the configure check need to be fixed for Buildroot.
--- ...1-configure-allow-autoreconf-from-tarball.patch | 36 ++++++++++++++++++++++ ...0002-configure-fix-libiberty-header-check.patch | 33 ++++++++++++++++++++ package/strace/strace.mk | 12 ++++++++ 3 files changed, 81 insertions(+) create mode 100644 package/strace/0001-configure-allow-autoreconf-from-tarball.patch create mode 100644 package/strace/0002-configure-fix-libiberty-header-check.patch
package/strace/0001-configure-allow-autoreconf-from-tarball.patch new file +36 -0
@@ -0,0 +1,36 @@ +From b2247bbd30989c707f3cb5bbd9635c52e5c962e6 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Sat, 17 Feb 2018 13:23:25 +0100 +Subject: [PATCH] configure: allow autoreconf from tarball + +git-version-gen copyright-year-gen file-date-gen tools +are missing from the strace tarball breaking autoreconf. + +Signed-off-by: Romain Naour <[email protected]> +--- + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 86b8a8eb..f1a47b97 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -32,12 +32,12 @@ + + AC_PREREQ(2.57) + AC_INIT([strace], +- m4_esyscmd([./git-version-gen .tarball-version]), ++ 4.21, + [strace-devel at lists.sourceforge.net], + [strace], + [https://strace.io]) +-m4_define([copyright_year], m4_esyscmd([./copyright-year-gen .year])) +-m4_define([manpage_date], m4_esyscmd([./file-date-gen strace.1.in])) ++m4_define([copyright_year], 2018) ++m4_define([manpage_date], 2018-02-11) + AC_COPYRIGHT([Copyright (c) 1999-]copyright_year[ The strace developers.]) + AC_CONFIG_SRCDIR([strace.c]) + AC_CONFIG_AUX_DIR([.]) +-- +2.14.3 +
package/strace/0002-configure-fix-libiberty-header-check.patch new file +33 -0
@@ -0,0 +1,33 @@ +From 9487aac43518272074a1e1131c517b35b2529580 Mon Sep 17 00:00:00 2001 +From: Romain Naour <[email protected]> +Date: Sat, 17 Feb 2018 12:38:37 +0100 +Subject: [PATCH] configure: fix libiberty header check + +The demangle.h header check for libiberty is looking at two potential +file location. If one is missing the check fail. + +Since binutils package install demangle.h in +"STAGING_DIR/usr/include/libiberty/demangle.h", remove the wrong +path. + +Signed-off-by: Romain Naour <[email protected]> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f1a47b97..052ce971 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -922,7 +922,7 @@ use_libiberty=no + AS_IF([test "x$use_libunwind" = xyes && test "x$with_libiberty" != xno], + [saved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $libiberty_CPPFLAGS" +- AC_CHECK_HEADERS([demangle.h libiberty/demangle.h], ++ AC_CHECK_HEADERS([libiberty/demangle.h], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $libiberty_LDFLAGS" + AC_CHECK_LIB([iberty],[cplus_demangle], +-- +2.14.3 +
package/strace/strace.mk +12 -0
@@ -10,6 +10,10 @@ STRACE_SITE = https://github.com/strace/strace/releases/download/v$(STRACE_VERSI STRACE_LICENSE = BSD-3-Clause STRACE_LICENSE_FILES = COPYING +# 0001-configure-allow-autoreconf-from-tarball.patch +# 0002-configure-fix-libiberty-header-check.patch +STRACE_AUTORECONF = YES + ifeq ($(BR2_PACKAGE_LIBUNWIND),y) STRACE_DEPENDENCIES += libunwind STRACE_CONF_OPTS += --with-libunwind
@@ -17,6 +21,14 @@ else STRACE_CONF_OPTS += --without-libunwind endif +# Demangling symbols in stack trace needs libunwind and libiberty. +ifeq ($(BR2_PACKAGE_BINUTILS)$(BR2_PACKAGE_LIBUNWIND),yy) +STRACE_DEPENDENCIES += binutils +STRACE_CONF_OPTS += --with-libiberty=$(STAGING_DIR)/usr +else +STRACE_CONF_OPTS += --without-libiberty +endif + # strace bundle some kernel headers to build libmpers, this mixes userspace # headers and kernel headers which break the build with musl. # The stddef.h from gcc is used instead of the one from musl.
Signature · 1 line
2.14.3
PATCH 3/3 package/strace: enable demangling of C++ symbol names in stack trace
Hello,
Quoted 2 lines · Romain Naour
...1-configure-allow-autoreconf-from-tarball.patch | 36 ++++++++++++++++++++++ ...0002-configure-fix-libiberty-header-check.patch | 33 ++++++++++++++++++++
In fact those patches are not necessary if you pass --with-libiberty=check. In this case, it doesn't fail at the first demangle.h check, and moves on to the next header file location.
So I've fixed that up, dropped the patches and AUTORECONF = YES, and applied to next. Thanks!
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com