Patchwork glib-2.0: Fix issues with libelf dependency creeping in

login
register
mail settings
Submitter Richard Purdie
Date May 7, 2012, 9:52 a.m.
Message ID <1336384326.23777.70.camel@ted>
Download mbox | patch
Permalink /patch/27209/
State Accepted
Commit 2929e7d590862d9649458c90804e79a1dce40423
Headers show

Comments

Richard Purdie - May 7, 2012, 9:52 a.m.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Khem Raj - May 7, 2012, 4:30 p.m.
On Mon, May 7, 2012 at 2:52 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
> new file mode 100644
> index 0000000..e9b3b26
> --- a/dev/null
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
> @@ -0,0 +1,37 @@
> +Ideally there would be configureation option for this but there is not. We

typo

> +can't allow this code since it could detect the host system's libelf with
> +disasterous effects when cross compiling.
> +
> +RP 2012/5/7
> +
> +Upstream-Status: Pending (would need to be made a configure option to disabe)

typo

> +
> +Index: glib-2.32.2/configure.ac
> +===================================================================
> +--- glib-2.32.2.orig/configure.ac      2012-05-07 08:30:04.481149925 +0000
> ++++ glib-2.32.2/configure.ac   2012-05-07 08:31:02.185148588 +0000
> +@@ -1816,23 +1816,7 @@
> + dnl *** check for libelf ***
> + dnl ************************
> +
> +-PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [have_libelf=maybe])
> +-
> +-if test $have_libelf = maybe; then
> +-  AC_CHECK_LIB([elf], [elf_begin], , [have_libelf=no])
> +-  AC_CHECK_LIB([elf], [elf_getshdrstrndx], , [have_libelf=no])
> +-  AC_CHECK_LIB([elf], [elf_getshdrnum], , [have_libelf=no])
> +-  AC_CHECK_HEADER([libelf.h], , [have_libelf=no])
> +-
> +-  if test $have_libelf != no; then
> +-    LIBELF_LIBS=-lelf
> +-    have_libelf = yes
> +-  fi
> +-fi
> +-
> +-if test $have_libelf = yes; then
> +-  AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
> +-fi
> ++have_libelf=no
> +
> + dnl ****************************************
> + dnl *** platform dependent source checks ***
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
> index f303cb4..b9b3356 100644
> --- a/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
> +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
> @@ -1,6 +1,7 @@
>  require glib.inc
>
>  PE = "1"
> +PR = "r1"
>
>  DEPENDS += "libffi python-argparse-native zlib"
>  DEPENDS_virtclass-native += "libffi-native python-argparse-native"
> @@ -13,6 +14,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
>            file://60_wait-longer-for-threads-to-die.patch \
>            file://glib-2.0_fix_for_x32.patch \
>            file://nodbus.patch \
> +           file://nolibelf.patch \
>           "
>  SRC_URI[md5sum] = "5bfdb6197afb90e4dbc7b1bb98f0eae0"
>  SRC_URI[sha256sum] = "b1764abf00bac96e0e93e29fb9715ce75f3583579acac40648e18771d43d6136"
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Colin Walters - May 7, 2012, 6:09 p.m.
On Mon, 2012-05-07 at 10:52 +0100, Richard Purdie wrote:
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
> new file mode 100644
> index 0000000..e9b3b26
> --- a/dev/null
> +++ b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
> @@ -0,0 +1,37 @@
> +Ideally there would be configureation option for this but there is not. We
> +can't allow this code since it could detect the host system's libelf with
> +disasterous effects when cross compiling.

Random request - could you guys also CC patches to GNOME stuff to me?  I
do review patches to GLib fairly actively.

As far as removing the libelf support; note this means GResource won't
work which in turn means gtk3 won't work (at the moment).

Anyways, a patch to add a configuration option is really, really trivial
if one has a checkout of git, if someone files a bug with a rationale I
can do a patch.

Patch

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
new file mode 100644
index 0000000..e9b3b26
--- a/dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch
@@ -0,0 +1,37 @@ 
+Ideally there would be configureation option for this but there is not. We
+can't allow this code since it could detect the host system's libelf with
+disasterous effects when cross compiling.
+
+RP 2012/5/7
+
+Upstream-Status: Pending (would need to be made a configure option to disabe)
+
+Index: glib-2.32.2/configure.ac
+===================================================================
+--- glib-2.32.2.orig/configure.ac	2012-05-07 08:30:04.481149925 +0000
++++ glib-2.32.2/configure.ac	2012-05-07 08:31:02.185148588 +0000
+@@ -1816,23 +1816,7 @@
+ dnl *** check for libelf ***
+ dnl ************************
+ 
+-PKG_CHECK_MODULES([LIBELF], [libelf], [have_libelf=yes], [have_libelf=maybe])
+-
+-if test $have_libelf = maybe; then
+-  AC_CHECK_LIB([elf], [elf_begin], , [have_libelf=no])
+-  AC_CHECK_LIB([elf], [elf_getshdrstrndx], , [have_libelf=no])
+-  AC_CHECK_LIB([elf], [elf_getshdrnum], , [have_libelf=no])
+-  AC_CHECK_HEADER([libelf.h], , [have_libelf=no])
+-
+-  if test $have_libelf != no; then
+-    LIBELF_LIBS=-lelf
+-    have_libelf = yes
+-  fi
+-fi
+-
+-if test $have_libelf = yes; then
+-  AC_DEFINE(HAVE_LIBELF, 1, [Define if libelf is available])
+-fi
++have_libelf=no
+ 
+ dnl ****************************************
+ dnl *** platform dependent source checks ***
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
index f303cb4..b9b3356 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.32.2.bb
@@ -1,6 +1,7 @@ 
 require glib.inc
 
 PE = "1"
+PR = "r1"
 
 DEPENDS += "libffi python-argparse-native zlib"
 DEPENDS_virtclass-native += "libffi-native python-argparse-native"
@@ -13,6 +14,7 @@  SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            file://60_wait-longer-for-threads-to-die.patch \
            file://glib-2.0_fix_for_x32.patch \
            file://nodbus.patch \
+           file://nolibelf.patch \
           "
 SRC_URI[md5sum] = "5bfdb6197afb90e4dbc7b1bb98f0eae0"
 SRC_URI[sha256sum] = "b1764abf00bac96e0e93e29fb9715ce75f3583579acac40648e18771d43d6136"