[oe] [meta-oe][PATCH] giflib: don't link against libx11, don't depend on libsm

Andreas Oberritter obi at opendreambox.org
Thu Feb 9 12:41:53 UTC 2012


On 09.02.2012 01:54, Andreas Oberritter wrote:
> On 08.02.2012 20:48, Otavio Salvador wrote:
>> On Wed, Feb 8, 2012 at 17:35, Andreas Oberritter <obi at opendreambox.org>wrote:
>>
>>> I already explained in the commit message, why a PR bump is not needed.
>>> Can you please explain which other possible failures you're expecting,
>>> so I can learn why my reasoning may be wrong?
>>>
>>> This patch only fixes an unavailable build dependency at bitbake level,
>>> nothing more.
>>>
>>
>> Can the user call:
>>
>> bitbake libsm
>>
>> and then build giflib? in case of positive, we need to enforce have or not
>> it linked.
> 
> At the time I created the patch, the user couldn't run bitbake libsm
> (for the same reason that it wouldn't be built automatically through
> giflib's DEPENDS).
> 
> That said, I updated the repos after your mail and ran bitbake libsm in
> order to get the error message again, but the error vanished.
> Apparently, an indirect dependency on libx11 was dropped during the last
> few weeks. I searched the logs, but didn't find the change. Strange.
> Now, many x11 packages got built even though x11 still wasn't listed in
> my DISTRO_FEATURES.
> 
> Anyway, please consider this patch obsolete. I'll probably resend an
> updated version together with other patches to disable some more x11
> libraries on demand.

I did some further research regarding giflib:

- giflib doesn't depend on libSM alone, but optionally depends on 
libX11. When linked against libX11, it also links agains libSM and 
libICE, under certain conditions. Since libSM does not depend on 
libX11, the current giflib build is non-deterministic.

- Debian's/Ubuntu's giflib gets configured with --disable-x11 
unconditionally.

So we have two options:

1.) Pass --disable-x11 unconditionally like Debian/Ubuntu
2.) Add virtual/libx11 to DEPENDS, if x11 is defined in 
DISTRO_FEATURES, and add --enable/diable-x11 to EXTRA_OECONF

Because the current recipe didn't depend on libX11 and no one 
complained about it, I question the usefulness of linking giflib
against x11. Therefore I vote for option 1 (see patch below).

What does giflib do if linked against libX11?
- It builds a tool called gif2x11
- DumpScreen2Gif() gains support for dumping X11 windows

Regards,
Andreas

>From eb1d09faa42fd7532338e0cc858ca1ff681bcaf8 Mon Sep 17 00:00:00 2001
From: Andreas Oberritter <obi at opendreambox.org>
Date: Thu, 9 Feb 2012 13:34:52 +0100
Subject: [PATCH] giflib: don't link against libx11, don't depend on libsm

libsm wasn't used unless libx11 was built before giflib. Therefore
drop the dependency on libsm and disable x11 unconditionally like
Debian does.

Signed-off-by: Andreas Oberritter <obi at opendreambox.org>
---
 meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb b/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
index bd7b495..e1a0777 100644
--- a/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
+++ b/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
@@ -2,13 +2,13 @@ DESCRIPTION = "shared library for GIF images"
 SECTION = "libs"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
 
 inherit autotools
 
-DEPENDS = "libsm"
+EXTRA_OECONF = "--disable-x11"
 
 PACKAGES += "${PN}-utils"
 FILES_${PN} = "${libdir}/libgif.so.*"




More information about the Openembedded-devel mailing list