generated from smedev/Template-for-SMEServer-Core-Package
4.8.30-30
This commit is contained in:
parent
039af5d954
commit
9187bad84d
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
2
Makefile
2
Makefile
@ -1,4 +1,4 @@
|
|||||||
NAME := libdb4-utils
|
NAME := libdb4
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
SPECFILE = $(firstword $(wildcard *.spec))
|
||||||
|
|
||||||
define find-makefile-common
|
define find-makefile-common
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> libdb4-utils
|
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> libdb4
|
||||||
|
|
||||||
SMEServer Koozali developed git repo for libdb4-utils core
|
SMEServer Koozali developed git repo for libdb4 core
|
||||||
|
|
||||||
## Wiki
|
## Wiki
|
||||||
<br />https://wiki.koozali.org/libdb4-utils
|
<br />https://wiki.koozali.org/libdb4
|
||||||
|
|
||||||
## Bugzilla
|
## Bugzilla
|
||||||
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=libdb4-utils&product=SME%20Server%2011.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
|
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=libdb4-utils&product=SME%20Server%2011.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
|
||||||
|
0
additional/.gitignore
vendored
0
additional/.gitignore
vendored
@ -1,55 +0,0 @@
|
|||||||
%define name libdb4-utils
|
|
||||||
%define version 1.0
|
|
||||||
%define release 1
|
|
||||||
Summary: This is what libdb4-utils does.
|
|
||||||
Name: %{name}
|
|
||||||
Version: %{version}
|
|
||||||
Release: %{release}%{?dist}
|
|
||||||
Source: %{name}-%{version}.tar.gz
|
|
||||||
License: GNU GPL version 2
|
|
||||||
Group: SMEserver/addon
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-buildroot
|
|
||||||
Prefix: %{_prefix}
|
|
||||||
BuildArchitectures: noarch
|
|
||||||
BuildRequires: e-smith-devtools
|
|
||||||
Requires: e-smith-release >= 10.0
|
|
||||||
AutoReqProv: no
|
|
||||||
|
|
||||||
%description
|
|
||||||
3rd Party (Maintained by Koozali) git repo for libdb4-utils smeserver
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Day MMMM DD YYYY <brianr@koozali.org> 1.0-1.sme
|
|
||||||
- Initial code - create RPM [SME:99999]
|
|
||||||
|
|
||||||
%prep
|
|
||||||
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%build
|
|
||||||
perl createlinks
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
|
|
||||||
rm -f %{name}-%{version}-filelist
|
|
||||||
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
|
|
||||||
> %{name}-%{version}-filelist
|
|
||||||
#echo "%doc COPYING" >> %{name}-%{version}-filelist
|
|
||||||
#--dir <dir> 'attr(755,user,grp)' \
|
|
||||||
#--file <file> 'attr(755,root,root)' \
|
|
||||||
|
|
||||||
%clean
|
|
||||||
cd ..
|
|
||||||
rm -rf %{name}-%{version}
|
|
||||||
|
|
||||||
%pre
|
|
||||||
|
|
||||||
%preun
|
|
||||||
|
|
||||||
%post
|
|
||||||
|
|
||||||
%postun
|
|
||||||
#uninstall
|
|
||||||
%files -f %{name}-%{version}-filelist
|
|
||||||
%defattr(-,root,root)
|
|
43
createlinks
43
createlinks
@ -1,43 +0,0 @@
|
|||||||
#!/usr/bin/perl -w
|
|
||||||
|
|
||||||
use esmith::Build::CreateLinks qw(:all);
|
|
||||||
use esmith::Build::Backup qw(:all);
|
|
||||||
|
|
||||||
# our event specific for updating with yum without reboot
|
|
||||||
$event = 'libdb4-utils-update';
|
|
||||||
#add here the path to your templates needed to expand
|
|
||||||
#see the /etc/systemd/system-preset/49-koozali.preset should be present for systemd integration on all you yum update event
|
|
||||||
|
|
||||||
# Maybe need ths in here as well:
|
|
||||||
# /etc/dar/DailyBackup.dcf - if backup requested
|
|
||||||
|
|
||||||
foreach my $file (qw(
|
|
||||||
/etc/systemd/system-preset/49-koozali.preset
|
|
||||||
))
|
|
||||||
{
|
|
||||||
templates2events( $file, $event );
|
|
||||||
};
|
|
||||||
#action needed in case we have a systemd unit
|
|
||||||
event_link('systemd-default', $event, '10');
|
|
||||||
event_link('systemd-reload', $event, '50');
|
|
||||||
|
|
||||||
#services we might need to restart
|
|
||||||
#event_services($event, 'xxxx' => 'restart', 'yyyy' => 'restart');
|
|
||||||
|
|
||||||
#Backup contrib files
|
|
||||||
# backup_includes("libdb4-utils", qw(
|
|
||||||
# files(s) to be backed up
|
|
||||||
#));
|
|
||||||
|
|
||||||
#Other possible entries:
|
|
||||||
#Server manager entry
|
|
||||||
#panel_link("libdb4-utils", 'manager');
|
|
||||||
#Events to libdb4-utils
|
|
||||||
#$event = 'libdb4-utils-libdb4-utils';
|
|
||||||
# safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/libdb4-utils");
|
|
||||||
# templates2events("/etc/libdb4-utils/libdb4-utils.conf", $event);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
89
db-1.85-errno.patch
Normal file
89
db-1.85-errno.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
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);
|
||||||
|
}
|
||||||
|
|
12
db-4.5.20-jni-include-dir.patch
Normal file
12
db-4.5.20-jni-include-dir.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
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/include /usr/lib/jvm/java/include/linux"
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(java version)
|
||||||
|
case "$JAVA" in
|
14
db-4.6.21-1.85-compat.patch
Normal file
14
db-4.6.21-1.85-compat.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff -ur db-4.6.21/dist/Makefile.in db-4.6.21-db.h_include-patched/dist/Makefile.in
|
||||||
|
--- db-4.6.21/dist/Makefile.in 2007-07-05 18:35:02.000000000 +0000
|
||||||
|
+++ db-4.6.21-db.h_include-patched/dist/Makefile.in 2008-09-05 08:59:36.000000000 +0000
|
||||||
|
@@ -139,8 +139,8 @@
|
||||||
|
# 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
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# NOTHING BELOW THIS LINE SHOULD EVER NEED TO BE MODIFIED.
|
185
db-4.7.25-memp_stat-upstream-fix.patch
Normal file
185
db-4.7.25-memp_stat-upstream-fix.patch
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
diff -up db-4.8.30/mp/mp_stat.c.memp_stat db-4.8.30/mp/mp_stat.c
|
||||||
|
--- db-4.8.30/mp/mp_stat.c.memp_stat 2010-04-12 22:25:34.000000000 +0200
|
||||||
|
+++ db-4.8.30/mp/mp_stat.c 2015-05-22 14:42:28.731436789 +0200
|
||||||
|
@@ -88,6 +88,13 @@ __memp_stat(env, gspp, fspp, flags)
|
||||||
|
u_int32_t i, st_bytes, st_gbytes, st_hash_buckets, st_pages;
|
||||||
|
uintmax_t tmp_wait, tmp_nowait;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * The array holding the lengths related to the buffer allocated for *fspp.
|
||||||
|
+ * The first element of the array holds the number of entries allocated.
|
||||||
|
+ * The second element of the array holds the total number of bytes allocated.
|
||||||
|
+ */
|
||||||
|
+ u_int32_t fsp_len[2];
|
||||||
|
+
|
||||||
|
dbmp = env->mp_handle;
|
||||||
|
mp = dbmp->reginfo[0].primary;
|
||||||
|
|
||||||
|
@@ -202,31 +209,53 @@ __memp_stat(env, gspp, fspp, flags)
|
||||||
|
if (fspp != NULL) {
|
||||||
|
*fspp = NULL;
|
||||||
|
|
||||||
|
- /* Count the MPOOLFILE structures. */
|
||||||
|
- i = 0;
|
||||||
|
- len = 0;
|
||||||
|
- if ((ret = __memp_walk_files(env,
|
||||||
|
- mp, __memp_count_files, &len, &i, flags)) != 0)
|
||||||
|
- return (ret);
|
||||||
|
+ while (*fspp == NULL) {
|
||||||
|
+ /* Count the MPOOLFILE structures. */
|
||||||
|
+ i = 0;
|
||||||
|
+ /*
|
||||||
|
+ * Allow space for the first __memp_get_files() to align the
|
||||||
|
+ * structure array to uintmax_t, DB_MPOOL_STAT's most
|
||||||
|
+ * restrictive field. [#23150]
|
||||||
|
+ */
|
||||||
|
+ len = sizeof(uintmax_t);
|
||||||
|
+ if ((ret = __memp_walk_files(env,
|
||||||
|
+ mp, __memp_count_files, &len, &i, flags)) != 0)
|
||||||
|
+ return (ret);
|
||||||
|
+
|
||||||
|
+ if (i == 0)
|
||||||
|
+ return (0);
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Copy the number of DB_MPOOL_FSTAT entries and the number of
|
||||||
|
+ * bytes allocated for them into fsp_len. Do not count the space
|
||||||
|
+ * reserved for allignment.
|
||||||
|
+ */
|
||||||
|
+ fsp_len[0] = i;
|
||||||
|
+ fsp_len[1] = len - sizeof(uintmax_t);
|
||||||
|
|
||||||
|
- if (i == 0)
|
||||||
|
- return (0);
|
||||||
|
- len += sizeof(DB_MPOOL_FSTAT *); /* Trailing NULL */
|
||||||
|
+ len += sizeof(DB_MPOOL_FSTAT *); /* Trailing NULL */
|
||||||
|
|
||||||
|
- /* Allocate space */
|
||||||
|
- if ((ret = __os_umalloc(env, len, fspp)) != 0)
|
||||||
|
- return (ret);
|
||||||
|
+ /* Allocate space */
|
||||||
|
+ if ((ret = __os_umalloc(env, len, fspp)) != 0)
|
||||||
|
+ return (ret);
|
||||||
|
|
||||||
|
- tfsp = *fspp;
|
||||||
|
- *tfsp = NULL;
|
||||||
|
+ tfsp = *fspp;
|
||||||
|
+ *tfsp = NULL;
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * Files may have been opened since we counted, don't walk
|
||||||
|
- * off the end of the allocated space.
|
||||||
|
- */
|
||||||
|
- if ((ret = __memp_walk_files(env,
|
||||||
|
- mp, __memp_get_files, &tfsp, &i, flags)) != 0)
|
||||||
|
- return (ret);
|
||||||
|
+ /*
|
||||||
|
+ * Files may have been opened since we counted, if we walk off
|
||||||
|
+ * the end of the allocated space specified in fsp_len, retry.
|
||||||
|
+ */
|
||||||
|
+ if ((ret = __memp_walk_files(env,
|
||||||
|
+ mp, __memp_get_files, &tfsp, fsp_len, flags)) != 0) {
|
||||||
|
+ if (ret == DB_BUFFER_SMALL) {
|
||||||
|
+ __os_ufree(env, *fspp);
|
||||||
|
+ *fspp = NULL;
|
||||||
|
+ tfsp = NULL;
|
||||||
|
+ } else
|
||||||
|
+ return (ret);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
*++tfsp = NULL;
|
||||||
|
}
|
||||||
|
@@ -298,29 +327,36 @@ __memp_count_files(env, mfp, argp, count
|
||||||
|
* for the text file names.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
-__memp_get_files(env, mfp, argp, countp, flags)
|
||||||
|
+__memp_get_files(env, mfp, argp, fsp_len, flags)
|
||||||
|
ENV *env;
|
||||||
|
MPOOLFILE *mfp;
|
||||||
|
void *argp;
|
||||||
|
- u_int32_t *countp;
|
||||||
|
+ u_int32_t fsp_len[];
|
||||||
|
u_int32_t flags;
|
||||||
|
{
|
||||||
|
DB_MPOOL *dbmp;
|
||||||
|
DB_MPOOL_FSTAT **tfsp, *tstruct;
|
||||||
|
char *name, *tname;
|
||||||
|
- size_t nlen;
|
||||||
|
+ size_t nlen, tlen;
|
||||||
|
u_int32_t pagesize;
|
||||||
|
|
||||||
|
- if (*countp == 0)
|
||||||
|
- return (0);
|
||||||
|
+ /* We walked through more files than argp was allocated for. */
|
||||||
|
+ if (fsp_len[0] == 0)
|
||||||
|
+ return DB_BUFFER_SMALL;
|
||||||
|
|
||||||
|
dbmp = env->mp_handle;
|
||||||
|
tfsp = *(DB_MPOOL_FSTAT ***)argp;
|
||||||
|
|
||||||
|
if (*tfsp == NULL) {
|
||||||
|
- /* Add 1 to count because we need to skip over the NULL. */
|
||||||
|
- tstruct = (DB_MPOOL_FSTAT *)(tfsp + *countp + 1);
|
||||||
|
- tname = (char *)(tstruct + *countp);
|
||||||
|
+ /*
|
||||||
|
+ * Add 1 to count because to skip over the NULL end marker.
|
||||||
|
+ * Align it further for DB_MPOOL_STAT's most restrictive field
|
||||||
|
+ * because uintmax_t might require stricter alignment than
|
||||||
|
+ * pointers; e.g., IP32 LL64 SPARC. [#23150]
|
||||||
|
+ */
|
||||||
|
+ tstruct = (DB_MPOOL_FSTAT *)&tfsp[fsp_len[0] + 1];
|
||||||
|
+ tstruct = ALIGNP_INC(tstruct, sizeof(uintmax_t));
|
||||||
|
+ tname = (char *)&tstruct[fsp_len[0]];
|
||||||
|
*tfsp = tstruct;
|
||||||
|
} else {
|
||||||
|
tstruct = *tfsp + 1;
|
||||||
|
@@ -330,12 +366,26 @@ __memp_get_files(env, mfp, argp, countp,
|
||||||
|
|
||||||
|
name = __memp_fns(dbmp, mfp);
|
||||||
|
nlen = strlen(name) + 1;
|
||||||
|
+
|
||||||
|
+ /* The space required for file names is larger than argp was allocated for. */
|
||||||
|
+ tlen = sizeof(DB_MPOOL_FSTAT *) + sizeof(DB_MPOOL_FSTAT) + nlen;
|
||||||
|
+ if (fsp_len[1] < tlen)
|
||||||
|
+ return DB_BUFFER_SMALL;
|
||||||
|
+ else
|
||||||
|
+ /* Count down the number of bytes left in argp. */
|
||||||
|
+ fsp_len[1] -= tlen;
|
||||||
|
+
|
||||||
|
memcpy(tname, name, nlen);
|
||||||
|
- *tstruct = mfp->stat;
|
||||||
|
+ memcpy(tstruct, &mfp->stat, sizeof(mfp->stat));
|
||||||
|
tstruct->file_name = tname;
|
||||||
|
|
||||||
|
+ /* Grab the pagesize from the mfp. */
|
||||||
|
+ tstruct->st_pagesize = mfp->stat.st_pagesize;
|
||||||
|
+
|
||||||
|
*(DB_MPOOL_FSTAT ***)argp = tfsp;
|
||||||
|
- (*countp)--;
|
||||||
|
+
|
||||||
|
+ /* Count down the number of entries left in argp. */
|
||||||
|
+ fsp_len[0]--;
|
||||||
|
|
||||||
|
if (LF_ISSET(DB_STAT_CLEAR)) {
|
||||||
|
pagesize = mfp->stat.st_pagesize;
|
||||||
|
diff -up db-4.8.30/mp/mp_sync.c.memp_stat db-4.8.30/mp/mp_sync.c
|
||||||
|
--- db-4.8.30/mp/mp_sync.c.memp_stat 2010-04-12 22:25:34.000000000 +0200
|
||||||
|
+++ db-4.8.30/mp/mp_sync.c 2015-05-22 14:38:17.711150804 +0200
|
||||||
|
@@ -57,11 +57,13 @@ __memp_walk_files(env, mp, func, arg, co
|
||||||
|
if ((t_ret = func(env,
|
||||||
|
mfp, arg, countp, flags)) != 0 && ret == 0)
|
||||||
|
ret = t_ret;
|
||||||
|
- if (ret != 0 && !LF_ISSET(DB_STAT_MEMP_NOERROR))
|
||||||
|
+ if (ret != 0 &&
|
||||||
|
+ (!LF_ISSET(DB_STAT_MEMP_NOERROR) || ret == DB_BUFFER_SMALL))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
MUTEX_UNLOCK(env, hp->mtx_hash);
|
||||||
|
- if (ret != 0 && !LF_ISSET(DB_STAT_MEMP_NOERROR))
|
||||||
|
+ if (ret != 0 &&
|
||||||
|
+ (!LF_ISSET(DB_STAT_MEMP_NOERROR) || ret == DB_BUFFER_SMALL))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return (ret);
|
21
db-4.8.30-atomic_compare_exchange.patch
Normal file
21
db-4.8.30-atomic_compare_exchange.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up db-4.8.30/dbinc/atomic.h.old db-4.8.30/dbinc/atomic.h
|
||||||
|
--- db-4.8.30/dbinc/atomic.h.old 2018-07-25 13:50:49.612868859 +0200
|
||||||
|
+++ db-4.8.30/dbinc/atomic.h 2018-07-25 13:51:05.109655187 +0200
|
||||||
|
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
|
||||||
|
#define atomic_inc(env, p) __atomic_inc(p)
|
||||||
|
#define atomic_dec(env, p) __atomic_dec(p)
|
||||||
|
#define atomic_compare_exchange(env, p, o, n) \
|
||||||
|
- __atomic_compare_exchange((p), (o), (n))
|
||||||
|
+ __db_atomic_compare_exchange((p), (o), (n))
|
||||||
|
static inline int __atomic_inc(db_atomic_t *p)
|
||||||
|
{
|
||||||
|
int temp;
|
||||||
|
@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic
|
||||||
|
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||||
|
* which configure could be changed to use.
|
||||||
|
*/
|
||||||
|
-static inline int __atomic_compare_exchange(
|
||||||
|
+static inline int __db_atomic_compare_exchange(
|
||||||
|
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||||
|
{
|
||||||
|
atomic_value_t was;
|
11
db-4.8.30-cwd-db_config.patch
Normal file
11
db-4.8.30-cwd-db_config.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- db-5.3.28/src/env/env_open.c.old 2017-06-26 10:32:11.011419981 +0200
|
||||||
|
+++ db-5.3.28/src/env/env_open.c 2017-06-26 10:32:46.893721233 +0200
|
||||||
|
@@ -473,7 +473,7 @@
|
||||||
|
env->db_mode = mode == 0 ? DB_MODE_660 : mode;
|
||||||
|
|
||||||
|
/* Read the DB_CONFIG file. */
|
||||||
|
- if ((ret = __env_read_db_config(env)) != 0)
|
||||||
|
+ if (env->db_home != NULL && (ret = __env_read_db_config(env)) != 0)
|
||||||
|
return (ret);
|
||||||
|
|
||||||
|
/*
|
57
db-4.8.30-format-security.patch
Normal file
57
db-4.8.30-format-security.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# Adjustments necessary in order for gcc with -Werror=format-security to compile libdb4
|
||||||
|
|
||||||
|
diff -up db-4.8.30/repmgr/repmgr_net.c.broken db-4.8.30/repmgr/repmgr_net.c
|
||||||
|
--- db-4.8.30/repmgr/repmgr_net.c.broken 2013-12-03 09:22:53.411671609 +0100
|
||||||
|
+++ db-4.8.30/repmgr/repmgr_net.c 2013-12-03 09:23:13.020780748 +0100
|
||||||
|
@@ -1331,7 +1331,7 @@ __repmgr_listen(env)
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = net_errno;
|
||||||
|
- __db_err(env, ret, why);
|
||||||
|
+ __db_err(env, ret, "%s", why);
|
||||||
|
clean: if (s != INVALID_SOCKET)
|
||||||
|
(void)closesocket(s);
|
||||||
|
return (ret);
|
||||||
|
|
||||||
|
diff -up db-4.8.30/crypto/aes_method.c.broken db-4.8.30/crypto/aes_method.c
|
||||||
|
--- db-4.8.30/crypto/aes_method.c.broken 2013-12-03 09:31:46.131623201 +0100
|
||||||
|
+++ db-4.8.30/crypto/aes_method.c 2013-12-03 09:32:12.875772465 +0100
|
||||||
|
@@ -267,6 +267,6 @@ __aes_err(env, err)
|
||||||
|
errstr = "AES error unrecognized";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- __db_errx(env, errstr);
|
||||||
|
+ __db_errx(env, "%s", errstr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up db-4.8.30/txn/txn.c.broken db-4.8.30/txn/txn.c
|
||||||
|
--- db-4.8.30/txn/txn.c.broken 2013-12-03 09:35:35.259668694 +0100
|
||||||
|
+++ db-4.8.30/txn/txn.c 2013-12-03 09:36:34.155889373 +0100
|
||||||
|
@@ -113,7 +113,7 @@ __txn_begin_pp(dbenv, parent, txnpp, fla
|
||||||
|
return (ret);
|
||||||
|
if (parent != NULL && !F_ISSET(parent, TXN_SNAPSHOT) &&
|
||||||
|
LF_ISSET(DB_TXN_SNAPSHOT)) {
|
||||||
|
- __db_errx(env,
|
||||||
|
+ __db_errx(env, "%s",
|
||||||
|
"Child transaction snapshot setting must match parent");
|
||||||
|
return (EINVAL);
|
||||||
|
}
|
||||||
|
@@ -168,7 +168,7 @@ __txn_begin(env, ip, parent, txnpp, flag
|
||||||
|
|
||||||
|
*txnpp = NULL;
|
||||||
|
if ((ret = __os_calloc(env, 1, sizeof(DB_TXN), &txn)) != 0) {
|
||||||
|
- __db_errx(env, TxnAlloc);
|
||||||
|
+ __db_errx(env, "%s", TxnAlloc);
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -315,7 +315,7 @@ __txn_compensate_begin(env, txnpp)
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if ((ret = __os_calloc(env, 1, sizeof(DB_TXN), &txn)) != 0) {
|
||||||
|
- __db_errx(env, TxnAlloc);
|
||||||
|
+ __db_errx(env, "%s", TxnAlloc);
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
|
|
14
db-4.8.30-quotas-segfault.patch
Normal file
14
db-4.8.30-quotas-segfault.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Sanity fix; should resolve segfault when no space aviable (#740631)
|
||||||
|
|
||||||
|
diff -up db-4.8.30/env/env_file.c.orig db-4.8.30/env/env_file.c
|
||||||
|
--- db-4.8.30/env/env_file.c.orig 2013-04-24 16:40:37.367003987 +0200
|
||||||
|
+++ db-4.8.30/env/env_file.c 2013-04-24 16:40:50.303026442 +0200
|
||||||
|
@@ -49,7 +49,7 @@ __db_file_extend(env, fhp, size)
|
||||||
|
|
||||||
|
err: __os_free(env, buf);
|
||||||
|
|
||||||
|
- return (0);
|
||||||
|
+ return (ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
BIN
db-4.8.30.tar.gz
(Stored with Git LFS)
Normal file
BIN
db-4.8.30.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
db.1.85.tar.gz
(Stored with Git LFS)
Normal file
BIN
db.1.85.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
463
libdb4.spec
Normal file
463
libdb4.spec
Normal file
@ -0,0 +1,463 @@
|
|||||||
|
%global __soversion_major 4
|
||||||
|
%global __soversion %{__soversion_major}.8
|
||||||
|
|
||||||
|
Summary: The Berkeley DB database library (version 4) for C
|
||||||
|
Name: libdb4
|
||||||
|
Version: 4.8.30
|
||||||
|
Release: 30%{?dist}
|
||||||
|
URL: http://www.oracle.com/database/berkeley-db/
|
||||||
|
License: Sleepycat and BSD
|
||||||
|
|
||||||
|
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
|
||||||
|
Patch21: db-4.6.21-1.85-compat.patch
|
||||||
|
Patch22: db-4.5.20-jni-include-dir.patch
|
||||||
|
Patch23: db-4.8.30-quotas-segfault.patch
|
||||||
|
Patch24: db-4.8.30-format-security.patch
|
||||||
|
Patch25: db-4.7.25-memp_stat-upstream-fix.patch
|
||||||
|
Patch26: db-4.8.30-atomic_compare_exchange.patch
|
||||||
|
BuildRequires: gcc gcc-c++
|
||||||
|
# downstream patch to hotfix rhbz#1464032
|
||||||
|
Patch27: db-4.8.30-cwd-db_config.patch
|
||||||
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: ed
|
||||||
|
BuildRequires: java-devel >= 1:1.6.0
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: perl-interpreter
|
||||||
|
BuildRequires: perl-Carp
|
||||||
|
BuildRequires: tcl-devel >= 8.6.1
|
||||||
|
BuildRequires: util-linux-ng
|
||||||
|
|
||||||
|
Conflicts: filesystem < 3
|
||||||
|
Obsoletes: db4 < 5.0.0
|
||||||
|
Provides: db4 = %{version}
|
||||||
|
|
||||||
|
%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 utils
|
||||||
|
Summary: Command line tools for managing Berkeley DB (version 4) databases
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-utils < 5.0.0
|
||||||
|
Provides: db4-utils = %{version}
|
||||||
|
|
||||||
|
%description utils
|
||||||
|
This package contains command-line tools for managing Berkeley DB (version
|
||||||
|
4) databases.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: C development files for the Berkeley DB (version 4) library
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-devel < 5.0.0
|
||||||
|
Provides: db4-devel = %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains the header files and libraries for building C
|
||||||
|
programs which use the Berkeley DB.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for the Berkeley DB
|
||||||
|
BuildArch: noarch
|
||||||
|
Obsoletes: db4-devel-doc < 5.0.0
|
||||||
|
Provides: db4-devel-doc = %{version}
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package includes documentation files for the Berkeley DB database.
|
||||||
|
|
||||||
|
%package devel-static
|
||||||
|
Summary: Berkeley DB (version 4) static libraries
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-devel-static < 5.0.0
|
||||||
|
Provides: db4-devel-static = %{version}
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
This package contains static libraries needed for applications that
|
||||||
|
require static linking of Berkeley DB.
|
||||||
|
|
||||||
|
%package cxx
|
||||||
|
Summary: The Berkeley DB database library (version 4) for C++
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-cxx < 5.0.0
|
||||||
|
Provides: db4-cxx = %{version}
|
||||||
|
|
||||||
|
%description cxx
|
||||||
|
This package contains the C++ version of the Berkeley DB library (v4).
|
||||||
|
|
||||||
|
%package cxx-devel
|
||||||
|
Summary: C++ development files for the Berkeley DB database library (version 4)
|
||||||
|
Requires: %{name}-cxx%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-cxx-devel < 5.0.0
|
||||||
|
Provides: db4-cxx-devel = %{version}
|
||||||
|
|
||||||
|
%description cxx-devel
|
||||||
|
This package contains the header files and libraries for building C++
|
||||||
|
programs which use the Berkeley DB.
|
||||||
|
|
||||||
|
%package tcl
|
||||||
|
Summary: Development files for using the Berkeley DB (version 4) with tcl
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-tcl < 5.0.0
|
||||||
|
Provides: db4-tcl = %{version}
|
||||||
|
|
||||||
|
%description tcl
|
||||||
|
This package contains the libraries for building programs which use the
|
||||||
|
Berkeley DB in Tcl.
|
||||||
|
|
||||||
|
%package tcl-devel
|
||||||
|
Summary: Development files for using the Berkeley DB (version 4) with tcl
|
||||||
|
Requires: %{name}-tcl%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-tcl-devel < 5.0.0
|
||||||
|
Provides: db4-tcl-devel = %{version}
|
||||||
|
|
||||||
|
%description tcl-devel
|
||||||
|
This package contains the libraries for building programs which use the
|
||||||
|
Berkeley DB in Tcl.
|
||||||
|
|
||||||
|
%package java
|
||||||
|
Summary: Development files for using the Berkeley DB (version 4) with Java
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-java < 5.0.0
|
||||||
|
Provides: db4-java = %{version}
|
||||||
|
|
||||||
|
%description java
|
||||||
|
This package contains the libraries for building programs which use the
|
||||||
|
Berkeley DB in Java.
|
||||||
|
|
||||||
|
%package java-devel
|
||||||
|
Summary: Development files for using the Berkeley DB (version 4) with Java
|
||||||
|
Requires: %{name}-java%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: db4-java-devel < 5.0.0
|
||||||
|
Provides: db4-java-devel = %{version}
|
||||||
|
|
||||||
|
%description java-devel
|
||||||
|
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
|
||||||
|
|
||||||
|
%patch21 -p1 -b .185compat
|
||||||
|
%patch22 -p1 -b .4.5.20.jni
|
||||||
|
%patch23 -p1 -b .quotas-segfault
|
||||||
|
%patch24 -p1 -b .format-security
|
||||||
|
%patch25 -p1 -b .memp_stat
|
||||||
|
%patch26 -p1 -b .atomic_cmpx
|
||||||
|
%patch27 -p2 -b .cwd-db_config
|
||||||
|
|
||||||
|
# Fix HREF references in the docs which would otherwise break when we split the docs up into subpackages.
|
||||||
|
set +x
|
||||||
|
for doc in `find . -name "*.html"`; 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
|
||||||
|
|
||||||
|
cd dist
|
||||||
|
./s_config
|
||||||
|
|
||||||
|
%build
|
||||||
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||||
|
|
||||||
|
# Build the old db-185 libraries.
|
||||||
|
make -C db.1.85/PORT/%{_os} OORG="$CFLAGS"
|
||||||
|
|
||||||
|
test -d dist/dist-tls || mkdir dist/dist-tls
|
||||||
|
# Static link db_dump185 with old db-185 libraries.
|
||||||
|
/bin/sh libtool --tag=CC --mode=compile %{__cc} $RPM_OPT_FLAGS -Idb.1.85/PORT/%{_os}/include -D_REENTRANT -c db_dump185/db_dump185.c -o dist/dist-tls/db_dump185.lo
|
||||||
|
/bin/sh libtool --tag=LD --mode=link %{__cc} -o dist/dist-tls/db_dump185 dist/dist-tls/db_dump185.lo db.1.85/PORT/%{_os}/libdb.a
|
||||||
|
|
||||||
|
# Update gnu-config files for AArch64
|
||||||
|
chmod 644 dist/config.{guess,sub}
|
||||||
|
cp /usr/lib/rpm/redhat/config.{guess,sub} dist/
|
||||||
|
|
||||||
|
pushd dist/dist-tls
|
||||||
|
ln -sf ../configure .
|
||||||
|
%configure -C \
|
||||||
|
--enable-compat185 --enable-dump185 \
|
||||||
|
--enable-shared --enable-static \
|
||||||
|
--enable-tcl --with-tcl=%{_libdir} \
|
||||||
|
--enable-cxx \
|
||||||
|
--enable-java \
|
||||||
|
--enable-test \
|
||||||
|
--disable-rpath \
|
||||||
|
--with-tcl=%{_libdir}/tcl8.6
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||||||
|
|
||||||
|
# Disable built-in binaries stripping (#729002)
|
||||||
|
%makeinstall STRIP=/bin/true -C dist/dist-tls
|
||||||
|
|
||||||
|
# XXX Nuke non-versioned archives and symlinks
|
||||||
|
rm -f ${RPM_BUILD_ROOT}%{_libdir}/{libdb.a,libdb_cxx.a}
|
||||||
|
|
||||||
|
chmod +x ${RPM_BUILD_ROOT}%{_libdir}/*.so*
|
||||||
|
|
||||||
|
# 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}
|
||||||
|
|
||||||
|
# Move java jar file to the correct place
|
||||||
|
# Rename java jar file to fix conflict with libdb (#800359)
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/java
|
||||||
|
mv ${RPM_BUILD_ROOT}%{_libdir}/*.jar ${RPM_BUILD_ROOT}%{_datadir}/java
|
||||||
|
pushd ${RPM_BUILD_ROOT}%{_datadir}/java
|
||||||
|
mv db.jar db4.jar
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Eliminate installed doco
|
||||||
|
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/docs
|
||||||
|
|
||||||
|
# unify documentation and examples, remove stuff we don't need
|
||||||
|
rm -rf docs/csharp
|
||||||
|
rm -rf examples/csharp
|
||||||
|
rm -rf docs/installation
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# rename utils so that they won't conflict with libdb (#749293)
|
||||||
|
pushd ${RPM_BUILD_ROOT}%{_bindir}
|
||||||
|
for i in `ls | sed s/db_//`; do
|
||||||
|
mv db_$i db%{__soversion_major}_$i;
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
|
# put unversioned libraries to separate directory to not to conflict
|
||||||
|
# with libdb-devel (#839508)
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/%{name}
|
||||||
|
pushd ${RPM_BUILD_ROOT}%{_libdir}/%{name}
|
||||||
|
for i in libdb libdb_cxx libdb_tcl libdb_java; do
|
||||||
|
rm -f ${RPM_BUILD_ROOT}%{_libdir}/$i.so
|
||||||
|
ln -s ../$i-%{__soversion}.so $i.so
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
|
# remove RPATHs
|
||||||
|
chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so ${RPM_BUILD_ROOT}%{_bindir}/*
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
%ldconfig_scriptlets cxx
|
||||||
|
%ldconfig_scriptlets tcl
|
||||||
|
%ldconfig_scriptlets java
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README
|
||||||
|
%{_libdir}/libdb-%{__soversion}.so
|
||||||
|
%{_libdir}/libdb-%{__soversion_major}.so
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/%{name}/libdb.so
|
||||||
|
%dir %{_includedir}/%{name}
|
||||||
|
%{_includedir}/%{name}/db.h
|
||||||
|
%{_includedir}/%{name}/db_185.h
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc docs/*
|
||||||
|
%doc examples_c examples_cxx examples_java
|
||||||
|
|
||||||
|
%files devel-static
|
||||||
|
%{_libdir}/libdb-%{__soversion}.a
|
||||||
|
%{_libdir}/libdb_cxx-%{__soversion}.a
|
||||||
|
%{_libdir}/libdb_tcl-%{__soversion}.a
|
||||||
|
%{_libdir}/libdb_java-%{__soversion}.a
|
||||||
|
|
||||||
|
%files utils
|
||||||
|
%{_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*_sql
|
||||||
|
%{_bindir}/db*_stat
|
||||||
|
%{_bindir}/db*_upgrade
|
||||||
|
%{_bindir}/db*_verify
|
||||||
|
|
||||||
|
%files cxx
|
||||||
|
%{_libdir}/libdb_cxx-%{__soversion}.so
|
||||||
|
%{_libdir}/libdb_cxx-%{__soversion_major}.so
|
||||||
|
|
||||||
|
%files cxx-devel
|
||||||
|
%{_includedir}/%{name}/db_cxx.h
|
||||||
|
%{_libdir}/%{name}/libdb_cxx.so
|
||||||
|
|
||||||
|
%files tcl
|
||||||
|
%{_libdir}/libdb_tcl-%{__soversion}.so
|
||||||
|
%{_libdir}/libdb_tcl-%{__soversion_major}.so
|
||||||
|
|
||||||
|
%files tcl-devel
|
||||||
|
%{_libdir}/%{name}/libdb_tcl.so
|
||||||
|
|
||||||
|
%files java
|
||||||
|
%{_libdir}/libdb_java-%{__soversion}*.so
|
||||||
|
%{_libdir}/libdb_java-%{__soversion_major}*.so
|
||||||
|
%{_datadir}/java/*.jar
|
||||||
|
|
||||||
|
%files java-devel
|
||||||
|
%{_libdir}/%{name}/libdb_java.so
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-30
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-29
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 19 2018 Matej Mužila <mmuzila@redhat.com> - 4.8.30-28
|
||||||
|
- Do not access DB_CONFIG when db_home is not set
|
||||||
|
- Resolves: #1464035 (CVE-2017-10140)
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-26
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 14 2018 Björn Esser <besser82@fedoraproject.org> - 4.8.30-25
|
||||||
|
- Update spec file to match packaging guidelines (#1545192)
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-24
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-23
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-22
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-21
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.30-20
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-19
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri May 22 2015 Jan Stanek <jstanek@redhat.com> - 4.8.30-18
|
||||||
|
- Add upstream fix for memp_stat heap corruption.
|
||||||
|
- Resolves: rhbz#1211871
|
||||||
|
|
||||||
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 4.8.30-17
|
||||||
|
- Rebuilt for GCC 5 C++11 ABI change
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-16
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 10 2014 Jan Stanek <jstanek@redhat.com> - 4.8.30-15
|
||||||
|
- Fixed search path for new tcl
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-14
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Dec 03 2013 Jan Stanek <jstanek@redhat.com> - 4.8.30-13
|
||||||
|
- Adjusted for -Werror=format-security gcc flag.
|
||||||
|
|
||||||
|
* Fri Nov 08 2013 Honza Horak <hhorak@redhat.com> - 4.8.30-12
|
||||||
|
- Updated the config files for aarch64 architecture (#1028112)
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 16 2013 Jan Stanek <jstanek@redhat.com> - 4.8.30-10
|
||||||
|
- Fixed missing debuginfos for utils subpackage (#729002)
|
||||||
|
|
||||||
|
* Wed Apr 24 2013 Jan Stanek <jstanek@redhat.com> - 4.8.30-9
|
||||||
|
- Added sanity patch fixing crashes when no more disc space left (#740631)
|
||||||
|
|
||||||
|
* Tue Apr 02 2013 Jan Stanek <jstanek@redhat.com> - 4.8.30-8
|
||||||
|
- Removed dependency on gcc-java
|
||||||
|
|
||||||
|
* Tue Mar 26 2013 Jan Stanek <jstanek@redhat.com> - 4.8.30-7
|
||||||
|
- Fix file conflict with libdb-java (#800359)
|
||||||
|
- Add missing perl-Carp to BuildRequires
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.8.30-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jul 16 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 4.8.30-4
|
||||||
|
- Add db4 provides to allow transisition for name change
|
||||||
|
- Spec cleanup
|
||||||
|
|
||||||
|
* Sat Jul 14 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 4.8.30-3
|
||||||
|
- Specify tag for libtool
|
||||||
|
|
||||||
|
* Thu Jul 12 2012 Jindrich Novy <jnovy@redhat.com> 4.8.30-2
|
||||||
|
- fix dependencies in cxx-devel and fix file conflict with
|
||||||
|
libdb-devel (#839508)
|
||||||
|
|
||||||
|
* Sun Apr 22 2012 Jindrich Novy <jnovy@redhat.com> 4.8.30-1
|
||||||
|
- introduction of libdb4
|
20
patch.1.1
Normal file
20
patch.1.1
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
*** 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:
|
19
patch.1.2
Normal file
19
patch.1.2
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
*** 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;
|
||||||
|
}
|
37
patch.1.3
Normal file
37
patch.1.3
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
*** 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;
|
22
patch.1.4
Normal file
22
patch.1.4
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
*** 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));
|
0
root/.gitignore
vendored
0
root/.gitignore
vendored
Loading…
Reference in New Issue
Block a user