[OE-core] [oe-commits] Andrei Gherzan : gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in include/ gdbm

Martin Jansa martin.jansa at gmail.com
Tue Apr 10 09:01:48 UTC 2012


On Tue, Apr 10, 2012 at 10:38:15AM +0200, Martin Jansa wrote:
> On Fri, Apr 06, 2012 at 12:17:38AM +0000, git at git.openembedded.org wrote:
> > Module: openembedded-core.git
> > Branch: master
> > Commit: e4d2ee00419f675ba8b7fb5d75256762253d8b32
> > URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e4d2ee00419f675ba8b7fb5d75256762253d8b32
> > 
> > Author: Andrei Gherzan <andrei at gherzan.ro>
> > Date:   Fri Mar 23 17:56:29 2012 +0200
> > 
> > gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in include/gdbm
> > 
> > ndbm.h is 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 in include/gdbm.
> > The easiest way to solve this issue is to add symlinks in include/gdbm.
> > 
> > [YOCTO #1937]
> > 
> > Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
> 
> 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)

And there is also broken upgrade path on target
SHR root at 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 at 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
<openembedded-core at lists.openembedded.org>
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,

> 
> 
> > 
> > ---
> > 
> >  meta/recipes-support/gdbm/gdbm_1.10.bb |   13 ++++++++++++-
> >  1 files changed, 12 insertions(+), 1 deletions(-)
> > 
> > diff --git a/meta/recipes-support/gdbm/gdbm_1.10.bb b/meta/recipes-support/gdbm/gdbm_1.10.bb
> > index 9b2fde4..26b8009 100644
> > --- a/meta/recipes-support/gdbm/gdbm_1.10.bb
> > +++ b/meta/recipes-support/gdbm/gdbm_1.10.bb
> > @@ -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
> > Openembedded-commits at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com



-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120410/451016dd/attachment-0002.sig>


More information about the Openembedded-core mailing list