pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc Rework the Berkeley DB detection in buildlink3:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8f9ea4d69cdb
branches:  trunk
changeset: 483600:8f9ea4d69cdb
user:      jlam <jlam%pkgsrc.org@localhost>
date:      Mon Nov 15 17:54:49 2004 +0000

description:
Rework the Berkeley DB detection in buildlink3:

  * Add a db1.builtin.mk file that detects whether DB-1.85 functionality
    exists in the base system, and remove the distinction between
    "native" and the other Berkeley DB packages -- we now refer to
    db[1234].  This paves the way for any future databases/db1 package.

  * USE_DB185 shouldn't need to be set by any packages -- its correct
    value is now automatically determined by bdb.buildlink3.mk depending
    on whether we explicitly request db1 or not.  By default, if you
    include bdb.buildlink3.mk, you want DB-1.85 functionality and
    USE_DB185 defaults to "yes", but if you explicitly remove db1 from
    the list of acceptable DBs, then USE_DB185 defaults to "no".

  * Set BDB_LIBS to the library options needed to link against the DB
    library when bdb.buildlink3.mk is included.

  * We only add the DB library to the linker command automatically if
    we want DB-1.85 functionality; otherwise assume that the package
    configure process can figure out how to probe for the correct
    headers and libraries.

Edit package Makefiles to nuke redundant settings of USE_DB185.

diffstat:

 databases/db/buildlink3.mk       |   11 +--
 databases/db3/buildlink3.mk      |   12 +--
 databases/db4/buildlink3.mk      |   12 +--
 databases/openldap/options.mk    |    3 +-
 databases/p5-BerkeleyDB/Makefile |    4 +-
 lang/python20/Makefile           |    4 +-
 lang/python23/Makefile.common    |    8 +--
 mail/bogofilter/Makefile         |    5 +-
 mail/cucipop/Makefile            |    4 +-
 mail/cyrus-imapd21/Makefile      |    3 +-
 mail/cyrus-imapd22/Makefile      |    3 +-
 mail/exim3/Makefile              |   18 +-----
 mail/maildrop/Makefile           |    5 +-
 misc/rpm/Makefile                |    5 +-
 mk/bdb.buildlink3.mk             |  106 +++++++++++++++++---------------------
 mk/db1.builtin.mk                |   72 ++++++++++++++++++++++++++
 pkgtools/pkg_filecheck/Makefile  |    3 +-
 security/pam-dbm/Makefile        |    7 +-
 www/htdig/Makefile               |    6 +-
 19 files changed, 161 insertions(+), 130 deletions(-)

diffs (truncated from 638 to 300 lines):

diff -r ec5648673ed5 -r 8f9ea4d69cdb databases/db/buildlink3.mk
--- a/databases/db/buildlink3.mk        Mon Nov 15 17:03:32 2004 +0000
+++ b/databases/db/buildlink3.mk        Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.18 2004/10/03 00:13:18 tv Exp $
+# $NetBSD: buildlink3.mk,v 1.19 2004/11/15 17:54:49 jlam Exp $
 
 BUILDLINK_DEPTH:=      ${BUILDLINK_DEPTH}+
 DB_BUILDLINK3_MK:=     ${DB_BUILDLINK3_MK}+
@@ -16,14 +16,13 @@
 BUILDLINK_DEPENDS.db2+=                db>=2.7.3
 BUILDLINK_RECOMMENDED.db2+=    db>=2.7.7nb2
 BUILDLINK_PKGSRCDIR.db2?=      ../../databases/db
-.  if defined(USE_DB185)
 BUILDLINK_INCDIRS.db2?=                include/db2
-BUILDLINK_LIBDIRS.db2?=                lib
+BUILDLINK_LDADD.db2=           -ldb2
+
+.  if defined(USE_DB185) && !empty(USE_DB185:M[yY][eE][sS])
+BUILDLINK_LIBS.db2=            ${BUILDLINK_LDADD.db2}
 BUILDLINK_TRANSFORM+=          l:db:db2
-BUILDLINK_CPPFLAGS.db2=                -I${BUILDLINK_PREFIX.db2}/${BUILDLINK_INCDIRS.db2}
 .  endif
-BUILDLINK_LDFLAGS.db2=         -L${BUILDLINK_PREFIX.db2}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.db2}/lib
-BUILDLINK_LIBS.db2=            -ldb2
 .endif # DB_BUILDLINK3_MK
 
 BUILDLINK_DEPTH:=     ${BUILDLINK_DEPTH:S/+$//}
diff -r ec5648673ed5 -r 8f9ea4d69cdb databases/db3/buildlink3.mk
--- a/databases/db3/buildlink3.mk       Mon Nov 15 17:03:32 2004 +0000
+++ b/databases/db3/buildlink3.mk       Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.15 2004/10/03 00:13:18 tv Exp $
+# $NetBSD: buildlink3.mk,v 1.16 2004/11/15 17:54:49 jlam Exp $
 
 BUILDLINK_DEPTH:=      ${BUILDLINK_DEPTH}+
 DB3_BUILDLINK3_MK:=    ${DB3_BUILDLINK3_MK}+
@@ -17,15 +17,13 @@
 BUILDLINK_RECOMMENDED.db3+=    db3>=3.11.2nb3
 BUILDLINK_PKGSRCDIR.db3?=      ../../databases/db3
 BUILDLINK_INCDIRS.db3?=                include/db3
-BUILDLINK_LIBDIRS.db3?=                lib
+BUILDLINK_LDADD.db3=           -ldb3
 BUILDLINK_TRANSFORM+=          l:db-3:db3
-USE_DB185?=                    yes
-.  if !empty(USE_DB185:M[yY][eE][sS])
+
+.  if defined(USE_DB185) && !empty(USE_DB185:M[yY][eE][sS])
+BUILDLINK_LIBS.db3=            ${BUILDLINK_LDADD.db3}
 BUILDLINK_TRANSFORM+=          l:db:db3
-BUILDLINK_CPPFLAGS.db3=                -I${BUILDLINK_PREFIX.db3}/${BUILDLINK_INCDIRS.db3}
 .  endif
-BUILDLINK_LDFLAGS.db3=         -L${BUILDLINK_PREFIX.db3}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.db3}/lib
-BUILDLINK_LIBS.db3=            -ldb3
 .endif # DB3_BUILDLINK3_MK
 
 .include "../../mk/pthread.buildlink3.mk"
diff -r ec5648673ed5 -r 8f9ea4d69cdb databases/db4/buildlink3.mk
--- a/databases/db4/buildlink3.mk       Mon Nov 15 17:03:32 2004 +0000
+++ b/databases/db4/buildlink3.mk       Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.20 2004/11/15 15:07:14 jlam Exp $
+# $NetBSD: buildlink3.mk,v 1.21 2004/11/15 17:54:49 jlam Exp $
 
 BUILDLINK_DEPTH:=      ${BUILDLINK_DEPTH}+
 DB4_BUILDLINK3_MK:=    ${DB4_BUILDLINK3_MK}+
@@ -17,19 +17,17 @@
 BUILDLINK_RECOMMENDED.db4+=    db4>=4.2.52nb6
 BUILDLINK_PKGSRCDIR.db4?=      ../../databases/db4
 BUILDLINK_INCDIRS.db4?=                include/db4
-BUILDLINK_LIBDIRS.db4?=                lib
+BUILDLINK_LDADD.db4=           -ldb4
 BUILDLINK_TRANSFORM+=          l:db-4:db4
-USE_DB185?=                    yes
-.  if !empty(USE_DB185:M[yY][eE][sS])
+
+.  if defined(USE_DB185) && !empty(USE_DB185:M[yY][eE][sS])
 #
 # Older db4 packages didn't enable the db-1.85 compatibility API.
 #
 BUILDLINK_DEPENDS.db4+=                db4>=4.2.52nb1
+BUILDLINK_LIBS.db4=            ${BUILDLINK_LDADD.db4}
 BUILDLINK_TRANSFORM+=          l:db:db4
-BUILDLINK_CPPFLAGS.db4=                -I${BUILDLINK_PREFIX.db4}/${BUILDLINK_INCDIRS.db4}
 .  endif
-BUILDLINK_LDFLAGS.db4=         -L${BUILDLINK_PREFIX.db4}/lib ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.db4}/lib
-BUILDLINK_LIBS.db4=            -ldb4
 .endif # DB4_BUILDLINK3_MK
 
 .include "../../mk/pthread.buildlink3.mk"
diff -r ec5648673ed5 -r 8f9ea4d69cdb databases/openldap/options.mk
--- a/databases/openldap/options.mk     Mon Nov 15 17:03:32 2004 +0000
+++ b/databases/openldap/options.mk     Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: options.mk,v 1.6 2004/11/15 00:55:25 tv Exp $
+# $NetBSD: options.mk,v 1.7 2004/11/15 17:54:49 jlam Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.openldap
 PKG_SUPPORTED_OPTIONS= bdb dynamic kerberos sasl slp
@@ -10,7 +10,6 @@
 ### Whether to build with the Berkeley DB based slapd backends.
 ###
 .if !empty(PKG_OPTIONS:Mbdb)
-USE_DB185=             no
 BDB_ACCEPTED=          db4 # db3?
 .  include "../../mk/bdb.buildlink3.mk"
 CONFIGURE_ARGS+=       --enable-bdb --enable-hdb
diff -r ec5648673ed5 -r 8f9ea4d69cdb databases/p5-BerkeleyDB/Makefile
--- a/databases/p5-BerkeleyDB/Makefile  Mon Nov 15 17:03:32 2004 +0000
+++ b/databases/p5-BerkeleyDB/Makefile  Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2004/08/04 05:45:49 jlam Exp $
+# $NetBSD: Makefile,v 1.7 2004/11/15 17:54:49 jlam Exp $
 #
 
 DISTNAME=      BerkeleyDB-0.25
@@ -20,7 +20,7 @@
 
 MAKE_ENV+=     BERKELEYDB_INCLUDE="${BDBBASE}/include"
 MAKE_ENV+=     BERKELEYDB_LIB="${BDBBASE}/lib"
-MAKE_ENV+=     BERKELEYDB_NAME="${BUILDLINK_LIBS.bdb}"
+MAKE_ENV+=     BERKELEYDB_NAME="${BDB_LIBS}"
 
 .include "../../mk/bdb.buildlink3.mk"
 .include "../../lang/perl5/module.mk"
diff -r ec5648673ed5 -r 8f9ea4d69cdb lang/python20/Makefile
--- a/lang/python20/Makefile    Mon Nov 15 17:03:32 2004 +0000
+++ b/lang/python20/Makefile    Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.22 2004/10/31 13:23:03 recht Exp $
+# $NetBSD: Makefile,v 1.23 2004/11/15 17:54:49 jlam Exp $
 #
 
 DISTNAME=      Python-2.0.1
@@ -24,8 +24,6 @@
 GNU_CONFIGURE= yes
 CONFIGURE_ARGS+=       --without-threads
 INSTALL_TARGET=        altinstall
-# ensure that the bsddb185 module is built on all platforms
-USE_DB185=     yes
 
 # Make sure having environment variable OPT doesn't affect the
 # installed module-building Makefile
diff -r ec5648673ed5 -r 8f9ea4d69cdb lang/python23/Makefile.common
--- a/lang/python23/Makefile.common     Mon Nov 15 17:03:32 2004 +0000
+++ b/lang/python23/Makefile.common     Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.18 2004/10/30 16:17:53 grant Exp $
+# $NetBSD: Makefile.common,v 1.19 2004/11/15 17:54:49 jlam Exp $
 #
 
 DISTNAME=      Python-2.3.4
@@ -71,16 +71,10 @@
 .endif
 
 # ensure that the bsddb185 module is built on all platforms
-USE_DB185=     yes
 .include "../../mk/bdb.buildlink3.mk"
 MAKE_ENV+=     PY_BDB_TYPE=${BDB_TYPE}
-
-.if ${BDB_TYPE} == "native"
-MAKE_ENV+=     PY_BDB_INCDIRS=/usr/${_BDB_INCDIRS}
-.else
 MAKE_ENV+=     PY_BDB_INCDIRS=${BDBBASE}/${BUILDLINK_INCDIRS.${BDB_TYPE}}
 MAKE_ENV+=     PY_BDB_LIBDIRS=${BDBBASE}/lib
-.endif
 
 .if defined(BUILDLINK_TRANSFORM)
 MAKE_ENV+=     PY_BDB_TRANSFORM="${BUILDLINK_TRANSFORM}"
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/bogofilter/Makefile
--- a/mail/bogofilter/Makefile  Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/bogofilter/Makefile  Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.22 2004/10/26 05:41:41 snj Exp $
+# $NetBSD: Makefile,v 1.23 2004/11/15 17:54:49 jlam Exp $
 
 DISTNAME=      bogofilter-0.92.8
 CATEGORIES=    mail
@@ -23,6 +23,7 @@
 REPLACE_PERL=          src/bogoupgrade
 
 USE_DB185=             YES
+BDB_ACCEPTED=          db4
 
-.include "../../databases/db4/buildlink3.mk"
+.include "../../mk/bdb.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/cucipop/Makefile
--- a/mail/cucipop/Makefile     Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/cucipop/Makefile     Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.17 2004/11/15 15:34:16 jlam Exp $
+# $NetBSD: Makefile,v 1.18 2004/11/15 17:54:49 jlam Exp $
 #
 
 DISTNAME=      cucipop-1.31
@@ -35,7 +35,7 @@
 .if !empty(PKG_OPTIONS:Mdb)
 BDB_ACCEPTED=  db2
 CFLAGS+=       -DUSE_DB
-MAKE_ENV+=     LIBS=${BUILDLINK_LIBS.${BDB_TYPE}}
+MAKE_ENV+=     LIBS=${BDB_LIBS}
 .  include "../../mk/bdb.buildlink3.mk"
 .endif
 
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/cyrus-imapd21/Makefile
--- a/mail/cyrus-imapd21/Makefile       Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/cyrus-imapd21/Makefile       Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.24 2004/10/03 00:12:52 tv Exp $
+# $NetBSD: Makefile,v 1.25 2004/11/15 17:54:49 jlam Exp $
 
 DISTNAME=              cyrus-imapd-2.1.15
 PKGREVISION=           4
@@ -16,7 +16,6 @@
 USE_BUILDLINK3=                yes
 GNU_CONFIGURE=         yes
 PERL5_CONFIGURE=       no
-USE_DB185=             no
 AUTOCONF_REQD=         2.13
 
 USE_PKGINSTALL=                yes
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/cyrus-imapd22/Makefile
--- a/mail/cyrus-imapd22/Makefile       Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/cyrus-imapd22/Makefile       Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.23 2004/10/17 22:07:32 recht Exp $
+# $NetBSD: Makefile,v 1.24 2004/11/15 17:54:49 jlam Exp $
 
 DISTNAME=      cyrus-imapd-2.2.8
 PKGREVISION=   4
@@ -14,7 +14,6 @@
 USE_PKGLOCALEDIR=      yes
 GNU_CONFIGURE=         yes
 PERL5_CONFIGURE=       no
-USE_DB185=             no
 BDB_ACCEPTED=          db4 db3
 
 USE_PKGINSTALL=                yes
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/exim3/Makefile
--- a/mail/exim3/Makefile       Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/exim3/Makefile       Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.14 2004/10/29 05:59:24 jdolecek Exp $
+# $NetBSD: Makefile,v 1.15 2004/11/15 17:54:49 jlam Exp $
 
 DISTNAME=      exim-3.36
 PKGREVISION=   3
@@ -18,7 +18,7 @@
 USE_PKGINSTALL=        YES
 
 BUILD_DEFS+=           EXIM_USER EXIM_GROUP
-BUILD_DEFS+=           EXIM_DB.db1 EXIM_DB.mysql EXIM_DB.pgsql
+BUILD_DEFS+=           EXIM_DB.mysql EXIM_DB.pgsql
 
 PKG_SYSCONFSUBDIR?=    exim
 EGDIR=                 ${PREFIX}/share/examples/exim
@@ -42,14 +42,6 @@
 
 _LOOKUP_LIBS+=         ${LDFLAGS}
 
-# default to using db1 on platforms which have it.
-EXIM_DB.db1?=          YES
-.if ${EXIM_DB.db1} == "YES"
-USE_DB185=             YES
-.endif
-# does not compile with db4
-BDB_ACCEPTED=  native db3 db2
-
 .if defined(EXIM_DB.mysql) && ${EXIM_DB.mysql} == "YES"
 LOOKUP_INCLUDE+=       -I${BUILDLINK_PREFIX.mysql-client}/include/mysql
 LOOKUP_LIBS+=          -L${BUILDLINK_PREFIX.mysql-client}/lib/mysql
@@ -66,11 +58,9 @@
 .  include "../../mk/pgsql.buildlink3.mk"
 .endif
 
-# buildlink3 decides which libdb to use on this platform.
+BDB_ACCEPTED=  db1 db3 db2     # does not compile with db4
 .include "../../mk/bdb.buildlink3.mk"
-DBMLIB+=               ${BUILDLINK_CPPFLAGS.bdb}
-DBMLIB+=               ${BUILDLINK_LDFLAGS.bdb}
-DBMLIB+=               ${BUILDLINK_LIBS.bdb}
+DBMLIB+=               ${BDB_LIBS}
 
 MAKE_ENV+=             DBMLIB=${DBMLIB:Q}
 MAKE_ENV+=             LOOKUP_INCLUDE="${LOOKUP_INCLUDE}"
diff -r ec5648673ed5 -r 8f9ea4d69cdb mail/maildrop/Makefile
--- a/mail/maildrop/Makefile    Mon Nov 15 17:03:32 2004 +0000
+++ b/mail/maildrop/Makefile    Mon Nov 15 17:54:49 2004 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.20 2004/10/03 00:12:53 tv Exp $
+# $NetBSD: Makefile,v 1.21 2004/11/15 17:54:49 jlam Exp $
 
 DISTNAME=      maildrop-1.3.9
 PKGREVISION=   2
@@ -12,6 +12,7 @@
 
 USE_BUILDLINK3=        yes
 USE_DB185=     yes
+BDB_ACCEPTED=  db2



Home | Main Index | Thread Index | Old Index