diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-11-11 07:15:36 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-11-11 07:15:36 +0000 |
commit | 1c60e3ea33243897f1159d617a0bf0fb9e5916f3 (patch) | |
tree | 9c07ba79b1bd4132216ca513c55faf5df5a74c66 /packages/db | |
parent | 82111b6f46d1afcb5d480fceaabc6822403e1867 (diff) |
db: fix db3/db4 confusion by causing all packages to use virtual/db in db-4.3 4.3.29
- The SleepyCat implementation of the Berkeley DB exists in OE in two different
- versions, 3.2 and 4.3. These appear to now be compatible (i.e. with the correct
- settings db-4.3 can do everything db-3.2 can do and all packages compile with it).
- The previous scheme of allowing both to be built (which was highly error prone)
- has been removed and all db users now reference virtual/db.
- Affects:
- bogofilter, cyrus-*, openldap, perl, postfix, rpm
Diffstat (limited to 'packages/db')
-rw-r--r-- | packages/db/db-native_4.3.29.bb | 13 | ||||
-rw-r--r-- | packages/db/db3-native_3.2.9.bb | 2 | ||||
-rw-r--r-- | packages/db/db3_3.2.9.bb | 9 | ||||
-rw-r--r-- | packages/db/db_4.3.29.bb (renamed from packages/db/db_4.3.27.bb) | 47 |
4 files changed, 48 insertions, 23 deletions
diff --git a/packages/db/db-native_4.3.29.bb b/packages/db/db-native_4.3.29.bb new file mode 100644 index 0000000000..5aaeb4329e --- /dev/null +++ b/packages/db/db-native_4.3.29.bb @@ -0,0 +1,13 @@ +# This wrapper builds a native version of the SleepyCat +# Berkeley DB for those packages which need it (e.g. +# perl). +SECTION = "libs" +VIRTUAL_NAME = "virtual/db-native" +CONFLICTS = "db3-native" +#PR tracks the non-native package + +inherit native + +include db_${PV}.bb + +PACKAGES = "" diff --git a/packages/db/db3-native_3.2.9.bb b/packages/db/db3-native_3.2.9.bb index 13c6063669..44a8a5b605 100644 --- a/packages/db/db3-native_3.2.9.bb +++ b/packages/db/db3-native_3.2.9.bb @@ -1,4 +1,6 @@ SECTION = "libs" +VIRTUAL_NAME = "virtual/db-native" +CONFLICTS = "db-native" inherit native include db3_${PV}.bb diff --git a/packages/db/db3_3.2.9.bb b/packages/db/db3_3.2.9.bb index 4c78279745..335d83c173 100644 --- a/packages/db/db3_3.2.9.bb +++ b/packages/db/db3_3.2.9.bb @@ -2,7 +2,14 @@ SECTION = "libs" DESCRIPTION = "Berkeley DB v3." HOMEPAGE = "http://www.sleepycat.com" LICENSE = "BSD Sleepycat" -PR = "r1" +PR = "r2" +VIRTUAL_NAME ?= "virtual/db" +CONFLICTS = "db" + +# it doesn't make any sense to have multiple relational +# databases on an embedded machine, virtual/db allows +# a build to select the desired one. +PROVIDES += "${VIRTUAL_NAME}" SRC_URI = "ftp://sleepycat1.inetu.net/releases/db-${PV}.tar.gz \ file://autofoo.patch;patch=1" diff --git a/packages/db/db_4.3.27.bb b/packages/db/db_4.3.29.bb index 518fddee9f..ba11e12901 100644 --- a/packages/db/db_4.3.27.bb +++ b/packages/db/db_4.3.29.bb @@ -12,23 +12,30 @@ SECTION = "libs" DESCRIPTION = "Berkeley DB v4." HOMEPAGE = "http://www.sleepycat.com" LICENSE = "BSD Sleepycat" -PR = "r1" +VIRTUAL_NAME ?= "virtual/db" +CONFLICTS = "db3" +PR = "r0" -SRC_URI = "http://downloads.sleepycat.com/${P}.tar.gz" +SRC_URI = "http://downloads.sleepycat.com/db-${PV}.tar.gz" +#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5" inherit autotools -# At present virtual/db is only in the db4 file, but it -# should probably be in the other candidates (db3, gdbm) -# because it doesn't make any sense to have multiple -# relational databases on an embedded machine... -PROVIDES += " db4 virtual/db" +# Put virtual/db in any appropriate provider of a +# relational database, use it as a dependency in +# place of a specific db and use: +# +# PREFERRED_PROVIDER_virtual/db +# +# to select the correct db in the build (distro) .conf +PROVIDES += "${VIRTUAL_NAME}" # bitbake isn't quite clever enough to deal with sleepycat, # the distribution sits in the expected directory, but all # the builds must occur from a sub-directory. The following # persuades bitbake to go to the right place -S = "${WORKDIR}/${P}/build_unix" +S = "${WORKDIR}/db-${PV}/dist" +B = "${WORKDIR}/db-${PV}/build_unix" # The executables go in a separate package - typically there # is no need to install these unless doing real database @@ -44,43 +51,39 @@ FILES_${PN}-bin = "${bindir}" FILES_${PN}-dev = "${includedir} ${libdir}" #configuration - set in local.conf to override -DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild" +DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild --enable-compat185" +EXTRA_OECONF = "${DB4_CONFIG}" + # Override the MUTEX setting here, the POSIX library is # the default - "POSIX/pthreads/library". # Don't ignore the nice SWP instruction on the ARM: -EXTRA_OECONF = "${DB4_CONFIG}" # These enable the ARM assembler mutex code, this won't # work with thumb compilation... ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" ARM_MUTEX_thumb = "" -# NOTE: only tested on nslu2, should probably be _armeb -EXTRA_OECONF_nslu2 = "${DB4_CONFIG} ${ARM_MUTEX}" +MUTEX = "" +MUTEX_arm = "${ARM_MUTEX}" +MUTEX_armeb = "${ARM_MUTEX}" +EXTRA_OECONF += "${MUTEX}" # Cancel the site stuff - it's set for db3 and destroys the # configure. CONFIG_SITE = "" do_configure() { - echo '#!/bin/sh' >${S}/configure - echo 'rm ${S}/configure' >>${S}/configure - echo 'exec ../dist/configure "$@"' >>${S}/configure - chmod a+x ${S}/configure oe_runconf } do_stage() { # The .h files get installed read-only, the autostage # function just uses cp -pPR, so do this by hand - # Install, for the moment, into include/db4 to avoid - # interfering with the db3 headers (which have the same - # name). -I${STAGING_INCDIR}/db4 to use db4, as opposed - # to db3. rm -rf ${STAGE_TEMP} mkdir -p ${STAGE_TEMP} oe_runmake DESTDIR="${STAGE_TEMP}" install_include - mkdir -p ${STAGING_INCDIR}/db4 - cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/db4 + cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/. rm -rf ${STAGE_TEMP} oe_libinstall -so -C .libs libdb-4.3 ${STAGING_LIBDIR} + ln -sf libdb-4.3.so ${STAGING_LIBDIR}/libdb.so + ln -sf libdb-4.3.a ${STAGING_LIBDIR}/libdb.a } do_install_append() { |