* [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
* [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 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
* 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