Patchwork pango: add libpng to DEPENDS

login
register
mail settings
Submitter Koen Kooi
Date April 16, 2013, 9:10 a.m.
Message ID <1366103412-10924-1-git-send-email-koen@dominion.thruhere.net>
Download mbox | patch
Permalink /patch/48305/
State New
Headers show

Comments

Koen Kooi - April 16, 2013, 9:10 a.m.
Pango links indirectly to libpng through the cairo-png dependency, but does encode the libpng version in its .la files. Changing libpng versions will make a rebuild fail, so let's cheat a bit to let sstate rebuild pango as well to get around this.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
 meta/recipes-graphics/pango/pango.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Richard Purdie - April 16, 2013, 9:54 a.m.
On Tue, 2013-04-16 at 11:10 +0200, Koen Kooi wrote:
> Pango links indirectly to libpng through the cairo-png dependency, but
> does encode the libpng version in its .la files. Changing libpng
> versions will make a rebuild fail, so let's cheat a bit to let sstate
> rebuild pango as well to get around this.
> 
> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
> ---
>  meta/recipes-graphics/pango/pango.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

This doesn't follow. If pango -> cairo -> libpng and libpng changes,
both cairo and pango will rebuild.

What might be the problem is that autotools (or more likely libtool)
isn't rebuilding correctly. This was solved with the separate build
directory code. Have you enabled that?

Cheers,

Richard

> diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
> index f622903..c1beb9e 100644
> --- a/meta/recipes-graphics/pango/pango.inc
> +++ b/meta/recipes-graphics/pango/pango.inc
> @@ -10,7 +10,7 @@ SECTION = "libs"
>  LICENSE = "LGPLv2.0+"
>  
>  X11DEPENDS = "virtual/libx11 libxft"
> -DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz"
> +DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz libpng"
>  
>  PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
>  PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
Koen Kooi - April 16, 2013, 9:59 a.m.
Op 16 apr. 2013, om 11:54 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:

> On Tue, 2013-04-16 at 11:10 +0200, Koen Kooi wrote:
>> Pango links indirectly to libpng through the cairo-png dependency, but
>> does encode the libpng version in its .la files. Changing libpng
>> versions will make a rebuild fail, so let's cheat a bit to let sstate
>> rebuild pango as well to get around this.
>> 
>> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
>> ---
>> meta/recipes-graphics/pango/pango.inc | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> This doesn't follow. If pango -> cairo -> libpng and libpng changes,
> both cairo and pango will rebuild.

If it did get rebuilt it still had references to non-existent libpng16  .la in its .la files.

> What might be the problem is that autotools (or more likely libtool)
> isn't rebuilding correctly. This was solved with the separate build
> directory code. Have you enabled that?

Not that I know off. How do I do that?

regards,

Koen

> 
> Cheers,
> 
> Richard
> 
>> diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
>> index f622903..c1beb9e 100644
>> --- a/meta/recipes-graphics/pango/pango.inc
>> +++ b/meta/recipes-graphics/pango/pango.inc
>> @@ -10,7 +10,7 @@ SECTION = "libs"
>> LICENSE = "LGPLv2.0+"
>> 
>> X11DEPENDS = "virtual/libx11 libxft"
>> -DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz"
>> +DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz libpng"
>> 
>> PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
>> PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
> 
>
Richard Purdie - April 16, 2013, 10:08 a.m.
On Tue, 2013-04-16 at 11:59 +0200, Koen Kooi wrote:
> Op 16 apr. 2013, om 11:54 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:
> 
> > On Tue, 2013-04-16 at 11:10 +0200, Koen Kooi wrote:
> >> Pango links indirectly to libpng through the cairo-png dependency, but
> >> does encode the libpng version in its .la files. Changing libpng
> >> versions will make a rebuild fail, so let's cheat a bit to let sstate
> >> rebuild pango as well to get around this.
> >> 
> >> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
> >> ---
> >> meta/recipes-graphics/pango/pango.inc | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > This doesn't follow. If pango -> cairo -> libpng and libpng changes,
> > both cairo and pango will rebuild.
> 
> If it did get rebuilt it still had references to non-existent
> libpng16  .la in its .la files.

Autotools/libtool being broken then, the DEPENDS change might appear to
help but it doesn't, only way to deal with it is either the change below
or to clean the recipe in question.

> > What might be the problem is that autotools (or more likely libtool)
> > isn't rebuilding correctly. This was solved with the separate build
> > directory code. Have you enabled that?
> 
> Not that I know off. How do I do that?

http://git.yoctoproject.org/cgit.cgi/poky/commit/meta-yocto?id=9e366e153234114ab3c51e4bb8e3452593f64070

It was was made opt in since people didn't want it as the default. I've
made it the default for poky as I believe its a good thing and helps
cases like this.

The only downside is that to change to this you need a clean build
directory as autotools throws a fit about this change when you re-run
configure on an existing directory. Nothing we can do about that one,
its autotools :(.

Cheers,

Richard
Koen Kooi - April 16, 2013, 10:15 a.m.
Op 16 apr. 2013, om 12:08 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:

> On Tue, 2013-04-16 at 11:59 +0200, Koen Kooi wrote:
>> Op 16 apr. 2013, om 11:54 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:
>> 
>>> On Tue, 2013-04-16 at 11:10 +0200, Koen Kooi wrote:
>>>> Pango links indirectly to libpng through the cairo-png dependency, but
>>>> does encode the libpng version in its .la files. Changing libpng
>>>> versions will make a rebuild fail, so let's cheat a bit to let sstate
>>>> rebuild pango as well to get around this.
>>>> 
>>>> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
>>>> ---
>>>> meta/recipes-graphics/pango/pango.inc | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>> 
>>> This doesn't follow. If pango -> cairo -> libpng and libpng changes,
>>> both cairo and pango will rebuild.
>> 
>> If it did get rebuilt it still had references to non-existent
>> libpng16  .la in its .la files.
> 
> Autotools/libtool being broken then, the DEPENDS change might appear to
> help but it doesn't, only way to deal with it is either the change below
> or to clean the recipe in question.

OK, let's discard this patch :)

>>> What might be the problem is that autotools (or more likely libtool)
>>> isn't rebuilding correctly. This was solved with the separate build
>>> directory code. Have you enabled that?
>> 
>> Not that I know off. How do I do that?
> 
> http://git.yoctoproject.org/cgit.cgi/poky/commit/meta-yocto?id=9e366e153234114ab3c51e4bb8e3452593f64070
> 
> It was was made opt in since people didn't want it as the default. I've
> made it the default for poky as I believe its a good thing and helps
> cases like this.
> 
> The only downside is that to change to this you need a clean build
> directory as autotools throws a fit about this change when you re-run
> configure on an existing directory. Nothing we can do about that one,
> its autotools :(.

Thanks, I'll make it the default for angstrom as well.

regards,

Koen

Patch

diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
index f622903..c1beb9e 100644
--- a/meta/recipes-graphics/pango/pango.inc
+++ b/meta/recipes-graphics/pango/pango.inc
@@ -10,7 +10,7 @@  SECTION = "libs"
 LICENSE = "LGPLv2.0+"
 
 X11DEPENDS = "virtual/libx11 libxft"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz"
+DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo elfutils harfbuzz libpng"
 
 PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
 PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"