- updated URLs
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 11 Dec 2011 06:28:20 +0000 (06:28 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- added 4.4.20.3,4.4.20.4 patches
- java enabled by default
- updated for libtool 2.x

Changed files:
    db4.4.spec -> 1.11
    patch.4.4.20.3 -> 1.1
    patch.4.4.20.4 -> 1.1

db4.4.spec
patch.4.4.20.3 [new file with mode: 0644]
patch.4.4.20.4 [new file with mode: 0644]

index 3080876..1d612fb 100644 (file)
@@ -1,33 +1,33 @@
 #
 # Conditional build:
-%bcond_with    java    # build db-java
-%bcond_without tcl     # don't build Tcl bindings
-%bcond_with    pmutex  # use POSIX mutexes (only process-private with linuxthreads)
-%bcond_without nptl    # don't use process-shared POSIX mutexes (NPTL provides full interface)
+%bcond_without java            # don't build Java library
+%bcond_without tcl             # don't build Tcl bindings
+%bcond_with    pmutex          # use POSIX mutexes (only process-private with linuxthreads)
+%bcond_without nptl            # don't use process-shared POSIX mutexes (NPTL provides full interface)
 %bcond_without static_libs     # don't build static libraries
 #
+%define                ver             4.4.20
+%define                patchlevel      4
 %{?with_nptl:%define   with_pmutex     1}
 Summary:       Berkeley DB database library for C
 Summary(pl.UTF-8):     Biblioteka C do obsługi baz Berkeley DB
 Name:          db4.4
-Version:       4.4.20
-Release:       2
+Version:       %{ver}.%{patchlevel}
+Release:       1
 Epoch:         0
 License:       Sleepycat public license (GPL-like, see LICENSE)
 Group:         Libraries
-# alternative site (sometimes working): http://www.berkeleydb.com/
-#Source0Download: http://dev.sleepycat.com/downloads/releasehistorybdb.html
-Source0:       http://downloads.sleepycat.com/db-%{version}.tar.gz
+#Source0Download: http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.html
+Source0:       http://download.oracle.com/berkeley-db/db-%{ver}.tar.gz
 # Source0-md5: d84dff288a19186b136b0daf7067ade3
-Patch0:                http://www.sleepycat.com/update/4.4.20/patch.4.4.20.1
-Patch1:                http://www.sleepycat.com/update/4.4.20/patch.4.4.20.2
-URL:           http://www.sleepycat.com/
+%patchset_source -f http://download.oracle.com/berkeley-db/patches/db/%{ver}/patch.%{ver}.%g 1 %{patchlevel}
+URL:           http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: ed
 %{?with_java:BuildRequires:    jdk}
 BuildRequires: libstdc++-devel
-BuildRequires: libtool
+BuildRequires: libtool >= 2:2.2
 BuildRequires: sed >= 4.0
 %{?with_tcl:BuildRequires:     tcl-devel >= 8.4.0}
 Provides:      db = %{version}-%{release}
@@ -238,19 +238,25 @@ Ten pakiet zawiera narzędzia do obsługi baz Berkeley DB z linii
 poleceń.
 
 %prep
-%setup -q -n db-%{version}
-%patch0 -p0
-%patch1 -p0
+%setup -q -n db-%{ver}
+# official patches
+%patchset_patch 1 %{patchlevel}
 
-%if !%{with nptl}
+%if %{without nptl}
 sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' dist/aclocal/mutex.ac
 %endif
 
+sed -i -e '/AC_PROG_LIBTOOL/aLT_OUTPUT' dist/configure.ac
+
 %build
 cd dist
 cp -f /usr/share/aclocal/libtool.m4 aclocal/libtool.ac
+cp -f /usr/share/aclocal/ltoptions.m4 aclocal/ltoptions.ac
+cp -f /usr/share/aclocal/ltsugar.m4 aclocal/ltsugar.ac
+cp -f /usr/share/aclocal/ltversion.m4 aclocal/ltversion.ac
+cp -f /usr/share/aclocal/lt~obsolete.m4 aclocal/lt~obsolete.ac
 cp -f /usr/share/automake/config.sub .
-cp -f /usr/share/libtool/ltmain.sh .
+cp -f /usr/share/libtool/config/ltmain.sh .
 sh s_config
 cd ..
 
@@ -310,14 +316,14 @@ install -d $RPM_BUILD_ROOT%{_javadir}
 
 %if %{with static_libs}
 %{__make} -C build_unix.static library_install \
-       docdir=%{_docdir}/db-%{version}-docs \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       docdir=%{_docdir}/db-%{version}-docs
 %endif
 
 %{__make} -C build_unix library_install \
-       docdir=%{_docdir}/db-%{version}-docs \
        DESTDIR=$RPM_BUILD_ROOT \
-       LIB_INSTALL_FILE_LIST=""
+       LIB_INSTALL_FILE_LIST="" \
+       docdir=%{_docdir}/db-%{version}-docs
 
 mv $RPM_BUILD_ROOT%{_libdir}/libdb-4.4.so $RPM_BUILD_ROOT/%{_lib}
 
@@ -362,6 +368,8 @@ cp -rf examples_cxx/* $RPM_BUILD_ROOT%{_examplesdir}/db-cxx-%{version}
 %if %{with java}
 install -d $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
 cp -rf examples_java/* $RPM_BUILD_ROOT%{_examplesdir}/db-java-%{version}
+%else
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/db-%{version}-docs/java
 %endif
 
 %clean
diff --git a/patch.4.4.20.3 b/patch.4.4.20.3
new file mode 100644 (file)
index 0000000..fbc75b8
--- /dev/null
@@ -0,0 +1,49 @@
+*** db/db_cam.c.orig   2006-01-11 03:19:21.000000000 +1100
+--- db/db_cam.c        2006-03-01 13:59:01.000000000 +1100
+***************
+*** 579,589 ****
+           flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
+               if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
+                       return (ret);
+!              if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
+                       return (ret);
+  
+!              switch (ret =
+!                  opd->c_am_get(opd, key, data, flags, NULL)) {
+               case 0:
+                       goto done;
+               case DB_NOTFOUND:
+--- 579,590 ----
+           flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
+               if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
+                       return (ret);
+!              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
+!                      opd = cp->opd;
+!              else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
+                       return (ret);
+  
+!              switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) {
+               case 0:
+                       goto done;
+               case DB_NOTFOUND:
+***************
+*** 596,607 ****
+--- 597,614 ----
+                               if ((ret = __db_c_close(opd)) != 0)
+                                       goto err;
+                               opd = NULL;
++                              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
++                                      cp->opd = NULL;
+                               break;
+                       }
+                       goto err;
+               default:
+                       goto err;
+               }
++      } else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) {
++              if ((ret = __db_c_close(cp->opd)) != 0)
++                      goto err;
++              cp->opd = NULL;
+       }
+  
+       /*
diff --git a/patch.4.4.20.4 b/patch.4.4.20.4
new file mode 100644 (file)
index 0000000..9a19090
--- /dev/null
@@ -0,0 +1,24 @@
+*** mp/mp_fget.c.orig  2005-10-12 10:53:36.000000000 -0700
+--- mp/mp_fget.c       2006-05-30 20:48:10.000000000 -0700
+***************
+*** 587,594 ****
+        */
+       if (state != SECOND_MISS && bhp->ref == 1) {
+               bhp->priority = UINT32_MAX;
+!              SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
+!              SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
+               hp->hash_priority =
+                   SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
+       }
+--- 587,597 ----
+        */
+       if (state != SECOND_MISS && bhp->ref == 1) {
+               bhp->priority = UINT32_MAX;
+!              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) !=
+!                   SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) {
+!                      SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
+!                      SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
+!              }
+               hp->hash_priority =
+                   SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
+       }
This page took 0.054299 seconds and 4 git commands to generate.