summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2005-12-02 07:29:06 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2005-12-02 07:29:06 +0000
commit369530149ebc945ef7834f156196fa0d2c44f12d (patch)
tree37361ee9cc13af5e65a760be837e2385efa96b88 /sys-libs
parentFix bug #114223, bad perms on /usr/include/db1. (diff)
downloadgentoo-2-369530149ebc945ef7834f156196fa0d2c44f12d.tar.gz
gentoo-2-369530149ebc945ef7834f156196fa0d2c44f12d.tar.bz2
gentoo-2-369530149ebc945ef7834f156196fa0d2c44f12d.zip
Bug #113905, TXN support for DB-4.2, used for OpenLDAP data integrity.
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/db/ChangeLog8
-rw-r--r--sys-libs/db/Manifest5
-rw-r--r--sys-libs/db/db-4.2.52_p2-r1.ebuild124
-rw-r--r--sys-libs/db/files/db-4.2.52_p2-TXN.patch68
-rw-r--r--sys-libs/db/files/digest-db-4.2.52_p2-r13
5 files changed, 206 insertions, 2 deletions
diff --git a/sys-libs/db/ChangeLog b/sys-libs/db/ChangeLog
index fc5b1f6fdfe8..2c0d828a86d4 100644
--- a/sys-libs/db/ChangeLog
+++ b/sys-libs/db/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-libs/db
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/ChangeLog,v 1.137 2005/12/02 07:22:46 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/ChangeLog,v 1.138 2005/12/02 07:29:06 robbat2 Exp $
+
+*db-4.2.52_p2-r1 (02 Dec 2005)
+
+ 02 Dec 2005; Robin H. Johnson <robbat2@gentoo.org>
+ +files/db-4.2.52_p2-TXN.patch, +db-4.2.52_p2-r1.ebuild:
+ Bug #113905, TXN support for DB-4.2, used for OpenLDAP data integrity.
02 Dec 2005; Robin H. Johnson <robbat2@gentoo.org> db-1.85-r3.ebuild:
Fix bug #114223, bad perms on /usr/include/db1.
diff --git a/sys-libs/db/Manifest b/sys-libs/db/Manifest
index 6caef95d70cd..84ba9fc178b6 100644
--- a/sys-libs/db/Manifest
+++ b/sys-libs/db/Manifest
@@ -1,4 +1,4 @@
-MD5 45dab9cf2a16de4f40243c390eebcda6 ChangeLog 21742
+MD5 61e412fc71ab22356d934da7801c9f92 ChangeLog 21959
MD5 15e26e1303761aa1b814d1d46f930d74 db-1.85-r1.ebuild 1435
MD5 a0435de0fd1dacc747f315502eda91bc db-1.85-r2.ebuild 1467
MD5 07cb0fa276e96486ae19d33af10fe82f db-1.85-r3.ebuild 1269
@@ -9,6 +9,7 @@ MD5 b3cb97191214b2260603ee79ee1cc8e0 db-4.0.14-r3.ebuild 2480
MD5 08193a44b9ff7ab8193fd7874bca288e db-4.1.25_p1-r3.ebuild 2550
MD5 2b53b92447c5f06991103d07b2443168 db-4.1.25_p1-r4.ebuild 2706
MD5 3316d306f09820f7daaeed2a6b179eef db-4.2.52_p1.ebuild 2836
+MD5 97b96ecd7ea0127080cbccc6b869a942 db-4.2.52_p2-r1.ebuild 3004
MD5 fa0e2188b8f14d47bc85775d74115c76 db-4.2.52_p2.ebuild 2958
MD5 74f280853789512d578b7cb488c28733 db-4.3.27.ebuild 2917
MD5 86aca9a49a082dc56e4103ec8112f344 files/db-1.85-gentoo-paths.patch 684
@@ -22,6 +23,7 @@ MD5 75ba5de97737693cfdfe85908b5adfbd files/db-4.1.25-uclibc.patch 731
MD5 2bb2a5dbe8d16f858d177e1193639b70 files/db-4.1.25_p1-jarlocation.patch 626
MD5 3c47ce6ed92e948fbde232c1e3571f16 files/db-4.2-jarlocation.patch 599
MD5 4f68188f3bc051f50a85c5b72bab85c7 files/db-4.2-libtool.patch 665
+MD5 70bd9e597859c7bf6f624e495d50ad91 files/db-4.2.52_p2-TXN.patch 2328
MD5 b1df069d8d9a974fe864e681dc165cfc files/db-4.3-jarlocation.patch 599
MD5 fee87f3b3eb96ac9a15f44aa5ff1c08c files/db-4.3-libtool.patch 2161
MD5 72688c24d0217c7e214b816417d8ef97 files/db-4.3.27-fix-dep-link.patch 1179
@@ -37,6 +39,7 @@ MD5 f029f70f531ca67c16b62573d61de49e files/digest-db-4.1.25_p1-r3 118
MD5 f029f70f531ca67c16b62573d61de49e files/digest-db-4.1.25_p1-r4 118
MD5 35fa694f3db327e4fb015728aca6a082 files/digest-db-4.2.52_p1 118
MD5 68a677d9846ad3fc623f173581ff9aa5 files/digest-db-4.2.52_p2 175
+MD5 68a677d9846ad3fc623f173581ff9aa5 files/digest-db-4.2.52_p2-r1 175
MD5 e54996f4a19633179add94a051ebf900 files/digest-db-4.3.27 62
MD5 9cf113248f29b1e319ae73b266df4986 files/patch.3.2.9.1 2139
MD5 f8edd1cf6535cd62f9b8ff81e0474273 files/patch.3.2.9.2 495
diff --git a/sys-libs/db/db-4.2.52_p2-r1.ebuild b/sys-libs/db/db-4.2.52_p2-r1.ebuild
new file mode 100644
index 000000000000..8047f560304d
--- /dev/null
+++ b/sys-libs/db/db-4.2.52_p2-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/db/db-4.2.52_p2-r1.ebuild,v 1.1 2005/12/02 07:29:06 robbat2 Exp $
+
+inherit eutils gnuconfig db
+
+#Number of official patches
+#PATCHNO=`echo ${PV}|sed -e "s,\(.*_p\)\([0-9]*\),\2,"`
+PATCHNO=${PV/*.*.*_p}
+if [ "${PATCHNO}" == "${PV}" ]; then
+ MY_PV=${PV}
+ MY_P=${P}
+ PATCHNO=0
+else
+ MY_PV=${PV/_p${PATCHNO}}
+ MY_P=${PN}-${MY_PV}
+fi
+
+S=${WORKDIR}/${MY_P}/build_unix
+DESCRIPTION="Berkeley DB"
+HOMEPAGE="http://www.sleepycat.com/"
+SRC_URI="ftp://ftp.sleepycat.com/releases/${MY_P}.tar.gz"
+for (( i=1 ; i<=$PATCHNO ; i++ )) ; do
+ export SRC_URI="${SRC_URI} http://www.sleepycat.com/update/${MY_PV}/patch.${MY_PV}.${i}"
+done
+
+LICENSE="DB"
+SLOT="4.2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="tcltk java doc nocxx bootstrap"
+
+DEPEND="tcltk? ( >=dev-lang/tcl-8.4 )
+ java? ( virtual/jdk )"
+RDEPEND="tcltk? ( dev-lang/tcl )
+ java? ( virtual/jre )"
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+ cd ${WORKDIR}/${MY_P}
+ for (( i=1 ; i<=$PATCHNO ; i++ ))
+ do
+ epatch ${DISTDIR}/patch.${MY_PV}.${i}
+ done
+ epatch ${FILESDIR}/${PN}-${SLOT}-jarlocation.patch
+ epatch ${FILESDIR}/${PN}-${SLOT}-libtool.patch
+ epatch ${FILESDIR}/${PN}-4.0.14-fix-dep-link.patch
+ epatch ${FILESDIR}/${P}-TXN.patch
+
+ gnuconfig_update "${S}/../dist"
+
+ sed -i -e "s,\(ac_compiler\|\${MAKEFILE_CC}\|\${MAKEFILE_CXX}\|\$CC\)\( *--version\),\1 -dumpversion,g" ${S}/../dist/configure
+}
+
+src_compile() {
+ addwrite /proc/self/maps
+
+ local myconf=""
+
+ use amd64 && myconf="${myconf} --with-mutex=x86/gcc-assembly"
+
+ use bootstrap \
+ && myconf="${myconf} --disable-cxx" \
+ || myconf="${myconf} $(use_enable !nocxx cxx)"
+
+ use tcltk \
+ && myconf="${myconf} --enable-tcl --with-tcl=/usr/$(get_libdir)" \
+ || myconf="${myconf} --disable-tcl"
+
+ myconf="${myconf} $(use_enable java)"
+ if use java && [[ -n ${JAVAC} ]] ; then
+ export PATH=`dirname ${JAVAC}`:${PATH}
+ export JAVAC=`basename ${JAVAC}`
+ fi
+
+ [[ -n ${CBUILD} ]] && myconf="${myconf} --build=${CBUILD}"
+
+ ../dist/configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --datadir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --libdir=/usr/$(get_libdir) \
+ --enable-compat185 \
+ --with-uniquename \
+ --enable-rpc \
+ --host=${CHOST} \
+ ${myconf} || die "configure failed"
+
+ emake -j1 || die "make failed"
+}
+
+src_install() {
+
+ einstall libdir="${D}/usr/$(get_libdir)" || die
+
+ db_src_install_usrbinslot
+
+ db_src_install_headerslot
+
+ db_src_install_doc
+
+ db_src_install_usrlibcleanup
+
+ dodir /usr/sbin
+ mv ${D}/usr/bin/berkeley_db_svc ${D}/usr/sbin/berkeley_db42_svc
+
+ if use java; then
+ mkdir -p ${D}/usr/share/db
+ cat <<EOF >${D}/usr/share/db/package.env
+DESCRIPTION=The java bindings for berkeley db version ${MY_PV}
+CLASSPATH=:/usr/lib/db-${SLOT}.jar
+EOF
+ fi
+}
+
+pkg_postinst () {
+ db_fix_so
+}
+
+pkg_postrm () {
+ db_fix_so
+}
diff --git a/sys-libs/db/files/db-4.2.52_p2-TXN.patch b/sys-libs/db/files/db-4.2.52_p2-TXN.patch
new file mode 100644
index 000000000000..7ff8874c0ca8
--- /dev/null
+++ b/sys-libs/db/files/db-4.2.52_p2-TXN.patch
@@ -0,0 +1,68 @@
+This patch is intended to be applied to Berkeley DB 4.2.52 and,
+if applied, will automatically be used by slapd(8) back-bdb/hdb.
+Without this patch the BDB DB_LOG_AUTOREMOVE option will not work,
+nor will db_archive allow any transaction log files to be removed
+while slapd is running.
+
+The patch can be applied to the BDB source using patch(1) as follows
+ cd db-4.2.52
+ patch -p0 < openldap-src/build/BerkeleyDB42.patch
+
+(modify directory paths as necessary), then recompile and reinstall
+the BerkeleyDB 4.2 library, and then build and install OpenLDAP
+Software.
+
+The patch should not be applied to Berkeley DB 4.3.
+
+
+Index: dbinc/db.in
+===================================================================
+RCS file: /var/CVSROOT/bdb42/dbinc/db.in,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -u -r1.1.1.1 -r1.2
+--- dbinc/db.in 25 Nov 2003 21:58:02 -0000 1.1.1.1
++++ dbinc/db.in 17 Jul 2004 16:07:23 -0000 1.2
+@@ -839,6 +839,7 @@
+ #define TXN_NOWAIT 0x040 /* Do not wait on locks. */
+ #define TXN_RESTORED 0x080 /* Transaction has been restored. */
+ #define TXN_SYNC 0x100 /* Sync on prepare and commit. */
++#define TXN_NOLOG 0x200 /* Do not log this transaction. */
+ u_int32_t flags;
+ };
+
+Index: txn/txn.c
+===================================================================
+RCS file: /var/CVSROOT/bdb42/txn/txn.c,v
+retrieving revision 1.1.1.2
+retrieving revision 1.2
+diff -u -r1.1.1.2 -r1.2
+--- txn/txn.c 17 Dec 2003 21:43:53 -0000 1.1.1.2
++++ txn/txn.c 17 Jul 2004 16:07:27 -0000 1.2
+@@ -127,7 +127,7 @@
+ if ((ret = __db_fchk(dbenv,
+ "txn_begin", flags,
+ DB_DIRTY_READ | DB_TXN_NOWAIT |
+- DB_TXN_NOSYNC | DB_TXN_SYNC)) != 0)
++ DB_TXN_NOSYNC | DB_TXN_SYNC | DB_TXN_NOT_DURABLE)) != 0)
+ return (ret);
+ if ((ret = __db_fcchk(dbenv,
+ "txn_begin", flags, DB_TXN_NOSYNC, DB_TXN_SYNC)) != 0)
+@@ -193,6 +193,8 @@
+ F_SET(txn, TXN_SYNC);
+ if (LF_ISSET(DB_TXN_NOWAIT))
+ F_SET(txn, TXN_NOWAIT);
++ if (LF_ISSET(DB_TXN_NOT_DURABLE))
++ F_SET(txn, TXN_NOLOG);
+
+ if ((ret = __txn_begin_int(txn, 0)) != 0)
+ goto err;
+@@ -328,7 +330,7 @@
+ * We should set this value when we write the first log record, not
+ * here.
+ */
+- if (DBENV_LOGGING(dbenv))
++ if (DBENV_LOGGING(dbenv) && !F_ISSET(txn, TXN_NOLOG))
+ __log_txn_lsn(dbenv, &begin_lsn, NULL, NULL);
+ else
+ ZERO_LSN(begin_lsn);
diff --git a/sys-libs/db/files/digest-db-4.2.52_p2-r1 b/sys-libs/db/files/digest-db-4.2.52_p2-r1
new file mode 100644
index 000000000000..00d41e6281ca
--- /dev/null
+++ b/sys-libs/db/files/digest-db-4.2.52_p2-r1
@@ -0,0 +1,3 @@
+MD5 cbc77517c9278cdb47613ce8cb55779f db-4.2.52.tar.gz 4073147
+MD5 1227f5f9ff43d48b5b1759e113a1c2d7 patch.4.2.52.1 988
+MD5 3da7efd8d29919a9113e2f6f5166f5b7 patch.4.2.52.2 1433