Patchwork libxml2: add shared library version info to libxml shared libraries

login
register
mail settings
Submitter Matthew McClintock
Date Jan. 2, 2012, 10:05 p.m.
Message ID <1325541916-22423-1-git-send-email-msm@freescale.com>
Download mbox | patch
Permalink /patch/17995/
State Accepted
Commit d1f1fec5c6fe980aaf2c1f1dc2a0e737f4adf2dd
Headers show

Comments

Matthew McClintock - Jan. 2, 2012, 10:05 p.m.
This fixes an issue with RPM where it checks version imformation for
binaries linked against libxml and fails because it's missing info

| error: Failed dependencies:
|              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
|              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
| ERROR: Function 'do_rootfs' failed (see

Note: fmc is just an example recipe/name

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
 .../libxml/libxml2/fix_version_info.patch          |   23 ++++++++++++++++++++
 meta/recipes-core/libxml/libxml2_2.7.8.bb          |    4 ++-
 2 files changed, 26 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-core/libxml/libxml2/fix_version_info.patch
Martin Jansa - Jan. 2, 2012, 11:22 p.m.
On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
> This fixes an issue with RPM where it checks version imformation for
> binaries linked against libxml and fails because it's missing info
> 
> | error: Failed dependencies:
> |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> | ERROR: Function 'do_rootfs' failed (see
> 
> Note: fmc is just an example recipe/name

Weird that I haven't noticed this in oe-core before, but probably
because in oe-core it was always without version. But it looks the same
as this
http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
so
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>

> 
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
>  .../libxml/libxml2/fix_version_info.patch          |   23 ++++++++++++++++++++
>  meta/recipes-core/libxml/libxml2_2.7.8.bb          |    4 ++-
>  2 files changed, 26 insertions(+), 1 deletions(-)
>  create mode 100644 meta/recipes-core/libxml/libxml2/fix_version_info.patch
> 
> diff --git a/meta/recipes-core/libxml/libxml2/fix_version_info.patch b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> new file mode 100644
> index 0000000..77113ef
> --- /dev/null
> +++ b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> @@ -0,0 +1,23 @@
> +Upstream-Status: Already upstream
> +
> +From 00819877651b87842ed878898ba17dba489820f0 Mon Sep 17 00:00:00 2001
> +From: Daniel Veillard <veillard@redhat.com>
> +Date: Thu, 04 Nov 2010 20:53:14 +0000
> +Subject: Reactivate the shared library versionning script
> +
> +---
> +diff --git a/configure.in b/configure.in
> +index 59d0629..a1d2c89 100644
> +--- a/configure.in
> ++++ b/configure.in
> +@@ -84,7 +84,7 @@ else
> +   esac
> + fi
> + AC_SUBST(VERSION_SCRIPT_FLAGS)
> +-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -z "$VERSION_SCRIPT_FLAGS"])
> ++AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
> + 
> + dnl
> + dnl We process the AC_ARG_WITH first so that later we can modify
> +--
> +cgit v0.9.0.2
> diff --git a/meta/recipes-core/libxml/libxml2_2.7.8.bb b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> index 2fa246e..0b6ce02 100644
> --- a/meta/recipes-core/libxml/libxml2_2.7.8.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> @@ -1,6 +1,8 @@
>  require libxml2.inc
>  
> -PR = "r4"
> +PR = "r5"
> +
> +SRC_URI += "file://fix_version_info.patch"
>  
>  SRC_URI[md5sum] = "8127a65e8c3b08856093099b52599c86"
>  SRC_URI[sha256sum] = "cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec"
> -- 
> 1.7.6.1
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Martin Jansa - Jan. 2, 2012, 11:25 p.m.
On Tue, Jan 03, 2012 at 12:22:28AM +0100, Martin Jansa wrote:
> On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
> > This fixes an issue with RPM where it checks version imformation for
> > binaries linked against libxml and fails because it's missing info
> > 
> > | error: Failed dependencies:
> > |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> > |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> > | ERROR: Function 'do_rootfs' failed (see
> > 
> > Note: fmc is just an example recipe/name
> 
> Weird that I haven't noticed this in oe-core before, but probably
> because in oe-core it was always without version. But it looks the same
> as this
> http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
> so
> Acked-by: Martin Jansa <Martin.Jansa@gmail.com>

but also double check if all recipes depending on it needs PR bump too,
I've expected that it's needed only for transition from versioned to not
versioned symbols, but according to:
http://git.openembedded.org/openembedded/commit/?id=4373bc4d0cde98dfa188d9a06266afa06f970bfe
http://git.openembedded.org/openembedded/commit/?id=7e673ab79c7d76ffc2b733fb32d0b41514eb0db0
it was needed also other way around

> 
> > 
> > Signed-off-by: Matthew McClintock <msm@freescale.com>
> > ---
> >  .../libxml/libxml2/fix_version_info.patch          |   23 ++++++++++++++++++++
> >  meta/recipes-core/libxml/libxml2_2.7.8.bb          |    4 ++-
> >  2 files changed, 26 insertions(+), 1 deletions(-)
> >  create mode 100644 meta/recipes-core/libxml/libxml2/fix_version_info.patch
> > 
> > diff --git a/meta/recipes-core/libxml/libxml2/fix_version_info.patch b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> > new file mode 100644
> > index 0000000..77113ef
> > --- /dev/null
> > +++ b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> > @@ -0,0 +1,23 @@
> > +Upstream-Status: Already upstream
> > +
> > +From 00819877651b87842ed878898ba17dba489820f0 Mon Sep 17 00:00:00 2001
> > +From: Daniel Veillard <veillard@redhat.com>
> > +Date: Thu, 04 Nov 2010 20:53:14 +0000
> > +Subject: Reactivate the shared library versionning script
> > +
> > +---
> > +diff --git a/configure.in b/configure.in
> > +index 59d0629..a1d2c89 100644
> > +--- a/configure.in
> > ++++ b/configure.in
> > +@@ -84,7 +84,7 @@ else
> > +   esac
> > + fi
> > + AC_SUBST(VERSION_SCRIPT_FLAGS)
> > +-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -z "$VERSION_SCRIPT_FLAGS"])
> > ++AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
> > + 
> > + dnl
> > + dnl We process the AC_ARG_WITH first so that later we can modify
> > +--
> > +cgit v0.9.0.2
> > diff --git a/meta/recipes-core/libxml/libxml2_2.7.8.bb b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> > index 2fa246e..0b6ce02 100644
> > --- a/meta/recipes-core/libxml/libxml2_2.7.8.bb
> > +++ b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> > @@ -1,6 +1,8 @@
> >  require libxml2.inc
> >  
> > -PR = "r4"
> > +PR = "r5"
> > +
> > +SRC_URI += "file://fix_version_info.patch"
> >  
> >  SRC_URI[md5sum] = "8127a65e8c3b08856093099b52599c86"
> >  SRC_URI[sha256sum] = "cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec"
> > -- 
> > 1.7.6.1
> > 
> > 
> > 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
McClintock Matthew-B29882 - Jan. 3, 2012, 4:21 p.m.
On Mon, Jan 2, 2012 at 5:25 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Tue, Jan 03, 2012 at 12:22:28AM +0100, Martin Jansa wrote:
>> On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
>> > This fixes an issue with RPM where it checks version imformation for
>> > binaries linked against libxml and fails because it's missing info
>> >
>> > | error: Failed dependencies:
>> > |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>> > |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>> > | ERROR: Function 'do_rootfs' failed (see
>> >
>> > Note: fmc is just an example recipe/name
>>
>> Weird that I haven't noticed this in oe-core before, but probably
>> because in oe-core it was always without version. But it looks the same
>> as this
>> http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
>> so

You won't see this when building against oe-core stuff from source.
This issue is seen when we bring in a prebuilt binary and link against
libxml2 in the system.

>> Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
>
> but also double check if all recipes depending on it needs PR bump too,
> I've expected that it's needed only for transition from versioned to not
> versioned symbols, but according to:
> http://git.openembedded.org/openembedded/commit/?id=4373bc4d0cde98dfa188d9a06266afa06f970bfe
> http://git.openembedded.org/openembedded/commit/?id=7e673ab79c7d76ffc2b733fb32d0b41514eb0db0
> it was needed also other way around

Because of the reason above, I don't think we need to bump PR's for
all these recipes. People just should not normally be seeing this
issue. If they are well, then they won't be able to make an RPM based
rfs (maybe others)

Let me know if that seems reasonable...

-M
Martin Jansa - Jan. 3, 2012, 5:31 p.m.
On Tue, Jan 03, 2012 at 04:21:16PM +0000, McClintock Matthew-B29882 wrote:
> On Mon, Jan 2, 2012 at 5:25 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > On Tue, Jan 03, 2012 at 12:22:28AM +0100, Martin Jansa wrote:
> >> On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
> >> > This fixes an issue with RPM where it checks version imformation for
> >> > binaries linked against libxml and fails because it's missing info
> >> >
> >> > | error: Failed dependencies:
> >> > |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> >> > |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> >> > | ERROR: Function 'do_rootfs' failed (see
> >> >
> >> > Note: fmc is just an example recipe/name
> >>
> >> Weird that I haven't noticed this in oe-core before, but probably
> >> because in oe-core it was always without version. But it looks the same
> >> as this
> >> http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
> >> so
> 
> You won't see this when building against oe-core stuff from source.
> This issue is seen when we bring in a prebuilt binary and link against
> libxml2 in the system.

what about all binaries built before this change which are already
available in binary feed created with OE?
 
> >> Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
> >
> > but also double check if all recipes depending on it needs PR bump too,
> > I've expected that it's needed only for transition from versioned to not
> > versioned symbols, but according to:
> > http://git.openembedded.org/openembedded/commit/?id=4373bc4d0cde98dfa188d9a06266afa06f970bfe
> > http://git.openembedded.org/openembedded/commit/?id=7e673ab79c7d76ffc2b733fb32d0b41514eb0db0
> > it was needed also other way around
> 
> Because of the reason above, I don't think we need to bump PR's for
> all these recipes. People just should not normally be seeing this
> issue. If they are well, then they won't be able to make an RPM based
> rfs (maybe others)
> 
> Let me know if that seems reasonable...
> 
> -M
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
McClintock Matthew-B29882 - Jan. 3, 2012, 8:41 p.m.
On Tue, Jan 3, 2012 at 11:31 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> On Tue, Jan 03, 2012 at 04:21:16PM +0000, McClintock Matthew-B29882 wrote:
>> On Mon, Jan 2, 2012 at 5:25 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> > On Tue, Jan 03, 2012 at 12:22:28AM +0100, Martin Jansa wrote:
>> >> On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
>> >> > This fixes an issue with RPM where it checks version imformation for
>> >> > binaries linked against libxml and fails because it's missing info
>> >> >
>> >> > | error: Failed dependencies:
>> >> > |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>> >> > |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>> >> > | ERROR: Function 'do_rootfs' failed (see
>> >> >
>> >> > Note: fmc is just an example recipe/name
>> >>
>> >> Weird that I haven't noticed this in oe-core before, but probably
>> >> because in oe-core it was always without version. But it looks the same
>> >> as this
>> >> http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
>> >> so
>>
>> You won't see this when building against oe-core stuff from source.
>> This issue is seen when we bring in a prebuilt binary and link against
>> libxml2 in the system.
>
> what about all binaries built before this change which are already
> available in binary feed created with OE?

If you are building from source within oe-core everything is going to
link against the version built by oe-core. I see this issue when I
bring in some prebuilt binary and it's actually linked against an
older version of libxml2.

-M
McClintock Matthew-B29882 - Jan. 6, 2012, 4:59 p.m.
On Tue, Jan 3, 2012 at 2:41 PM, Matthew McClintock <msm@freescale.com> wrote:
> On Tue, Jan 3, 2012 at 11:31 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
>> On Tue, Jan 03, 2012 at 04:21:16PM +0000, McClintock Matthew-B29882 wrote:
>>> On Mon, Jan 2, 2012 at 5:25 PM, Martin Jansa <martin.jansa@gmail.com> wrote:
>>> > On Tue, Jan 03, 2012 at 12:22:28AM +0100, Martin Jansa wrote:
>>> >> On Mon, Jan 02, 2012 at 04:05:16PM -0600, Matthew McClintock wrote:
>>> >> > This fixes an issue with RPM where it checks version imformation for
>>> >> > binaries linked against libxml and fails because it's missing info
>>> >> >
>>> >> > | error: Failed dependencies:
>>> >> > |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>>> >> > |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
>>> >> > | ERROR: Function 'do_rootfs' failed (see
>>> >> >
>>> >> > Note: fmc is just an example recipe/name
>>> >>
>>> >> Weird that I haven't noticed this in oe-core before, but probably
>>> >> because in oe-core it was always without version. But it looks the same
>>> >> as this
>>> >> http://git.openembedded.org/openembedded/commit/?id=50ed401cdaaefb1f5ac33de2838af259a52b1c3a
>>> >> so
>>>
>>> You won't see this when building against oe-core stuff from source.
>>> This issue is seen when we bring in a prebuilt binary and link against
>>> libxml2 in the system.
>>
>> what about all binaries built before this change which are already
>> available in binary feed created with OE?
>
> If you are building from source within oe-core everything is going to
> link against the version built by oe-core. I see this issue when I
> bring in some prebuilt binary and it's actually linked against an
> older version of libxml2.

ping? Anymore comments on this patch?

-M
Saul Wold - Jan. 12, 2012, 6:24 a.m.
On 01/02/2012 02:05 PM, Matthew McClintock wrote:
> This fixes an issue with RPM where it checks version imformation for
> binaries linked against libxml and fails because it's missing info
>
> | error: Failed dependencies:
> |              libxml2.so.2(LIBXML2_2.6.0) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> |              libxml2.so.2(LIBXML2_2.4.30) is needed by fmc-0.9.7+2-r2.1.ppce500mc
> | ERROR: Function 'do_rootfs' failed (see
>
> Note: fmc is just an example recipe/name
>
> Signed-off-by: Matthew McClintock<msm@freescale.com>
> ---
>   .../libxml/libxml2/fix_version_info.patch          |   23 ++++++++++++++++++++
>   meta/recipes-core/libxml/libxml2_2.7.8.bb          |    4 ++-
>   2 files changed, 26 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-core/libxml/libxml2/fix_version_info.patch
>
> diff --git a/meta/recipes-core/libxml/libxml2/fix_version_info.patch b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> new file mode 100644
> index 0000000..77113ef
> --- /dev/null
> +++ b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
> @@ -0,0 +1,23 @@
> +Upstream-Status: Already upstream
> +
> +From 00819877651b87842ed878898ba17dba489820f0 Mon Sep 17 00:00:00 2001
> +From: Daniel Veillard<veillard@redhat.com>
> +Date: Thu, 04 Nov 2010 20:53:14 +0000
> +Subject: Reactivate the shared library versionning script
> +
> +---
> +diff --git a/configure.in b/configure.in
> +index 59d0629..a1d2c89 100644
> +--- a/configure.in
> ++++ b/configure.in
> +@@ -84,7 +84,7 @@ else
> +   esac
> + fi
> + AC_SUBST(VERSION_SCRIPT_FLAGS)
> +-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -z "$VERSION_SCRIPT_FLAGS"])
> ++AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
> +
> + dnl
> + dnl We process the AC_ARG_WITH first so that later we can modify
> +--
> +cgit v0.9.0.2
> diff --git a/meta/recipes-core/libxml/libxml2_2.7.8.bb b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> index 2fa246e..0b6ce02 100644
> --- a/meta/recipes-core/libxml/libxml2_2.7.8.bb
> +++ b/meta/recipes-core/libxml/libxml2_2.7.8.bb
> @@ -1,6 +1,8 @@
>   require libxml2.inc
>
> -PR = "r4"
> +PR = "r5"
> +
> +SRC_URI += "file://fix_version_info.patch"
>
>   SRC_URI[md5sum] = "8127a65e8c3b08856093099b52599c86"
>   SRC_URI[sha256sum] = "cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec"

Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-core/libxml/libxml2/fix_version_info.patch b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
new file mode 100644
index 0000000..77113ef
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/fix_version_info.patch
@@ -0,0 +1,23 @@ 
+Upstream-Status: Already upstream
+
+From 00819877651b87842ed878898ba17dba489820f0 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 04 Nov 2010 20:53:14 +0000
+Subject: Reactivate the shared library versionning script
+
+---
+diff --git a/configure.in b/configure.in
+index 59d0629..a1d2c89 100644
+--- a/configure.in
++++ b/configure.in
+@@ -84,7 +84,7 @@ else
+   esac
+ fi
+ AC_SUBST(VERSION_SCRIPT_FLAGS)
+-AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -z "$VERSION_SCRIPT_FLAGS"])
++AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"])
+ 
+ dnl
+ dnl We process the AC_ARG_WITH first so that later we can modify
+--
+cgit v0.9.0.2
diff --git a/meta/recipes-core/libxml/libxml2_2.7.8.bb b/meta/recipes-core/libxml/libxml2_2.7.8.bb
index 2fa246e..0b6ce02 100644
--- a/meta/recipes-core/libxml/libxml2_2.7.8.bb
+++ b/meta/recipes-core/libxml/libxml2_2.7.8.bb
@@ -1,6 +1,8 @@ 
 require libxml2.inc
 
-PR = "r4"
+PR = "r5"
+
+SRC_URI += "file://fix_version_info.patch"
 
 SRC_URI[md5sum] = "8127a65e8c3b08856093099b52599c86"
 SRC_URI[sha256sum] = "cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec"