rpms/libdb/devel db-1.85-errno.patch, NONE, 1.1 db-4.5.20-jni-include-dir.patch, NONE, 1.1 db-4.6.21-1.85-compat.patch, NONE, 1.1 import.log, NONE, 1.1 libdb.spec, NONE, 1.1 patch.1.1, NONE, 1.1 patch.1.2, NONE, 1.1 patch.1.3, NONE, 1.1 patch.1.4, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Jindrich Novy jnovy at fedoraproject.org
Wed Apr 21 04:53:25 UTC 2010


Author: jnovy

Update of /cvs/pkgs/rpms/libdb/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv22381/devel

Modified Files:
	.cvsignore sources 
Added Files:
	db-1.85-errno.patch db-4.5.20-jni-include-dir.patch 
	db-4.6.21-1.85-compat.patch import.log libdb.spec patch.1.1 
	patch.1.2 patch.1.3 patch.1.4 
Log Message:
initial import

db-1.85-errno.patch:
 hash.c |   14 +++++++-------
 hash.h |    2 +-
 ndbm.c |    4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

--- NEW FILE db-1.85-errno.patch ---
glibc doesn't like errno as the name of a field.
--- db.1.85/hash/hash.h	Mon Feb 18 19:12:14 2002
+++ db.1.85/hash/hash.h	Mon Feb 18 19:12:20 2002
@@ -103,7 +103,7 @@
 	BUFHEAD 	*cpage;		/* Current page */
 	int		cbucket;	/* Current bucket */
 	int		cndx;		/* Index of next item on cpage */
-	int		errno;		/* Error Number -- for DBM 
+	int		err;		/* Error Number -- for DBM 
 					 * compatability */
 	int		new_file;	/* Indicates if fd is backing store 
 					 * or no */
--- db.1.85/hash/hash.c	Mon Feb 18 19:12:24 2002
+++ db.1.85/hash/hash.c	Mon Feb 18 19:12:44 2002
@@ -505,7 +505,7 @@
 	else
 		if (wsize != sizeof(HASHHDR)) {
 			errno = EFTYPE;
-			hashp->errno = errno;
+			hashp->err = errno;
 			return (-1);
 		}
 	for (i = 0; i < NCACHED; i++)
@@ -536,7 +536,7 @@
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag) {
-		hashp->errno = errno = EINVAL;
+		hashp->err = errno = EINVAL;
 		return (ERROR);
 	}
 	return (hash_access(hashp, HASH_GET, (DBT *)key, data));
@@ -553,11 +553,11 @@
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_NOOVERWRITE) {
-		hashp->errno = errno = EINVAL;
+		hashp->err = errno = EINVAL;
 		return (ERROR);
 	}
 	if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-		hashp->errno = errno = EPERM;
+		hashp->err = errno = EPERM;
 		return (ERROR);
 	}
 	return (hash_access(hashp, flag == R_NOOVERWRITE ?
@@ -574,11 +574,11 @@
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_CURSOR) {
-		hashp->errno = errno = EINVAL;
+		hashp->err = errno = EINVAL;
 		return (ERROR);
 	}
 	if ((hashp->flags & O_ACCMODE) == O_RDONLY) {
-		hashp->errno = errno = EPERM;
+		hashp->err = errno = EPERM;
 		return (ERROR);
 	}
 	return (hash_access(hashp, HASH_DELETE, (DBT *)key, NULL));
@@ -729,7 +729,7 @@
 
 	hashp = (HTAB *)dbp->internal;
 	if (flag && flag != R_FIRST && flag != R_NEXT) {
-		hashp->errno = errno = EINVAL;
+		hashp->err = errno = EINVAL;
 		return (ERROR);
 	}
 #ifdef HASH_STATISTICS
--- db.1.85/hash/ndbm.c	Mon Feb 18 19:12:58 2002
+++ db.1.85/hash/ndbm.c	Mon Feb 18 19:13:05 2002
@@ -180,7 +180,7 @@
 	HTAB *hp;
 
 	hp = (HTAB *)db->internal;
-	return (hp->errno);
+	return (hp->err);
 }
 
 extern int
@@ -190,7 +190,7 @@
 	HTAB *hp;
 
 	hp = (HTAB *)db->internal;
-	hp->errno = 0;
+	hp->err = 0;
 	return (0);
 }
 

db-4.5.20-jni-include-dir.patch:
 configure.ac |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE db-4.5.20-jni-include-dir.patch ---
diff -up db-4.7.25/dist/configure.ac.jni db-4.7.25/dist/configure.ac
--- db-4.7.25/dist/configure.ac.jni	2008-08-20 14:22:59.000000000 +0200
+++ db-4.7.25/dist/configure.ac	2008-08-20 14:23:39.000000000 +0200
@@ -418,7 +418,7 @@ if test "$db_cv_java" = "yes"; then
 	AC_PROG_JAVAC
 	AC_PROG_JAR
 	AC_PROG_JAVA
-	AC_JNI_INCLUDE_DIR
+	JNI_INCLUDE_DIRS="/usr/lib/jvm/java-1.5.0-gcj/include"
 
 	AC_MSG_CHECKING(java version)
         case "$JAVA" in

db-4.6.21-1.85-compat.patch:
 Makefile.in |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE db-4.6.21-1.85-compat.patch ---
diff -up db-5.0.21/dist/Makefile.in.185compat db-5.0.21/dist/Makefile.in
--- db-5.0.21/dist/Makefile.in.185compat	2010-03-30 19:36:10.000000000 +0200
+++ db-5.0.21/dist/Makefile.in	2010-04-01 08:03:05.000000000 +0200
@@ -186,8 +186,8 @@ libtso_major=	$(libtcl_base)-$(LIBMAJOR)
 # local libraries, for example.  Do that by adding -I options to the DB185INC
 # line, and -l options to the DB185LIB line.
 ##################################################
-DB185INC=	-c @CFLAGS@ -I$(srcdir) @CPPFLAGS@
-DB185LIB=
+DB185INC=	-c @CFLAGS@ -I$(srcdir) -I$(srcdir)/db.1.85/PORT/linux/include @CPPFLAGS@
+DB185LIB=	${srcdir}/db.1.85/PORT/linux/libdb.a
 
 ##################################################
 # Event tracing definitions


--- NEW FILE import.log ---
libdb-5_0_21-1_fc13:HEAD:libdb-5.0.21-1.fc13.src.rpm:1271825538


--- NEW FILE libdb.spec ---
# the set of arches on which libgcj provides gcj and libgcj-javac-placeholder.sh
%define java_arches %{ix86} alpha ia64 ppc sparc sparcv9 x86_64 s390 s390x
%define __soversion_major 5
%define __soversion %{__soversion_major}.0

Summary: The Berkeley DB database library for C
Name: libdb
Version: 5.0.21
Release: 1%{?dist}
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
# db-1.85 upstream patches
Patch10: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.1
Patch11: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.2
Patch12: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.3
Patch13: http://www.oracle.com/technology/products/berkeley-db/db/update/1.85/patch.1.4
# other patches
Patch20: db-1.85-errno.patch
Patch22: db-4.6.21-1.85-compat.patch
Patch24: db-4.5.20-jni-include-dir.patch
URL: http://www.oracle.com/database/berkeley-db/
License: BSD
Group: System Environment/Libraries
# unversioned obsoletes are OK here as these BDB versions never occur again
BuildRequires: perl, libtool, ed
BuildRequires: tcl-devel >= 8.5.2-3
%ifarch %{java_arches}
BuildRequires: gcc-java
BuildRequires: java-1.6.0-openjdk-devel
%endif
BuildRequires: chrpath
BuildRequires: dos2unix
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. The Berkeley DB includes B+tree, Extended
Linear Hashing, Fixed and Variable-length record access methods,
transactions, locking, logging, shared memory caching, and database
recovery. The Berkeley DB supports C, C++, Java, and Perl APIs. It is
used by many applications, including Python and Perl, so this should
be installed on all systems.

%package cxx
Summary: The Berkeley DB database library for C++
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}

%description cxx
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. The Berkeley DB includes B+tree, Extended
Linear Hashing, Fixed and Variable-length record access methods,
transactions, locking, logging, shared memory caching, and database
recovery. The Berkeley DB supports C, C++, Java, and Perl APIs. It is
used by many applications, including Python and Perl, so this should
be installed on all systems.

%package utils
Summary: Command line tools for managing Berkeley DB databases
Group: Applications/Databases
Requires: %{name} = %{version}-%{release}

%description utils
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. Berkeley DB includes B+tree, Extended
Linear Hashing, Fixed and Variable-length record access methods,
transactions, locking, logging, shared memory caching, and database
recovery. DB supports C, C++, Java and Perl APIs.

%package devel
Summary: C development files for the Berkeley DB library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description devel
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. This package contains the header files,
libraries, and documentation for building programs which use the
Berkeley DB.

%package devel-static
Summary: Berkeley DB static libraries
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description devel-static
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. This package contains static libraries
needed for applications that require static linking of
Berkeley DB.

%package tcl
Summary: Development files for using the Berkeley DB with tcl
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description tcl
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. This package contains the libraries
for building programs which use the Berkeley DB in Tcl.

%package sql
Summary: Development files for using the Berkeley DB with sql
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description sql
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. This package contains the libraries
for building programs which use the Berkeley DB in SQL.

%package java
Summary: Development files for using the Berkeley DB with Java
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description java
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
provides embedded database support for both traditional and
client/server applications. This package contains the libraries
for building programs which use the Berkeley DB in Java.

%prep
%setup -q -n db-%{version} -a 1

pushd db.1.85/PORT/linux
%patch10 -p0 -b .1.1
popd
pushd db.1.85
%patch11 -p0 -b .1.2
%patch12 -p0 -b .1.3
%patch13 -p0 -b .1.4
%patch20 -p1 -b .errno
popd

%patch22 -p1 -b .185compat
%patch24 -p1 -b .4.5.20.jni

# fix encoding
dos2unix examples_c/bench_001.c

# Define a shell function for fixing HREF references in the docs, which
# would otherwise break when we split the docs up into subpackages.
fixup_href() {
	for doc in $@ ; do
		chmod u+w ${doc}
		sed	-e 's,="../api_c/,="../../%{name}-devel-%{version}/api_c/,g' \
			-e 's,="api_c/,="../%{name}-devel-%{version}/api_c/,g' \
			-e 's,="../api_cxx/,="../../%{name}-devel-%{version}/api_cxx/,g' \
			-e 's,="api_cxx/,="../%{name}-devel-%{version}/api_cxx/,g' \
			-e 's,="../api_tcl/,="../../%{name}-devel-%{version}/api_tcl/,g' \
			-e 's,="api_tcl/,="../%{name}-devel-%{version}/api_tcl/,g' \
			-e 's,="../java/,="../../%{name}-devel-%{version}/java/,g' \
			-e 's,="java/,="../%{name}-devel-%{version}/java/,g' \
			-e 's,="../examples_c/,="../../%{name}-devel-%{version}/examples_c/,g' \
			-e 's,="examples_c/,="../%{name}-devel-%{version}/examples_c/,g' \
			-e 's,="../examples_cxx/,="../../%{name}-devel-%{version}/examples_cxx/,g' \
			-e 's,="examples_cxx/,="../%{name}-devel-%{version}/examples_cxx/,g' \
			-e 's,="../ref/,="../../%{name}-devel-%{version}/ref/,g' \
			-e 's,="ref/,="../%{name}-devel-%{version}/ref/,g' \
			-e 's,="../images/,="../../%{name}-devel-%{version}/images/,g' \
			-e 's,="images/,="../%{name}-devel-%{version}/images/,g' \
			-e 's,="../utility/,="../../%{name}-utils-%{version}/utility/,g' \
			-e 's,="utility/,="../%{name}-utils-%{version}/utility/,g' ${doc} > ${doc}.new
		touch -r ${doc} ${doc}.new
		cat ${doc}.new > ${doc}
		touch -r ${doc}.new ${doc}
		rm -f ${doc}.new
	done
}

set +x
# Fix all of the HTML files.
fixup_href `find . -name "*.html"`
set -x

cd dist
./s_config

%build
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"; export CFLAGS

# Build the old db-185 libraries.
make -C db.1.85/PORT/%{_os} OORG="$CFLAGS"

build() {
	test -d dist/$1 || mkdir dist/$1
	# Static link db_dump185 with old db-185 libraries.
	/bin/sh libtool --mode=compile	%{__cc} $RPM_OPT_FLAGS -Idb.1.85/PORT/%{_os}/include -D_REENTRANT -c db_dump185/db_dump185.c -o dist/$1/db_dump185.lo
	/bin/sh libtool --mode=link	%{__cc} -o dist/$1/db_dump185 dist/$1/db_dump185.lo db.1.85/PORT/%{_os}/libdb.a

	pushd dist
	popd
	pushd dist/$1
	ln -sf ../configure .
	# XXX --enable-diagnostic should be disabled for production (but is
	# useful).
	# XXX --enable-debug_{r,w}op should be disabled for production.
	%configure -C \
		--enable-compat185 --enable-dump185 \
		--enable-shared --enable-static \
		--enable-tcl --with-tcl=%{_libdir} \
		--enable-cxx --enable-sql \
%ifarch %{java_arches}
		--enable-java \
%else
		--disable-java \
%endif
		--enable-test \
		--with-tcl=%{_libdir}/tcl8.5 \
		--disable-rpath \
		# --enable-diagnostic \
		# --enable-debug --enable-debug_rop --enable-debug_wop \

	# Remove libtool predep_objects and postdep_objects wonkiness so that
	# building without -nostdlib doesn't include them twice.  Because we
	# already link with g++, weird stuff happens if you don't let the
	# compiler handle this.
	perl -pi -e 's/^predep_objects=".*$/predep_objects=""/' libtool
	perl -pi -e 's/^postdep_objects=".*$/postdep_objects=""/' libtool
	perl -pi -e 's/-shared -nostdlib/-shared/' libtool

	make %{?_smp_mflags}

	# XXX hack around libtool not creating ./libs/libdb_java-X.Y.lai
	LDBJ=./.libs/libdb_java-%{__soversion}.la
	if test -f ${LDBJ} -a ! -f ${LDBJ}i; then
		sed -e 's,^installed=no,installed=yes,' < ${LDBJ} > ${LDBJ}i
	fi

	popd
}

build dist-tls

%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}

%makeinstall -C dist/dist-tls

# XXX Nuke non-versioned archives and symlinks
rm -f ${RPM_BUILD_ROOT}%{_libdir}/{libdb.a,libdb_cxx.a,libdb_tcl.a,libdb_sql.a}
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libdb-%{__soversion_major}.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libdb_cxx-%{__soversion_major}.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libdb_tcl-%{__soversion_major}.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libdb_sql-%{__soversion_major}.so
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libdb_tcl.so

chmod +x ${RPM_BUILD_ROOT}%{_libdir}/*.so*

# Move the main shared library from /usr/lib* to /lib* directory.
if [ "%{_libdir}" != "/%{_lib}" ]; then
  mkdir -p $RPM_BUILD_ROOT/%{_lib}/
  mv $RPM_BUILD_ROOT/%{_libdir}/libdb-%{__soversion}.so $RPM_BUILD_ROOT/%{_lib}/

# Leave relative symlinks in %{_libdir}.
  touch $RPM_BUILD_ROOT/rootfile
  root=..
  while [ ! -e $RPM_BUILD_ROOT/%{_libdir}/${root}/rootfile ] ; do
	root=${root}/..
  done
  rm $RPM_BUILD_ROOT/rootfile

  ln -sf ${root}/%{_lib}/libdb-%{__soversion}.so $RPM_BUILD_ROOT/%{_libdir}/libdb.so
  ln -sf ${root}/%{_lib}/libdb-%{__soversion}.so $RPM_BUILD_ROOT/%{_libdir}/
  ln -sf libdb_cxx-%{__soversion}.so $RPM_BUILD_ROOT/%{_libdir}/libdb_cxx.so
fi

# Move the header files to a subdirectory, in case we're deploying on a
# system with multiple versions of DB installed.
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/%{name}
mv ${RPM_BUILD_ROOT}%{_includedir}/*.h ${RPM_BUILD_ROOT}%{_includedir}/%{name}/

# Create symlinks to includes so that "use <db.h> and link with -ldb" works.
for i in db.h db_cxx.h db_185.h; do
	ln -s %{name}/$i ${RPM_BUILD_ROOT}%{_includedir}
done

%ifarch %{java_arches}
# Move java jar file to the correct place
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/java
mv ${RPM_BUILD_ROOT}%{_libdir}/*.jar ${RPM_BUILD_ROOT}%{_datadir}/java
%endif

# Eliminate installed doco
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/docs

# XXX Avoid Permission denied. strip when building as non-root.
chmod u+w ${RPM_BUILD_ROOT}%{_bindir} ${RPM_BUILD_ROOT}%{_bindir}/*

# remove unneeded .la files (#225675)
rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la

# remove C# devel files
rm -rf docs/csharp

# avoid fancy permissons
chmod 0755 ${RPM_BUILD_ROOT}%{_libdir}/*.so

# remove RPATHs
chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so ${RPM_BUILD_ROOT}%{_bindir}/*

%clean
rm -rf ${RPM_BUILD_ROOT}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%post -p /sbin/ldconfig cxx

%postun -p /sbin/ldconfig cxx

%post -p /sbin/ldconfig sql

%postun -p /sbin/ldconfig sql

%post -p /sbin/ldconfig tcl

%postun -p /sbin/ldconfig tcl

%post -p /sbin/ldconfig java

%postun -p /sbin/ldconfig java

%files
%defattr(-,root,root,-)
%doc LICENSE README
/%{_lib}/libdb-%{__soversion}.so
%{_libdir}/libdb-%{__soversion}.so

%files cxx
%defattr(-,root,root,-)
%{_libdir}/libdb_cxx-%{__soversion}.so

%files utils
%defattr(-,root,root,-)
%{_bindir}/db*_archive
%{_bindir}/db*_checkpoint
%{_bindir}/db*_deadlock
%{_bindir}/db*_dump*
%{_bindir}/db*_hotbackup
%{_bindir}/db*_load
%{_bindir}/db*_printlog
%{_bindir}/db*_recover
%{_bindir}/db*_stat
%{_bindir}/db*_upgrade
%{_bindir}/db*_verify

%files devel
%defattr(-,root,root,-)
%doc	docs/*
%doc	examples_c examples_cxx
%{_libdir}/libdb.so
%{_libdir}/libdb_cxx.so
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/db.h
%{_includedir}/%{name}/db_185.h
%{_includedir}/%{name}/db_cxx.h
%{_includedir}/db.h
%{_includedir}/db_185.h
%{_includedir}/db_cxx.h

%files devel-static
%defattr(-,root,root,-)
%{_libdir}/libdb-%{__soversion}.a
%{_libdir}/libdb_cxx-%{__soversion}.a
%{_libdir}/libdb_tcl-%{__soversion}.a
%{_libdir}/libdb_sql-%{__soversion}.a
%ifarch %{java_arches}
%{_libdir}/libdb_java-%{__soversion}.a
%endif

%files tcl
%defattr(-,root,root,-)
%{_libdir}/libdb_tcl-%{__soversion}.so

%files sql
%defattr(-,root,root,-)
%{_bindir}/dbsql
%{_libdir}/libdb_sql.so
%{_libdir}/libdb_sql-%{__soversion}.so
%{_includedir}/%{name}/dbsql.h

%ifarch %{java_arches}
%files java
%defattr(-,root,root,-)
%doc docs/java
%doc examples_java
%{_libdir}/libdb_java*.so
%{_datadir}/java/*.jar
%endif

%changelog
* Wed Apr 21 2010 Jindrich Novy <jnovy at redhat.com> 5.0.21-1
- initial build

* Thu Apr 15 2010 Jindrich Novy <jnovy at redhat.com> 5.0.21-0.2
- remove C# documentation
- disable/remove rpath
- fix description
- tighten dependencies
- run ldconfig for cxx and sql subpackages

* Fri Apr  9 2010 Jindrich Novy <jnovy at redhat.com> 5.0.21-0.1
- enable sql
- package 5.0.21


--- NEW FILE patch.1.1 ---
*** Makefile.orig	Wed Jul 13 21:43:16 1994
--- Makefile	Wed Dec 31 19:00:00 1969
***************
*** 15,22 ****
  
  ${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
  	rm -f $@
! 	ar cq $@ \
! 	    `lorder ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC} | tsort`
  	ranlib $@
  
  clean:
--- 15,21 ----
  
  ${LIBDB}: ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
  	rm -f $@
! 	ar cq $@ ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
  	ranlib $@
  
  clean:


--- NEW FILE patch.1.2 ---
*** btree/bt_split.c	Tue Jul 26 14:22:02 1994
--- btree/bt_split.c	Sat Jan  4 14:38:55 1997
***************
*** 673,679 ****
  		 * where we decide to try and copy too much onto the left page.
  		 * Make sure that doesn't happen.
  		 */
! 		if (skip <= off && used + nbytes >= full) {
  			--off;
  			break;
  		}
--- 673,679 ----
  		 * where we decide to try and copy too much onto the left page.
  		 * Make sure that doesn't happen.
  		 */
! 		if (skip <= off && used + nbytes >= full || nxt == top - 1) {
  			--off;
  			break;
  		}


--- NEW FILE patch.1.3 ---
*** btree/bt_split.c.orig	Sat Feb  8 10:14:10 1997
--- btree/bt_split.c	Sat Feb  8 10:14:51 1997
***************
*** 673,679 ****
  		 * where we decide to try and copy too much onto the left page.
  		 * Make sure that doesn't happen.
  		 */
! 		if (skip <= off && used + nbytes >= full || nxt == top - 1) {
  			--off;
  			break;
  		}
--- 673,680 ----
  		 * where we decide to try and copy too much onto the left page.
  		 * Make sure that doesn't happen.
  		 */
! 		if (skip <= off &&
! 		    used + nbytes + sizeof(indx_t) >= full || nxt == top - 1) {
  			--off;
  			break;
  		}
***************
*** 686,692 ****
  			memmove((char *)l + l->upper, src, nbytes);
  		}
  
! 		used += nbytes;
  		if (used >= half) {
  			if (!isbigkey || bigkeycnt == 3)
  				break;
--- 687,693 ----
  			memmove((char *)l + l->upper, src, nbytes);
  		}
  
! 		used += nbytes + sizeof(indx_t);
  		if (used >= half) {
  			if (!isbigkey || bigkeycnt == 3)
  				break;


--- NEW FILE patch.1.4 ---
*** btree/bt_page.c.orig	Wed Jul 13 21:29:02 1994
--- btree/bt_page.c	Wed Jun 11 20:14:43 1997
***************
*** 65,70 ****
--- 65,71 ----
  	h->prevpg = P_INVALID;
  	h->nextpg = t->bt_free;
  	t->bt_free = h->pgno;
+ 	F_SET(t, B_METADIRTY);
  
  	/* Make sure the page gets written back. */
  	return (mpool_put(t->bt_mp, h, MPOOL_DIRTY));
***************
*** 92,97 ****
--- 93,99 ----
  	    (h = mpool_get(t->bt_mp, t->bt_free, 0)) != NULL) {
  		*npg = t->bt_free;
  		t->bt_free = h->nextpg;
+ 		F_SET(t, B_METADIRTY);
  		return (h);
  	}
  	return (mpool_new(t->bt_mp, npg));


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/libdb/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	21 Apr 2010 04:17:05 -0000	1.1
+++ .cvsignore	21 Apr 2010 04:53:25 -0000	1.2
@@ -0,0 +1,2 @@
+db-5.0.21.tar.gz
+db.1.85.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/libdb/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	21 Apr 2010 04:17:05 -0000	1.1
+++ sources	21 Apr 2010 04:53:25 -0000	1.2
@@ -0,0 +1,2 @@
+9a749fd2e98fe15840493ddc34cc66d8  db-5.0.21.tar.gz
+42cc6c1e1e25818bd3e3f91328edb0f1  db.1.85.tar.gz



More information about the scm-commits mailing list