Andrei Gherzan : gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in include/ gdbm
A message that is not in the archive (sent off-list or not yet received): 20120406001738.706A810217@opal
Quoted 10 lines · On Fri, Apr 06, 2012 at 12:17:38AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: e4d2ee00419f675ba8b7fb5d75256762253d8b32 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e4d2ee00419f675ba8b7fb5d75256762253d8b32Author: Andrei Gherzan <[email protected]> Date: Fri Mar 23 17:56:29 2012 +0200gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in
include/gdbm
Quoted 8 lines
ndbm.his needed by python for dbm module. This is why -enable-libgdbm-compat was added to configure.
The second change is because python is looking for the gdbm headers ininclude/gdbm. The easiest way to solve this issue is to add symlinks ininclude/gdbm.[YOCTO #1937]
Signed-off-by Andrei Gherzan <[email protected]>
This breaks every package in feed which depends on old package name libgdbm4 (>= 1.10)
Because now there are 2 .so files in ${PN} and no LEAD_SONAME defined.
Are you going to
1) send PR bumps to all packages which depends on libgdbm4
(e.g. apr-util python pulseaudio perl gst-plugins-good and probably more)
2) define LEAD_SONAME and bump PR in gdbm recipe
3) move -compat libs to ${PN}-compat or some other package name, so that old libgdbm4 still exists (and maybe + 1) because some people could build those with gdbm as dependency now)
Cheers,
Quoted 41 lines
---
meta/recipes-support/gdbm/gdbm_1.10.bb | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)meta/recipes-support/gdbm/gdbm_1.10.bb +12
-1@@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24" -PR = "r1" +PR = "r2" SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz"@@ -13,4 +13,15 @@ SRC_URI[sha256sum] = "23f8134c5b94bbfb06d756a6b78f074fba6e6028cf2fe01341d40b26db inherit autotools gettext lib_package +# Needed for dbm python module +EXTRA_OECONF = "-enable-libgdbm-compat" + BBCLASSEXTEND = "native nativesdk" + +do_install_append () { + # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find + # these headers + install -d ${D}${includedir}/gdbm + ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h + ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h +}_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 25 lines · Martin Jansa
Quoted 10 lines · On Fri, Apr 06, 2012 at 12:17:38AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: e4d2ee00419f675ba8b7fb5d75256762253d8b32 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e4d2ee00419f675ba8b7fb5d75256762253d8b32Author: Andrei Gherzan <[email protected]> Date: Fri Mar 23 17:56:29 2012 +0200gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in
include/gdbmQuoted 8 lines
ndbm.his needed by python for dbm module. This is why -enable-libgdbm-compat was added to configure.
The second change is because python is looking for the gdbm headers ininclude/gdbm. The easiest way to solve this issue is to add symlinks ininclude/gdbm.[YOCTO #1937]
Signed-off-by Andrei Gherzan <[email protected]>This breaks every package in feed which depends on old package name libgdbm4 (>= 1.10)
Because now there are 2 .so files in ${PN} and no
LEAD_SONAMEdefined.
Quoted 8 lines
Are you going to
1) send PR bumps to all packages which depends on libgdbm4
(e.g. apr-util python pulseaudio perl gst-plugins-good and probably more)
2) defineLEAD_SONAMEand bump PR in gdbm recipe
3) move -compat libs to ${PN}-compat or some other package name, so that old libgdbm4 still exists (and maybe + 1) because some people could build those with gdbm as dependency now)
And there is also broken upgrade path on target
SHR root@qemux86-64 ~ $ opkg info libgdbm4
Package: libgdbm4
Version: 1.10-r1
Depends: libc6 (>= 2.15)
Provides:
Status: install ok installed
Architecture: x86_64
Installed-Time: 1332937981
SHR root@qemux86-64 ~ $ opkg info gdbm
Package: gdbm
Version: 1.10-r2
Depends: libc6 (>= 2.15)
Provides:
Status: unknown ok not-installed
Section: libs
Architecture: x86_64
Maintainer: OE-Core Developers <[email protected]>
MD5Sum: 7dc17a86738b55b5df2e5ee67cccc2ac
Size: 20062
Filename: gdbm_1.10-r2_x86_64.ipk
Source: ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.10.tar.gz
Description: gdbm version 1.10-r2 GNU dbm is a set of database routines that use
extensible hashing.
And gdbm conflicts with libgdbm4, so if you decide to go with just 1) then add also RCONFLICTS/RREPLACES to ${PN} to fix upgrade path.. but I think that 3) is much better option..
Cheers,
Quoted 46 lines
Quoted 43 lines
---
meta/recipes-support/gdbm/gdbm_1.10.bb | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)meta/recipes-support/gdbm/gdbm_1.10.bb +12
-1@@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=241da1b9fe42e642cbb2c24d5e0c4d24" -PR = "r1" +PR = "r2" SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz"@@ -13,4 +13,15 @@ SRC_URI[sha256sum] = "23f8134c5b94bbfb06d756a6b78f074fba6e6028cf2fe01341d40b26db inherit autotools gettext lib_package +# Needed for dbm python module +EXTRA_OECONF = "-enable-libgdbm-compat" + BBCLASSEXTEND = "native nativesdk" + +do_install_append () { + # Create a symlink to ndbm.h and gdbm.h in include/gdbm to let other packages to find + # these headers + install -d ${D}${includedir}/gdbm + ln -sf ../ndbm.h ${D}/${includedir}/gdbm/ndbm.h + ln -sf ../gdbm.h ${D}/${includedir}/gdbm/gdbm.h +}_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commitsSignature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 25 lines · Martin Jansa
Quoted 10 lines · On Fri, Apr 06, 2012 at 12:17:38AM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: e4d2ee00419f675ba8b7fb5d75256762253d8b32 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e4d2ee00419f675ba8b7fb5d75256762253d8b32Author: Andrei Gherzan <[email protected]> Date: Fri Mar 23 17:56:29 2012 +0200gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in
include/gdbmQuoted 8 lines
ndbm.his needed by python for dbm module. This is why -enable-libgdbm-compat was added to configure.
The second change is because python is looking for the gdbm headers ininclude/gdbm. The easiest way to solve this issue is to add symlinks ininclude/gdbm.[YOCTO #1937]
Signed-off-by Andrei Gherzan <[email protected]>This breaks every package in feed which depends on old package name libgdbm4 (>= 1.10)
Because now there are 2 .so files in ${PN} and no
LEAD_SONAMEdefined.
Quoted 8 lines
Are you going to
1) send PR bumps to all packages which depends on libgdbm4
(e.g. apr-util python pulseaudio perl gst-plugins-good and probably more)
2) defineLEAD_SONAMEand bump PR in gdbm recipe
3) move -compat libs to ${PN}-compat or some other package name, so that old libgdbm4 still exists (and maybe + 1) because some people could build those with gdbm as dependency now)
I like the idea of putting the compat libs into a separate package...
Cheers,
Richard
Op 10 apr. 2012, om 11:06 heeft Richard Purdie het volgende geschreven:
Quoted 28 lines · Martin Jansa
Quoted 27 lines · On Fri, Apr 06, 2012 at 12:17:38AM +0000, [email protected] wrote:
Quoted 10 lines
Module: openembedded-core.git Branch: master Commit: e4d2ee00419f675ba8b7fb5d75256762253d8b32 URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e4d2ee00419f675ba8b7fb5d75256762253d8b32Author: Andrei Gherzan <[email protected]> Date: Fri Mar 23 17:56:29 2012 +0200gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in
include/gdbmQuoted 8 lines
ndbm.his needed by python for dbm module. This is why -enable-libgdbm-compat was added to configure.
The second change is because python is looking for the gdbm headers ininclude/gdbm. The easiest way to solve this issue is to add symlinks ininclude/gdbm.[YOCTO #1937]
Signed-off-by Andrei Gherzan <[email protected]>This breaks every package in feed which depends on old package name libgdbm4 (>= 1.10)
Because now there are 2 .so files in ${PN} and no
LEAD_SONAMEdefined.Are you going to
Quoted 8 lines
Quoted 6 lines
1) send PR bumps to all packages which depends on libgdbm4 (e.g. apr-util python pulseaudio perl gst-plugins-good and probably more)
2) defineLEAD_SONAMEand bump PR in gdbm recipe
3) move -compat libs to ${PN}-compat or some other package name, so that old libgdbm4 still exists (and maybe + 1) because some people could build those with gdbm as dependency now)I like the idea of putting the compat libs into a separate package...
me too
regards,
Koen
Thanks a lot for your observations. I will go with the third option as the majority voted. :)
Quoted 55 lines · Koen Kooi
Op 10 apr. 2012, om 11:06 heeft Richard Purdie het volgende geschreven:
Quoted 6 lines · Martin Jansa
Quoted 5 lines · On Fri, Apr 06, 2012 at 12:17:38AM +0000, [email protected]:
Quoted 4 lines
Module: openembedded-core.git
Branch: master
Commit:e4d2ee00419f675ba8b7fb5d75256762253d8b32
URL:Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Author: Andrei Gherzan <[email protected]> Date: Fri Mar 23 17:56:29 2012 +0200gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in
include/gdbmQuoted 2 lines
Quoted 2 lines
Quoted 2 lines
ndbm.his needed by python for dbm module. This is why-enable-libgdbm-compat was added
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
to configure.
The second change is because python is looking for the gdbm headers in
include/gdbm.Quoted 9 lines
Quoted 9 lines
Quoted 5 lines
The easiest way to solve this issue is to add symlinks in
include/gdbm.[YOCTO #1937]
Signed-off-by Andrei Gherzan <[email protected]>This breaks every package in feed which depends on old package name libgdbm4 (>= 1.10)
Quoted 6 lines
Quoted 6 lines
Because now there are 2 .so files in ${PN} and no
LEAD_SONAMEdefined.Are you going to
1) send PR bumps to all packages which depends on libgdbm4 (e.g. apr-util python pulseaudio perl gst-plugins-good and probably
more)
Quoted 6 lines
Quoted 4 lines
2) define
LEAD_SONAMEand bump PR in gdbm recipe
3) move -compat libs to ${PN}-compat or some other package name, so that old libgdbm4 still exists (and maybe + 1) because some people could build those with gdbm as dependency now)I like the idea of putting the compat libs into a separate package...
me too
regards,
Koen
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core