* [PATCH 0/2] uclibc ptest changes @ 2013-02-08 15:35 Björn Stenberg 2013-02-08 15:35 ` [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc Björn Stenberg 2013-02-08 15:35 ` [PATCH 2/2] libiconv: Remove RPATH from binaries Björn Stenberg 0 siblings, 2 replies; 6+ messages in thread From: Björn Stenberg @ 2013-02-08 15:35 UTC (permalink / raw) To: openembedded-core glib-2.0 would not build with ptest, due to bad dependencies. When looking into that, I found that libiconv did not pass the QA RPATH check so I fixed that too. (https://bugzilla.yoctoproject.org/show_bug.cgi?id=2669) Björn Stenberg (2): glib-2.0: Fix ptest to build with uclibc. libiconv: Remove RPATH from binaries .../glib-2.0/glib-2.0/fix-conflicting-rand.patch | 35 ++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb | 18 ++++++---- meta/recipes-support/libiconv/libiconv_1.14.bb | 6 +++ 3 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch -- 1.7.5.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc. 2013-02-08 15:35 [PATCH 0/2] uclibc ptest changes Björn Stenberg @ 2013-02-08 15:35 ` Björn Stenberg 2013-02-08 17:27 ` Richard Purdie 2013-02-11 15:02 ` [PATCH 1/2 v2] " Björn Stenberg 2013-02-08 15:35 ` [PATCH 2/2] libiconv: Remove RPATH from binaries Björn Stenberg 1 sibling, 2 replies; 6+ messages in thread From: Björn Stenberg @ 2013-02-08 15:35 UTC (permalink / raw) To: openembedded-core Only install eglibc-specific dependencies when building for eglibc. Tweak a test case that won't build with uclibc. Signed-off-by: Björn Stenberg <bjst@enea.com> --- .../glib-2.0/glib-2.0/fix-conflicting-rand.patch | 35 ++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb | 18 ++++++---- 2 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch new file mode 100644 index 0000000..1571112 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch @@ -0,0 +1,35 @@ +Rename 'rand' variable to avoid conflict with stdlib.h. + +Upstream-Status: pending +Signed-off-by: Björn Stenberg <bjst@enea.com> + +diff -u glib-2.34.3/tests/refcount/signals.c~ glib-2.34.3/tests/refcount/signals.c +--- glib-2.34.3/tests/refcount/signals.c 2012-11-26 17:52:48.000000000 +0100 ++++ glib-2.34.3/tests/refcount/signals.c 2013-02-08 14:24:10.052477546 +0100 +@@ -9,7 +9,7 @@ + #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST)) + #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass)) + +-static GRand *rand; ++static GRand *grand; + + typedef struct _GTest GTest; + typedef struct _GTestClass GTestClass; +@@ -84,7 +84,7 @@ + NULL + }; + +- rand = g_rand_new(); ++ grand = g_rand_new(); + + test_type = g_type_register_static (G_TYPE_OBJECT, "GTest", + &test_info, 0); +@@ -218,7 +218,7 @@ + static void + my_test_do_prop (GTest * test) + { +- test->value = g_rand_int (rand); ++ test->value = g_rand_int (grand); + g_object_notify (G_OBJECT (test), "test-prop"); + } + diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb index fe50220..d163030 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb @@ -13,6 +13,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://configure-libtool.patch \ file://glib-2.0_fix_for_x32.patch \ file://obsolete_automake_macros.patch \ + file://fix-conflicting-rand.patch \ file://Makefile-ptest.patch \ file://run-ptest \ " @@ -23,6 +24,16 @@ SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" BBCLASSEXTEND = "native nativesdk" RDEPENDS_${PN}-ptest += "\ + tzdata \ + tzdata-americas \ + tzdata-asia \ + tzdata-europe \ + tzdata-posix \ + python-pygobject \ + python-dbus \ + " + +RDEPENDS_${PN}-ptest_libc-eglibc += "\ eglibc-gconv-utf-16 \ eglibc-charmap-utf-8 \ eglibc-gconv-cp1255 \ @@ -31,13 +42,6 @@ RDEPENDS_${PN}-ptest += "\ eglibc-gconv-utf-7 \ eglibc-charmap-invariant \ eglibc-localedata-translit-cjk-variants \ - tzdata \ - tzdata-americas \ - tzdata-asia \ - tzdata-europe \ - tzdata-posix \ - python-pygobject \ - python-dbus \ " do_configure_prepend() { -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc. 2013-02-08 15:35 ` [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc Björn Stenberg @ 2013-02-08 17:27 ` Richard Purdie 2013-02-11 15:02 ` [PATCH 1/2 v2] " Björn Stenberg 1 sibling, 0 replies; 6+ messages in thread From: Richard Purdie @ 2013-02-08 17:27 UTC (permalink / raw) To: Björn Stenberg; +Cc: openembedded-core On Fri, 2013-02-08 at 16:35 +0100, Björn Stenberg wrote: > Only install eglibc-specific dependencies when building for eglibc. > Tweak a test case that won't build with uclibc. > > Signed-off-by: Björn Stenberg <bjst@enea.com> > --- > .../glib-2.0/glib-2.0/fix-conflicting-rand.patch | 35 ++++++++++++++++++++ > meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb | 18 ++++++---- > 2 files changed, 46 insertions(+), 7 deletions(-) > create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch > new file mode 100644 > index 0000000..1571112 > --- /dev/null > +++ b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch > @@ -0,0 +1,35 @@ > +Rename 'rand' variable to avoid conflict with stdlib.h. > + > +Upstream-Status: pending > +Signed-off-by: Björn Stenberg <bjst@enea.com> > + > +diff -u glib-2.34.3/tests/refcount/signals.c~ glib-2.34.3/tests/refcount/signals.c > +--- glib-2.34.3/tests/refcount/signals.c 2012-11-26 17:52:48.000000000 +0100 > ++++ glib-2.34.3/tests/refcount/signals.c 2013-02-08 14:24:10.052477546 +0100 > +@@ -9,7 +9,7 @@ > + #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST)) > + #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass)) > + > +-static GRand *rand; > ++static GRand *grand; > + > + typedef struct _GTest GTest; > + typedef struct _GTestClass GTestClass; > +@@ -84,7 +84,7 @@ > + NULL > + }; > + > +- rand = g_rand_new(); > ++ grand = g_rand_new(); > + > + test_type = g_type_register_static (G_TYPE_OBJECT, "GTest", > + &test_info, 0); > +@@ -218,7 +218,7 @@ > + static void > + my_test_do_prop (GTest * test) > + { > +- test->value = g_rand_int (rand); > ++ test->value = g_rand_int (grand); > + g_object_notify (G_OBJECT (test), "test-prop"); > + } > + > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb > index fe50220..d163030 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb > +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb > @@ -13,6 +13,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ > file://configure-libtool.patch \ > file://glib-2.0_fix_for_x32.patch \ > file://obsolete_automake_macros.patch \ > + file://fix-conflicting-rand.patch \ > file://Makefile-ptest.patch \ > file://run-ptest \ > " > @@ -23,6 +24,16 @@ SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" > BBCLASSEXTEND = "native nativesdk" > > RDEPENDS_${PN}-ptest += "\ > + tzdata \ > + tzdata-americas \ > + tzdata-asia \ > + tzdata-europe \ > + tzdata-posix \ > + python-pygobject \ > + python-dbus \ > + " > + > +RDEPENDS_${PN}-ptest_libc-eglibc += "\ I have a suspicion this will overwrite the base RDEPENDS_${PN}-ptest value due to the way overrides work when in fact you want to append to it. You probably need: RDEPENDS_${PN}-ptest_append_libc-eglibc = "\ > eglibc-gconv-utf-16 \ > eglibc-charmap-utf-8 \ > eglibc-gconv-cp1255 \ > @@ -31,13 +42,6 @@ RDEPENDS_${PN}-ptest += "\ > eglibc-gconv-utf-7 \ > eglibc-charmap-invariant \ > eglibc-localedata-translit-cjk-variants \ > - tzdata \ > - tzdata-americas \ > - tzdata-asia \ > - tzdata-europe \ > - tzdata-posix \ > - python-pygobject \ > - python-dbus \ > " > > do_configure_prepend() { ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2 v2] glib-2.0: Fix ptest to build with uclibc. 2013-02-08 15:35 ` [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc Björn Stenberg 2013-02-08 17:27 ` Richard Purdie @ 2013-02-11 15:02 ` Björn Stenberg 1 sibling, 0 replies; 6+ messages in thread From: Björn Stenberg @ 2013-02-11 15:02 UTC (permalink / raw) To: openembedded-core Only install eglibc-specific dependencies when building for eglibc. Tweak a test case that won't build with uclibc. Signed-off-by: Björn Stenberg <bjst@enea.com> --- .../glib-2.0/glib-2.0/fix-conflicting-rand.patch | 35 ++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb | 18 ++++++---- 2 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch new file mode 100644 index 0000000..1571112 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/fix-conflicting-rand.patch @@ -0,0 +1,35 @@ +Rename 'rand' variable to avoid conflict. + +Upstream-Status: pending +Signed-off-by: Björn Stenberg <bjst@enea.com> + +diff -u glib-2.34.3/tests/refcount/signals.c~ glib-2.34.3/tests/refcount/signals.c +--- glib-2.34.3/tests/refcount/signals.c 2012-11-26 17:52:48.000000000 +0100 ++++ glib-2.34.3/tests/refcount/signals.c 2013-02-08 14:24:10.052477546 +0100 +@@ -9,7 +9,7 @@ + #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST)) + #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass)) + +-static GRand *rand; ++static GRand *grand; + + typedef struct _GTest GTest; + typedef struct _GTestClass GTestClass; +@@ -84,7 +84,7 @@ + NULL + }; + +- rand = g_rand_new(); ++ grand = g_rand_new(); + + test_type = g_type_register_static (G_TYPE_OBJECT, "GTest", + &test_info, 0); +@@ -218,7 +218,7 @@ + static void + my_test_do_prop (GTest * test) + { +- test->value = g_rand_int (rand); ++ test->value = g_rand_int (grand); + g_object_notify (G_OBJECT (test), "test-prop"); + } + diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb index fe50220..d58d489 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.34.3.bb @@ -13,6 +13,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://configure-libtool.patch \ file://glib-2.0_fix_for_x32.patch \ file://obsolete_automake_macros.patch \ + file://fix-conflicting-rand.patch \ file://Makefile-ptest.patch \ file://run-ptest \ " @@ -23,6 +24,16 @@ SRC_URI_append_class-native = " file://glib-gettextize-dir.patch" BBCLASSEXTEND = "native nativesdk" RDEPENDS_${PN}-ptest += "\ + tzdata \ + tzdata-americas \ + tzdata-asia \ + tzdata-europe \ + tzdata-posix \ + python-pygobject \ + python-dbus \ + " + +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ eglibc-gconv-utf-16 \ eglibc-charmap-utf-8 \ eglibc-gconv-cp1255 \ @@ -31,13 +42,6 @@ RDEPENDS_${PN}-ptest += "\ eglibc-gconv-utf-7 \ eglibc-charmap-invariant \ eglibc-localedata-translit-cjk-variants \ - tzdata \ - tzdata-americas \ - tzdata-asia \ - tzdata-europe \ - tzdata-posix \ - python-pygobject \ - python-dbus \ " do_configure_prepend() { -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] libiconv: Remove RPATH from binaries 2013-02-08 15:35 [PATCH 0/2] uclibc ptest changes Björn Stenberg 2013-02-08 15:35 ` [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc Björn Stenberg @ 2013-02-08 15:35 ` Björn Stenberg 2013-02-11 15:41 ` Richard Purdie 1 sibling, 1 reply; 6+ messages in thread From: Björn Stenberg @ 2013-02-08 15:35 UTC (permalink / raw) To: openembedded-core Modify libtool to not add RPATH. This solves https://bugzilla.yoctoproject.org/show_bug.cgi?id=2669 Signed-off-by: Björn Stenberg <bjst@enea.com> --- meta/recipes-support/libiconv/libiconv_1.14.bb | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/meta/recipes-support/libiconv/libiconv_1.14.bb b/meta/recipes-support/libiconv/libiconv_1.14.bb index 6666866..b1d2612 100644 --- a/meta/recipes-support/libiconv/libiconv_1.14.bb +++ b/meta/recipes-support/libiconv/libiconv_1.14.bb @@ -34,6 +34,12 @@ do_configure_prepend () { rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 libcharset/m4/libtool.m4 libcharset/m4/ltoptions.m4 libcharset/m4/ltsugar.m4 libcharset/m4/ltversion.m4 libcharset/m4/lt~obsolete.m4 } +do_configure_append () { + # forcibly remove RPATH from libtool + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool +} + do_install_append () { rm -rf ${D}${libdir}/preloadable_libiconv.so rm -rf ${D}${libdir}/charset.alias -- 1.7.5.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] libiconv: Remove RPATH from binaries 2013-02-08 15:35 ` [PATCH 2/2] libiconv: Remove RPATH from binaries Björn Stenberg @ 2013-02-11 15:41 ` Richard Purdie 0 siblings, 0 replies; 6+ messages in thread From: Richard Purdie @ 2013-02-11 15:41 UTC (permalink / raw) To: Björn Stenberg; +Cc: openembedded-core On Fri, 2013-02-08 at 16:35 +0100, Björn Stenberg wrote: > Modify libtool to not add RPATH. > This solves https://bugzilla.yoctoproject.org/show_bug.cgi?id=2669 > > Signed-off-by: Björn Stenberg <bjst@enea.com> > --- > meta/recipes-support/libiconv/libiconv_1.14.bb | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/meta/recipes-support/libiconv/libiconv_1.14.bb b/meta/recipes-support/libiconv/libiconv_1.14.bb > index 6666866..b1d2612 100644 > --- a/meta/recipes-support/libiconv/libiconv_1.14.bb > +++ b/meta/recipes-support/libiconv/libiconv_1.14.bb > @@ -34,6 +34,12 @@ do_configure_prepend () { > rm -f m4/libtool.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 libcharset/m4/libtool.m4 libcharset/m4/ltoptions.m4 libcharset/m4/ltsugar.m4 libcharset/m4/ltversion.m4 libcharset/m4/lt~obsolete.m4 > } > > +do_configure_append () { > + # forcibly remove RPATH from libtool > + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' *libtool > + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=_NO_RPATH_|g' *libtool > +} > + > do_install_append () { > rm -rf ${D}${libdir}/preloadable_libiconv.so > rm -rf ${D}${libdir}/charset.alias That RPATH warning is annoying and I know I've tried unsuccessfully to remove it before. I've merged this although the fact the above was needed suggests something is wrong in libtool itself since it shouldn't have decided to hardcode this. Cheers, Richard ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-02-11 15:57 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-02-08 15:35 [PATCH 0/2] uclibc ptest changes Björn Stenberg 2013-02-08 15:35 ` [PATCH 1/2] glib-2.0: Fix ptest to build with uclibc Björn Stenberg 2013-02-08 17:27 ` Richard Purdie 2013-02-11 15:02 ` [PATCH 1/2 v2] " Björn Stenberg 2013-02-08 15:35 ` [PATCH 2/2] libiconv: Remove RPATH from binaries Björn Stenberg 2013-02-11 15:41 ` Richard Purdie
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox