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 | |
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
-rw-r--r-- | packages/bogofilter/bogofilter_0.96.0.bb | 4 | ||||
-rw-r--r-- | packages/cyrus-imapd/cyrus-imapd_2.2.12.bb | 12 | ||||
-rw-r--r-- | packages/cyrus-sasl/cyrus-sasl_2.1.17.bb | 2 | ||||
-rw-r--r-- | packages/cyrus-sasl/cyrus-sasl_2.1.18.bb | 2 | ||||
-rw-r--r-- | packages/cyrus-sasl/cyrus-sasl_2.1.19.bb | 7 | ||||
-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 | ||||
-rw-r--r-- | packages/dsniff/dsniff_2.3.bb | 3 | ||||
-rw-r--r-- | packages/openldap/openldap_2.2.24.bb | 10 | ||||
-rw-r--r-- | packages/perl/perl-native_5.8.4.bb | 3 | ||||
-rw-r--r-- | packages/perl/perl-native_5.8.7.bb | 3 | ||||
-rw-r--r-- | packages/perl/perl.inc | 2 | ||||
-rw-r--r-- | packages/postfix/postfix-native_2.0.20.bb | 2 | ||||
-rw-r--r-- | packages/postfix/postfix_2.0.20.bb | 13 | ||||
-rw-r--r-- | packages/rpm/rpm_4.4.bb | 4 |
17 files changed, 85 insertions, 53 deletions
diff --git a/packages/bogofilter/bogofilter_0.96.0.bb b/packages/bogofilter/bogofilter_0.96.0.bb index 55393c754c..0b85c96ada 100644 --- a/packages/bogofilter/bogofilter_0.96.0.bb +++ b/packages/bogofilter/bogofilter_0.96.0.bb @@ -1,11 +1,11 @@ SECTION = "console/network" -DEPENDS = "db3" +DEPENDS = "virtual/db" RDEPENDS = "glibc-gconv glibc-gconv-iso8859-1" DESCRIPTION = "Bogofilter is a mail filter that classifies mail as spam or ham (non-spam) \ by a statistical analysis of the message's header and content (body). \ The program is able to learn from the user's classifications and corrections." LICENSE = "GPL" -PR = "r4" +PR = "r5" PRIORITY = "optional" SRC_URI = "http://download.sourceforge.net/bogofilter/bogofilter-${PV}.tar.bz2 \ diff --git a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb index e1290ef1f9..72dc846e24 100644 --- a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb +++ b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb @@ -1,7 +1,7 @@ SECTION = "console/network" -DEPENDS = "cyrus-sasl db3" +DEPENDS = "cyrus-sasl virtual/db" LICENSE = "BSD" -PR = "r6" +PR = "r7" DEPENDS += "install-native" SRC_URI = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz \ @@ -18,16 +18,16 @@ inherit autotools update-rc.d INITSCRIPT_NAME = "cyrus" INITSCRIPT_PARAMS = "start 56 3 4 5 . stop 15 0 1 6 ." +TARGET_LDFLAGS_append_thumb = " -lpthread" EXTRA_OECONF = "--with-auth=unix \ + --with-dblib=berkeley \ + --with-bdb-libdir=${STAGING_LIBDIR} \ + --with-bdb-incdir=${STAGING_INCDIR} \ --without-perl \ --without-snmp" FILES_${PN} += "${prefix}/cyrus/bin" -# Target only, the db4 headers are in include/db4, so *prepend* this -# directory to the search path -TARGET_CPPFLAGS =+ "-I${STAGING_DIR}/${TARGET_SYS}/include/db4" - # All, lib/foo.c includes <config.h> from the top level directory and # is natively compiled BUILD_CPPFLAGS += " -I${S} -I${S}/et" diff --git a/packages/cyrus-sasl/cyrus-sasl_2.1.17.bb b/packages/cyrus-sasl/cyrus-sasl_2.1.17.bb index f6cce561d5..381486bc81 100644 --- a/packages/cyrus-sasl/cyrus-sasl_2.1.17.bb +++ b/packages/cyrus-sasl/cyrus-sasl_2.1.17.bb @@ -1,5 +1,5 @@ SECTION = "console/network" -DEPENDS = "db3" +DEPENDS = "virtual/db" DESCRIPTION = "Generic client/server library for SASL authentication." LICENSE = "BSD" diff --git a/packages/cyrus-sasl/cyrus-sasl_2.1.18.bb b/packages/cyrus-sasl/cyrus-sasl_2.1.18.bb index 5a1bf9f201..0295b2eb09 100644 --- a/packages/cyrus-sasl/cyrus-sasl_2.1.18.bb +++ b/packages/cyrus-sasl/cyrus-sasl_2.1.18.bb @@ -1,5 +1,5 @@ SECTION = "console/network" -DEPENDS = "db3" +DEPENDS = "virtual/db" DESCRIPTION = "Generic client/server library for SASL authentication." LICENSE = "BSD" diff --git a/packages/cyrus-sasl/cyrus-sasl_2.1.19.bb b/packages/cyrus-sasl/cyrus-sasl_2.1.19.bb index c76fe3e8f3..90c44c912f 100644 --- a/packages/cyrus-sasl/cyrus-sasl_2.1.19.bb +++ b/packages/cyrus-sasl/cyrus-sasl_2.1.19.bb @@ -1,8 +1,8 @@ SECTION = "console/network" -DEPENDS = "db3 openssl" +DEPENDS = "openssl virtual/db" DESCRIPTION = "Generic client/server library for SASL authentication." LICENSE = "BSD" -PR = "r6" +PR = "r7" SRC_URI = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-${PV}.tar.gz \ file://berkdb.m4.patch;patch=1" @@ -11,9 +11,10 @@ inherit autotools acpaths = "-I ${S}/cmulocal -I ${S}/config -I ." CFLAGS_append = " -I${S}/include -I${S}/saslauthd/include" +TARGET_LDFLAGS_append_thumb = " -lpthread" EXTRA_OECONF = "--enable-shared --enable-static --with-dblib=berkeley \ --with-bdb-libdir=${STAGING_LIBDIR} \ - --with-bdb-incdir=${STAGING_INCDIR}/db4 \ + --with-bdb-incdir=${STAGING_INCDIR} \ --without-pam \ --without-opie --without-des" 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() { diff --git a/packages/dsniff/dsniff_2.3.bb b/packages/dsniff/dsniff_2.3.bb index fb820d7940..21e7c39674 100644 --- a/packages/dsniff/dsniff_2.3.bb +++ b/packages/dsniff/dsniff_2.3.bb @@ -1,8 +1,9 @@ SECTION = "console/network" DESCRIPTION = "dsniff is a collection of tools for network auditing and penetration testing." LICENSE = "BSD" +PR = "r1" -DEPENDS = "db3 libpcap libnet libnids openssl" +DEPENDS = "virtual/db libpcap libnet libnids openssl" SRC_URI = "http://www.monkey.org/~dugsong/dsniff/dsniff-${PV}.tar.gz \ file://configure.patch;patch=1" diff --git a/packages/openldap/openldap_2.2.24.bb b/packages/openldap/openldap_2.2.24.bb index a2fd912975..7c1f7f8b10 100644 --- a/packages/openldap/openldap_2.2.24.bb +++ b/packages/openldap/openldap_2.2.24.bb @@ -12,7 +12,7 @@ PRIORITY = "optional" LICENSE = "OpenLDAP" SECTION = "libs" -PR = "r3" +PR = "r4" SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${P}.tgz" SRC_URI += " file://openldap-autoconf.patch;patch=1" @@ -89,16 +89,12 @@ md = "${libexecdir}/openldap" # To disable this set all three of the following variables to <empty> in # a .conf file (this will allow ldbm to be build with gdbm). OPENLDAP_OPTION_bdb ?= --enable-bdb=mod -OPENLDAP_DEPENDS_bdb ?= db4 +OPENLDAP_DEPENDS_bdb ?= db OPENLDAP_PACKAGE_bdb ?= "${PN}-backend-bdb" FILES_${PN}-backend-bdb = "${md}/back_bdb.so ${md}/back_bdb.la ${md}/back_bdb-*.so.*" EXTRA_OECONF += " ${OPENLDAP_OPTION_bdb}" DEPENDS += ${OPENLDAP_DEPENDS_bdb} PACKAGES += " ${OPENLDAP_PACKAGE_bdb}" -# For the moment the db4 headers are in a sub-directory to give compatibility -# with the identically named db3 headers in the standard staging directory, -# *prepend* the subdirectory: -TARGET_CPPFLAGS =+ "-I${STAGING_DIR}/${TARGET_SYS}/include/db4" # #--enable-dnssrv enable dnssrv backend no|yes|mod no # This has no dependencies. @@ -109,7 +105,7 @@ PACKAGES += " ${PN}-backend-dnssrv" #--enable-hdb enable Hierarchical DB backend no|yes|mod no # This forces ldbm to use Berkeley too, remove to use gdbm OPENLDAP_OPTION_hdb ?= --enable-hdb=mod -OPENLDAP_DEPENDS_hdb ?= db4 +OPENLDAP_DEPENDS_hdb ?= db OPENLDAP_PACKAGE_hdb ?= "${PN}-backend-hdb" FILES_${PN}-backend-hdb = "${md}/back_hdb.so ${md}/back_hdb.la ${md}/back_hdb-*.so.*" EXTRA_OECONF += " ${OPENLDAP_OPTION_hdb}" diff --git a/packages/perl/perl-native_5.8.4.bb b/packages/perl/perl-native_5.8.4.bb index da30274627..a4065e999b 100644 --- a/packages/perl/perl-native_5.8.4.bb +++ b/packages/perl/perl-native_5.8.4.bb @@ -1,11 +1,12 @@ DESCRIPTION = "Perl is a popular scripting language." HOMEPAGE = "http://www.perl.org/" LICENSE = "Artistic|GPL" +PR = "r1" SECTION = "libs" inherit native -DEPENDS = "db3-native gdbm-native" +DEPENDS = "virtual/db-native gdbm-native" SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz" S = "${WORKDIR}/perl-${PV}" diff --git a/packages/perl/perl-native_5.8.7.bb b/packages/perl/perl-native_5.8.7.bb index cc2b7fc5b1..4a28478b94 100644 --- a/packages/perl/perl-native_5.8.7.bb +++ b/packages/perl/perl-native_5.8.7.bb @@ -2,11 +2,12 @@ DESCRIPTION = "Perl is a popular scripting language." MAINTAINER="David Karlstrom <daka@thg.se>" HOMEPAGE = "http://www.perl.org/" LICENSE = "Artistic|GPL" +PR = "r1" SECTION = "libs" inherit native -DEPENDS = "db3-native gdbm-native" +DEPENDS = "virtual/db-native gdbm-native" SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz" S = "${WORKDIR}/perl-${PV}" diff --git a/packages/perl/perl.inc b/packages/perl/perl.inc index 5ee5418fc4..505249cd9e 100644 --- a/packages/perl/perl.inc +++ b/packages/perl/perl.inc @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/" LICENSE = "Artistic|GPL" SECTION = "devel" PRIORITY = "optional" -DEPENDS = "db3 perl-native" +DEPENDS = "virtual/db perl-native" SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \ file://Makefile.patch;patch=1 \ diff --git a/packages/postfix/postfix-native_2.0.20.bb b/packages/postfix/postfix-native_2.0.20.bb index 99a1d9fbaf..bf00fd832d 100644 --- a/packages/postfix/postfix-native_2.0.20.bb +++ b/packages/postfix/postfix-native_2.0.20.bb @@ -2,7 +2,7 @@ SECTION = "console/network" include postfix_${PV}.bb inherit native FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/postfix-${PV}" -DEPENDS = "db3-native pcre-native" +DEPENDS = "virtual/db-native pcre-native" export DIRS = "src/util src/global src/postconf" do_stage () { diff --git a/packages/postfix/postfix_2.0.20.bb b/packages/postfix/postfix_2.0.20.bb index a676c3f809..4a11a002e3 100644 --- a/packages/postfix/postfix_2.0.20.bb +++ b/packages/postfix/postfix_2.0.20.bb @@ -1,7 +1,7 @@ SECTION = "console/network" -DEPENDS = "db3 pcre postfix-native" +DEPENDS = "virtual/db pcre postfix-native" LICENSE = "IPL" -PR = "r7" +PR = "r8" SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \ file://${FILESDIR}/makedefs.patch;patch=1 \ @@ -18,7 +18,14 @@ inherit update-rc.d INITSCRIPT_NAME = "postfix" INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." -export SYSLIBS = "-lpcre -ldb -lnsl -lresolv ${LDFLAGS}" +#FIXME: this is broken because the native build won't work on systems where +# native bdb does not require libpthread. ARM doesn't require libpthread +# because it uses an assembler mutex implementation. +LIBBDB_EXTRA = "-lpthread" +LIBBDB_EXTRA_arm = "" +LIBBDB_EXTRA_armeb = "" + +export SYSLIBS = "-lpcre -ldb ${LIBBDB_EXTRA} -lnsl -lresolv ${LDFLAGS}" export EXPORT = "AUXLIBS='-lpcre' CCARGS='-DHAS_PCRE ${CFLAGS}' OPT='' DEBUG='-g'" export CC_append = " -DHAS_PCRE ${CFLAGS}" export EXTRA_OEMAKE = "-e" diff --git a/packages/rpm/rpm_4.4.bb b/packages/rpm/rpm_4.4.bb index aebdf29d2a..ca60056c9c 100644 --- a/packages/rpm/rpm_4.4.bb +++ b/packages/rpm/rpm_4.4.bb @@ -3,8 +3,8 @@ HOMEPAGE = "http://rpm.org/" LICENSE = "LGPL GPL" MAINTAINER = "Chris Larson <kergoth@handhelds.org>" # NOTE: currently rpm doesn't support using an external popt, -# file, or db3. FIXME: patch it to support that. -# DEPENDS = "db3 popt file zlib" +# file, or virtual/db. FIXME: patch it to support that. +# DEPENDS = "virtual/db popt file zlib" DEPENDS = "zlib" PR = "r1" |