Skip to contentSkip to conversation

giflib: don't depend on libsm if x11 is unavailable

PATCH In review Andreas Oberritter 5 participants 12 messages Feb 2, 2012 – Feb 9, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 giflib: don't depend on libsm if x11 is unavailable

If DISTRO_FEATURES doesn't contain x11, libsm is not available. As libsm is optional, the dependency is changed to be conditional. There's no need to alter configure flags, because without x11, libsm cannot be picked up accidentially. Because this just fixes a missing dependency failure without x11, no PR bump is required either.

---
 meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb +1 -1
index bd7b495..4e782e2 100644
@@ -8,7 +8,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
 
 inherit autotools
 
-DEPENDS = "libsm"
+DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', 'libsm', '', d)}"
 
 PACKAGES += "${PN}-utils"
 FILES_${PN} = "${libdir}/libgif.so.*"
Signature · 1 line
1.7.5.4
#1 lore raw

Ping.

Patchwork URL: http://patches.openembedded.org/patch/20561/

Quoted 25 lines · Andreas Oberritter

If DISTRO_FEATURES doesn't contain x11, libsm is not available. As libsm is optional, the dependency is changed to be conditional. There's no need to alter configure flags, because without x11, libsm cannot be picked up accidentially. Because this just fixes a missing dependency failure without x11, no PR bump is required either.

---
 meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb +1 -1
index bd7b495..4e782e2 100644
@@ -8,7 +8,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
 
 inherit autotools
 
-DEPENDS = "libsm"
+DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', 'libsm', '', d)}"
 
 PACKAGES += "${PN}-utils"
 FILES_${PN} = "${libdir}/libgif.so.*"
#2 lore raw
In reply to Andreas Oberritter
Quoted 5 lines · Andreas Oberritter

There's no need to alter configure flags, because without x11, libsm cannot be picked up accidentially. Because this just fixes a missing dependency failure without x11, no PR bump is required either.

I do prefer a clear configure option depending on if it is going to use or not libsm otherwise if user has built it, it is going to be taken. Also, please PR bump in any case since it can help spot other possible failures that we'd not catch otherwise.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#3 lore raw
Quoted 10 lines · Otavio Salvador
Quoted 5 lines · Andreas Oberritter

There's no need to alter configure flags, because without x11, libsm cannot be picked up accidentially. Because this just fixes a missing dependency failure without x11, no PR bump is required either.

I do prefer a clear configure option depending on if it is going to use or not libsm otherwise if user has built it, it is going to be taken.

Currently, there are two possibilities:

1.) x11 is in DISTRO_FEATURES

    -> libsm is built, giflib is built with libsm
2.) x11 is not in DISTRO_FEATURES
    -> giflib build is broken, because libsm does not exist in this

configuration

Therefore, the scenario you're describing cannot happen.

Quoted 3 lines

Also,
please PR bump in any case since it can help spot other possible failures that we'd not catch otherwise.

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.

Regards,
Andreas

#4 lore raw
Quoted 7 lines · Andreas Oberritter

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.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#5 lore raw
Quoted 10 lines · Otavio Salvador
Quoted 7 lines · Andreas Oberritter

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.

Quoted 6 lines

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.

Regards,
Andreas

#6 lore raw

PATCH 1/1 giflib: don't link against libx11, don't depend on libsm

Quoted 29 lines · Andreas Oberritter
Quoted 10 lines · Otavio Salvador
Quoted 7 lines · Andreas Oberritter

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.

Quoted 6 lines

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.

Quoted 3 lines

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 <[email protected]>
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.

---
 meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb +2 -2
index bd7b495..e1a0777 100644
@@ -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.*"
#7 lore raw

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

Quoted 8 lines · Andreas Oberritter

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).

I voce for 1 too.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
E-mail: [email protected]  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
#8 lore raw

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

In reply to Andreas Oberritter
Quoted 3 lines · On Thursday 09 February 2012 13:41:53 Andreas Oberritter wrote:
Quoted 2 lines · Andreas Oberritter
Quoted 1 line · Otavio Salvador

On Wed, Feb 8, 2012 at 17:35, Andreas Oberritter

Quoted 46 lines · <[email protected]>wrote:
Quoted 26 lines
Quoted 7 lines
Quoted 6 lines

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.

Quoted 7 lines

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.

Quoted 3 lines

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

Quoted 7 lines

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

I'd agree with disabling it as well. According to google it was Henning who added libsm as a dependency in OE-Classic. Henning, do you remember the reason for adding this, and is it still valid?

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#9 lore raw

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

In reply to Andreas Oberritter
Quoted 3 lines · On Thursday 09 February 2012 13:41:53 Andreas Oberritter wrote:
Quoted 2 lines · Andreas Oberritter
Quoted 1 line · Otavio Salvador

On Wed, Feb 8, 2012 at 17:35, Andreas Oberritter

Quoted 46 lines · <[email protected]>wrote:
Quoted 26 lines
Quoted 7 lines
Quoted 6 lines

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.

Quoted 7 lines

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.

Quoted 3 lines

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

Quoted 7 lines

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

I'd agree with disabling it as well. According to google it was Henning who added libsm as a dependency in OE-Classic. Henning, do you remember the reason for adding this, and is it still valid?

Cheers,
Paul

[resend due to incorrect email address]

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#10 lore raw

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

Quoted 6 lines · Paul Eggleton

I'd agree with disabling it as well. According to google it was Henning who added libsm as a dependency in OE-Classic. Henning, do you remember the reason for adding this, and is it still valid?

Cheers,
Paul

Sorry no idea, why I added it. But I vote for option 1 too, so folks without X11 needs do not have to build X11.

Bye Henning

#11 lore raw

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

In reply to Andreas Oberritter

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 09-02-12 13:41, Andreas Oberritter schreef:

Quoted 42 lines · Andreas Oberritter
Quoted 30 lines · Otavio Salvador
Quoted 11 lines
Quoted 7 lines · Andreas Oberritter

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.

Quoted 6 lines

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.

Quoted 3 lines

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.

Quoted 8 lines

- 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

I'd go for 1)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: GPGTools - http://gpgtools.org

iEYEARECAAYFAk80FV4ACgkQMkyGM64RGpF1qQCdEZNQIneqMvodDIP02X3FLWtG xYQAnj9BM2jzRHa6mPJDy4NfcYo28vHR
=iwwe
-----END PGP SIGNATURE-----