Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-25 Thread Otavio Salvador
On Thu, Sep 24, 2015 at 6:40 PM, Richard Purdie
 wrote:
> On Thu, 2015-09-24 at 08:27 -0300, Otavio Salvador wrote:
>> Thanks for hunting this bug, this was very annoying and hard to
>> figure. It does seem to address the issue in our builder.
>
> Sadly, whilst I merged it and it does fix that problem, I suspect this
> causes:
>
> https://autobuilder.yoctoproject.org/main/builders/nightly-x32/builds/497/steps/BuildImages/logs/stdio

It does seem to be related. But why it did not include the .so files
in the sysroot again when resolving the dependencies?

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-24 Thread Otavio Salvador
Hello Richard,

Thanks for hunting this bug, this was very annoying and hard to
figure. It does seem to address the issue in our builder.

On Wed, Sep 23, 2015 at 7:32 PM, Richard Purdie
 wrote:
> If gdkpixbuf-native rebuilds and there are stale (broken) modules lying 
> around,
> it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is
> removed from the sysroot but the svg loader isn't, we get a symbol linking 
> issue.
>
> The reproducer is along the lines of build gdk-pixbuf-native along
> with harfbuzz-native and librsvg-native, then make a small change to the
> gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native
> and then build gdk-pixbuf.
>
> To fix this, when we install gdk-pixbuf, we wipe out any previous loaders.
> The idea is that gdk would always come first and anything else installing
> itself will come later and rerun the postinst if needed. We can therefore
> just remove any other loaders.
>
> Signed-off-by: Richard Purdie 

Acked-by: Otavio Salvador 

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-24 Thread Richard Purdie
On Wed, 2015-09-23 at 16:54 -0600, Gary Thomas wrote:
> On 2015-09-23 16:32, Richard Purdie wrote:
> > If gdkpixbuf-native rebuilds and there are stale (broken) modules lying 
> > around,
> > it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz 
> > is
> > removed from the sysroot but the svg loader isn't, we get a symbol linking 
> > issue.
> >
> > The reproducer is along the lines of build gdk-pixbuf-native along
> > with harfbuzz-native and librsvg-native, then make a small change to the
> > gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native
> > and then build gdk-pixbuf.
> >
> > To fix this, when we install gdk-pixbuf, we wipe out any previous loaders.
> > The idea is that gdk would always come first and anything else installing
> > itself will come later and rerun the postinst if needed. We can therefore
> > just remove any other loaders.
> 
> Does the analogue of this problem exist for the non-native packages?  I've
> not seen it, but it seems that it might based on your analysis.

No, since we only have the postinst to index the loaders in the native
case. In the target case we do that at rootfs time (or on target). So
this is a native only issue.

Cheers,

Richard

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-24 Thread Richard Purdie
On Thu, 2015-09-24 at 08:27 -0300, Otavio Salvador wrote:
> Hello Richard,
> 
> Thanks for hunting this bug, this was very annoying and hard to
> figure. It does seem to address the issue in our builder.

Sadly, whilst I merged it and it does fix that problem, I suspect this
causes:

https://autobuilder.yoctoproject.org/main/builders/nightly-x32/builds/497/steps/BuildImages/logs/stdio

:(

Cheers,

Richard

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-23 Thread Richard Purdie
If gdkpixbuf-native rebuilds and there are stale (broken) modules lying around,
it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is
removed from the sysroot but the svg loader isn't, we get a symbol linking 
issue.

The reproducer is along the lines of build gdk-pixbuf-native along
with harfbuzz-native and librsvg-native, then make a small change to the
gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native
and then build gdk-pixbuf.

To fix this, when we install gdk-pixbuf, we wipe out any previous loaders.
The idea is that gdk would always come first and anything else installing
itself will come later and rerun the postinst if needed. We can therefore
just remove any other loaders.

Signed-off-by: Richard Purdie 

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb 
b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
index bdf173a..35bb192 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
@@ -94,3 +94,12 @@ do_install_append_class-native() {

GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
 }
 BBCLASSEXTEND = "native"
+
+SSTATEPREINSTFUNCS_append_class-native = " gdkpixbuf_sstate_preinst"
+SYSROOT_PREPROCESS_FUNCS_append_class-native = " gdkpixbuf_sstate_preinst"
+
+gdkpixbuf_sstate_preinst() {
+   if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = 
"populate_sysroot_setscene" ]; then
+   rm -rf ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/*
+   fi
+}


-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gdk-pixbuf: Avoid rebuild failures

2015-09-23 Thread Gary Thomas

On 2015-09-23 16:32, Richard Purdie wrote:

If gdkpixbuf-native rebuilds and there are stale (broken) modules lying around,
it can fail to run the postinst. E.g. svg links to harfbuzz and if harfbuzz is
removed from the sysroot but the svg loader isn't, we get a symbol linking 
issue.

The reproducer is along the lines of build gdk-pixbuf-native along
with harfbuzz-native and librsvg-native, then make a small change to the
gdk-pixbuf recipe that would cause it to rebuild, clean harfbuzz-native
and then build gdk-pixbuf.

To fix this, when we install gdk-pixbuf, we wipe out any previous loaders.
The idea is that gdk would always come first and anything else installing
itself will come later and rerun the postinst if needed. We can therefore
just remove any other loaders.


Does the analogue of this problem exist for the non-native packages?  I've
not seen it, but it seems that it might based on your analysis.



Signed-off-by: Richard Purdie 

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb 
b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
index bdf173a..35bb192 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.30.8.bb
@@ -94,3 +94,12 @@ do_install_append_class-native() {

GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
  }
  BBCLASSEXTEND = "native"
+
+SSTATEPREINSTFUNCS_append_class-native = " gdkpixbuf_sstate_preinst"
+SYSROOT_PREPROCESS_FUNCS_append_class-native = " gdkpixbuf_sstate_preinst"
+
+gdkpixbuf_sstate_preinst() {
+   if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = 
"populate_sysroot_setscene" ]; then
+   rm -rf ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/*
+   fi
+}




--

Gary Thomas |  Consulting for the
MLB Associates  |Embedded world

--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core