summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2016-05-23 20:18:24 +0000
committerMatthias Andree <mandree@FreeBSD.org>2016-05-23 20:18:24 +0000
commit1b68d5eb0ccf36adc2ddc3545e89811c794dec49 (patch)
tree67ef596f1dd4b613f0c2354f161e8cbc7dcd455c
parentUpdate to 1.5.7 (diff)
Update to 6.2.23. Add TCL option. Cleanup.
Changes submitted by gahr@: Enable a new TCL option, adding a pkgIndex.tcl file. Modernize Makefile. [1] Changes by mandree@: Fix installation of TCL API docs if TCL option is enabled. Update to new upstream release 6.2.23. Install the upgrade61.sh script if SQL option is enabled, with additional fixes distributed as a patch to avoid licensing concerns. Add an UPDATING entry. Add changes in Mk/Uses/bdb.mk. db5 parts of PR 208740 to be committed in a separate transaction later. PR: 208740 Submitted by: gahr@
-rw-r--r--Mk/Uses/bdb.mk6
-rw-r--r--UPDATING30
-rw-r--r--databases/db6/Makefile87
-rw-r--r--databases/db6/distinfo5
-rw-r--r--databases/db6/files/patch-lang_sql_upgrade61.sh27
-rw-r--r--databases/db6/pkg-plist8
6 files changed, 109 insertions, 54 deletions
diff --git a/Mk/Uses/bdb.mk b/Mk/Uses/bdb.mk
index 520f634eabf7..a739515e3593 100644
--- a/Mk/Uses/bdb.mk
+++ b/Mk/Uses/bdb.mk
@@ -77,7 +77,7 @@ _DB_DEFAULTS+= 6
# Dependency lines for different db versions
db48_DEPENDS= libdb-4.8.so:databases/db48
db5_DEPENDS= libdb-5.3.so:databases/db5
-db6_DEPENDS= libdb-6.1.so:databases/db6
+db6_DEPENDS= libdb-6.2.so:databases/db6
# Detect db versions by finding some files
db48_FIND= ${LOCALBASE}/include/db48/db.h
db5_FIND= ${LOCALBASE}/include/db5/db.h
@@ -196,8 +196,8 @@ BDB_LIB_NAME= db-5.3
BDB_LIB_CXX_NAME= db_cxx-5.3
BDB_LIB_DIR= ${LOCALBASE}/lib/db5
. elif ${_BDB_VER} == 6
-BDB_LIB_NAME= db-6.1
-BDB_LIB_CXX_NAME= db_cxx-6.1
+BDB_LIB_NAME= db-6.2
+BDB_LIB_CXX_NAME= db_cxx-6.2
BDB_LIB_DIR= ${LOCALBASE}/lib/db6
. endif
BDB_LIB_NAME?= db${_BDB_VER}
diff --git a/UPDATING b/UPDATING
index 0a3d99431560..38a1707253d7 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,36 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20160523:
+ AFFECTS: Users of databases/db6
+ AUTHOR: mandree@FreeBSD.org
+
+ The databases/db6 port has been updated to release 6.2.23.
+
+ This requires manual action in two places:
+ 1. dependent applications need to be recompiled,
+ 2. SQL databases, if any, need to be reindexed.
+
+ To obtain a list of ports needing a recompilation,
+ the following command should provide it:
+
+ # pkg info -r db6
+
+ Then rebuild db6 and the dependent ports. For pkg users, this should
+ be transparent.
+
+ Portmaster users:
+ # portmaster -r databases/db6
+ Portupgrade users:
+ # portupgrade -fr databases/db6
+
+ In order to reindex SQL databases, a db6-upgrade61.sh script is
+ provided in ${PREFIX}/bin, if and only if the port's SQL option is
+ enabled. For detailed reindexing instructions, see
+ http://docs.oracle.com/cd/E17076_05/html/installation/sqlite_ver61.html
+ and note that the FreeBSD port installs the upgrade61.sh script with a
+ db6- prefix that you need to add.
+
20160511:
AFFECTS: Users of audio/clementine-player
AUTHOR: sbruno@FreeBSD.org
diff --git a/databases/db6/Makefile b/databases/db6/Makefile
index b5edd1588c29..4279e5befba8 100644
--- a/databases/db6/Makefile
+++ b/databases/db6/Makefile
@@ -2,10 +2,11 @@
# $FreeBSD$
PORTNAME= db6
-PORTVERSION= 6.1.26
+PORTVERSION= 6.2.23
CATEGORIES= databases java
MASTER_SITES= http://download.oracle.com/berkeley-db/
PKGNAMEPREFIX?=
+#
# the distfiles aren't named db6-* but db-*:
DISTNAME= db-${PORTVERSION}
DIST_SUBDIR= bdb
@@ -19,7 +20,6 @@ BDBVER= ${PORTVERSION:R}
BDBMAJ= ${BDBVER:R}
CONFIGURE_ARGS= --enable-cxx --enable-stl \
--enable-compat185 --enable-dump185 \
- --disable-tcl \
--includedir=${PREFIX}/include/${PORTNAME} \
--libdir=${PREFIX}/lib/${PORTNAME} \
--bindir=${PREFIX}/bin/${PORTNAME}
@@ -32,12 +32,33 @@ USE_LDCONFIG= yes
PLIST_SUB= BDBMAJ=${BDBMAJ} BDBVER=${BDBVER}
MAKE_ARGS+= docdir=${DOCSDIR}
-OPTIONS_DEFINE= CRYPTO L10N SQL JAVA DOCS
+OPTIONS_DEFINE= CRYPTO L10N SQL JAVA TCL DOCS
OPTIONS_DEFAULT=CRYPTO
+OPTIONS_SUB= yes
CRYPTO_DESC= Cryptography support
L10N_DESC= Localization support (EXPERIMENTAL)
SQL_DESC= Enable SQL API (EXPERIMENTAL)
+PORTDOCS= *
+
+DBLIBS= libdb libdb_cxx libdb_stl
+
+DEBUG_CONFIGURE_ENABLE= debug umrw
+CRYPTO_CONFIGURE_WITH= cryptography=yes
+L10N_CONFIGURE_ENABLE= localization
+SQL_CONFIGURE_ENABLE= sql sql_codegen
+SQL_VARS= DBLIBS+=libdb_sql
+JAVA_USE= java
+JAVA_VARS= DBLIBS+=libdb_java JAVA_VERSION=1.6+
+JAVA_CONFIGURE_ENABLE= java
+JAVA_CPPFLAGS= -I"${JAVA_HOME}/include"
+JAVA_CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}"
+TCL_CONFIGURE_ENABLE= tcl
+TCL_USES= tcl:85+
+TCL_CONFIGURE_WITH= tcl=${TCL_LIBDIR}
+TCL_VARS= DBLIBS+=libdb_tcl
+DOCS_INSTALL_TARGET= install_docs
+
.include <bsd.port.options.mk>
.if ${ARCH} == "aarch64" || ${ARCH:Marmv6*}
@@ -46,65 +67,21 @@ SQL_DESC= Enable SQL API (EXPERIMENTAL)
CONFIGURE_ARGS+= --enable-posixmutexes
.endif
-.if ${PORT_OPTIONS:MDOCS}
-INSTALL_TARGET+=install_docs
-PORTDOCS= *
-.endif
-
-.if ${PORT_OPTIONS:MSQL}
-CONFIGURE_ARGS+= --enable-sql_codegen --enable-sql
-PLIST_SUB+= SQL=""
-libdb_sql= libdb_sql
-.else
-PLIST_SUB+= SQL="@comment "
-libdb_sql=
-.endif
-
-.if ${PORT_OPTIONS:MJAVA}
-USE_JAVA= yes
-JAVA_VERSION= 1.6+
-CONFIGURE_ARGS+= --enable-java
-CPPFLAGS+= "-I${JAVA_HOME}/include"
-CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}"
-PLIST_SUB+= JAVA=""
-libdb_java= libdb_java
-.else
-PLIST_SUB+= JAVA="@comment "
-libdb_java=
-.endif
-
-.if ${PORT_OPTIONS:MCRYPTO}
-CONFIGURE_ARGS+= --with-cryptography=yes
-.else
-CONFIGURE_ARGS+= --with-cryptography=no
-.endif
-
-.if ${PORT_OPTIONS:ML10N}
-CONFIGURE_ARGS+= --enable-localization
-.endif
-
-.if ${PORT_OPTIONS:MDEBUG}
-CONFIGURE_ARGS+= --enable-debug --enable-umrw
-.endif
-
post-patch:
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' \
${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_* \
${WRKSRC}/../src/dbinc/atomic.h
+ ${REINPLACE_CMD} -e 's/%%BDBVER%%/${BDBVER}/' ${WRKSRC}/../lang/sql/upgrade61.sh
post-install:
-.for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
+.for i in ${DBLIBS}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so
${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${STAGEDIR}${PREFIX}/lib
${LN} -s -f ${i}-${BDBVER}.a ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}.a
.endfor
cd ${STAGEDIR}${PREFIX}/bin/${PORTNAME}; \
for i in *; do ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBVER} ; done
-.if ${PORT_OPTIONS:MDOCS}
-.for i in api_reference/TCL
- ${RM} -r -f ${STAGEDIR}${DOCSDIR}/${i}
-.endfor
.if empty(PORT_OPTIONS:MJAVA)
${RM} -r -f ${STAGEDIR}${DOCSDIR}/java
.for i in gsg gsg_db_rep gsg_txn
@@ -114,6 +91,18 @@ post-install:
.if empty(PORT_OPTIONS:MSQL)
${RM} -r -f ${STAGEDIR}${DOCSDIR}/bdb-sql
.endif
+.if !empty(PORT_OPTIONS:MTCL)
+ echo "package ifneeded Db_tcl ${BDBVER} \
+ [list load [file join $$dir libdb_tcl-${BDBVER}.so]] \
+ " > ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/pkgIndex.tcl
+.else
+.for i in api_reference/TCL
+ ${RM} -r -f ${STAGEDIR}${DOCSDIR}/${i}
+.endfor
.endif
+post-install-SQL-on:
+ ${INSTALL_SCRIPT} ${WRKSRC}/../lang/sql/upgrade61.sh \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-upgrade61.sh
+
.include <bsd.port.mk>
diff --git a/databases/db6/distinfo b/databases/db6/distinfo
index bca1baba16c9..f1fd4f27af3d 100644
--- a/databases/db6/distinfo
+++ b/databases/db6/distinfo
@@ -1,2 +1,3 @@
-SHA256 (bdb/db-6.1.26.tar.gz) = dd1417af5443f326ee3998e40986c3c60e2a7cfb5bfa25177ef7cadb2afb13a6
-SIZE (bdb/db-6.1.26.tar.gz) = 37495772
+TIMESTAMP = 1464030344
+SHA256 (bdb/db-6.2.23.tar.gz) = 47612c8991aa9ac2f6be721267c8d3cdccf5ac83105df8e50809daea24e95dc7
+SIZE (bdb/db-6.2.23.tar.gz) = 44305964
diff --git a/databases/db6/files/patch-lang_sql_upgrade61.sh b/databases/db6/files/patch-lang_sql_upgrade61.sh
new file mode 100644
index 000000000000..0867a8ba9332
--- /dev/null
+++ b/databases/db6/files/patch-lang_sql_upgrade61.sh
@@ -0,0 +1,27 @@
+--- ../lang/sql/upgrade61.sh 2016-03-28 21:45:53.000000000 +0200
++++ ../../db6-upgrade61.sh 2016-05-23 21:55:49.741020000 +0200
+@@ -1,12 +1,19 @@
+ #!/bin/sh
+ # This script upgrades SQL databases from BDB 5.0 to early 6.1
+ # to late 6.1 and up by reindexing them.
++#
++# Originally provided by Oracle as part of the Oracle BerkeleyDB
++# 12.1.6.* tarballs.
+ #
++# Bugfixed for proper quoting and error checking
++# by Matthias Andree <mandree@FreeBSD.org>
+
+-for var in $@
++rc=0
++for var in "$@"
+ do
+- echo Recovering database $var
+- db_recover -f -h ${var}-journal
+- echo Reindexing database $var
+- echo .quit | dbsql -cmd REINDEX $var
++ echo "Recovering database $var"
++ db_recover-%%BDBVER%% -f -h "${var}-journal" || { rc=1 ; continue ; }
++ echo "Reindexing database $var"
++ echo .quit | dbsql-%%BDBVER%% -cmd REINDEX "$var" || rc=1
+ done
++exit $rc
diff --git a/databases/db6/pkg-plist b/databases/db6/pkg-plist
index a3f88cd779e9..7d573fa5ee4a 100644
--- a/databases/db6/pkg-plist
+++ b/databases/db6/pkg-plist
@@ -14,6 +14,7 @@ bin/db%%BDBMAJ%%/db_stat
bin/db%%BDBMAJ%%/db_tuner
bin/db%%BDBMAJ%%/db_upgrade
bin/db%%BDBMAJ%%/db_verify
+%%SQL%%bin/db%%BDBMAJ%%-upgrade61.sh
%%SQL%%bin/db%%BDBMAJ%%/dbsql
bin/db_archive-%%BDBVER%%
bin/db_checkpoint-%%BDBVER%%
@@ -81,3 +82,10 @@ lib/libdb_cxx-%%BDBVER%%.so
%%JAVA%%lib/libdb_java-%%BDBVER%%.so
%%SQL%%lib/libdb_sql-%%BDBVER%%.so
lib/libdb_stl-%%BDBVER%%.so
+%%TCL%%lib/db6/libdb_tcl-%%BDBVER%%.a
+%%TCL%%lib/db6/libdb_tcl-%%BDBVER%%.so
+%%TCL%%lib/db6/libdb_tcl-6.so
+%%TCL%%lib/db6/libdb_tcl.a
+%%TCL%%lib/db6/libdb_tcl.so
+%%TCL%%lib/db6/pkgIndex.tcl
+%%TCL%%lib/libdb_tcl-%%BDBVER%%.so