!1 Package init

Merge pull request !1 from 惊奇脆片饼干/init
This commit is contained in:
openeuler-ci-bot 2019-12-03 18:43:31 +08:00 committed by Gitee
commit 49ebef7fc3
3 changed files with 173 additions and 202 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,245 +1,216 @@
%define realver 036ebf72 Name: libdb
Version: 5.3.28
Release: 35
Summary: The Berkeley DB database library for C
License: BSD and LGPLv2 and Sleepycat
URL: https://www.oracle.com/database/berkeley-db/
Name: libdb Source0: http://download.oracle.com/otn/berkeley-db/db-%{version}.tar.gz
Version: 18.1.32 Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
Release: 2 Source2: http://www.gnu.org/licenses/lgpl-2.1.txt
Summary: Berkeley DB is a family of embedded key-value database libraries providing scalable high-performance data management services to applications. Source3: libdb-5.3.28-manpages.tar.gz
License: AGPL-3.0 and Public Domain
URL: http://www.oracle.com/database/berkeley-db/
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
Source1: https://www.sqlite.org/cgi/src/zip/%{realver}/SQLite-%{realver}.zip
BuildRequires: gcc gcc-c++ libtool tcl-devel java-devel chrpath gdb libdb libdb-cxx libdb-sql Patch0: libdb-multiarch.patch
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
Patch20: db-1.85-errno.patch
Patch22: db-4.6.21-1.85-compat.patch
Patch24: db-4.5.20-jni-include-dir.patch
Patch25: 007-mt19937db.c_license.patch
Patch26: java8-fix.patch
Patch27: db-5.3.21-memp_stat-upstream-fix.patch
Patch28: db-5.3.21-mutex_leak.patch
Patch29: db-5.3.28-lemon_hash.patch
Patch30: db-5.3.28-condition_variable.patch
Patch31: db-5.3.28-condition-variable-ppc.patch
Patch32: db-5.3.28-rpm-lock-check.patch
# downstream patch to hotfix rhbz#1464033, sent upstream
Patch33: db-5.3.28-cwd-db_config.patch
Patch34: libdb-5.3.21-region-size-check.patch
# Patch sent upstream
Patch35: checkpoint-opd-deadlock.patch
Patch36: db-5.3.28-atomic_compare_exchange.patch
Provides: %{name}-utils Patch9000: bugfix-fix-deadlock-on-mempool-file-locks.patch
Obsoletes: %{name}-utils
Patch9001: libdb-limit-cpu.patch
patch9002: libdb-cbd-race.patch
BuildRequires: gcc gcc-c++ perl-interpreter libtool tcl-devel >= 8.5.2-3
BuildRequires: java-devel >= 1:1.6.0 chrpath zlib-devel
Conflicts: filesystem < 3
Provides: %{name}-utils = %{version}-%{release}
Obsoletes: %{name}-utils < %{version}-%{release}
Provides: %{name}-cxx = %{version}-%{release}
Obsoletes: %{name}-cxx < %{version}-%{release}
Provides: %{name}-tcl = %{version}-%{release}
Obsoletes: %{name}-tcl < %{version}-%{release}
Provides: %{name}-sql = %{version}-%{release}
Obsoletes: %{name}-sql < %{version}-%{release}
Provides: %{name}-java = %{version}-%{release}
Obsoletes: %{name}-java < %{version}-%{release}
%description %description
Berkeley DB is a family of embedded key-value database libraries Oracle Berkeley DB provides the best open source embeddable databases
providing scalable high-performance data management services to applications. allowing developers the choice of SQL, Key/Value, XML/XQuery or Java
The Berkeley DB products use simple function-call APIs for data access and management. Object storage for their data model. At its core is a fast, scalable,
Berkeley DB enables the development of custom data management solutions, transactional database engine with proven reliability and availability.
without the overhead traditionally associated with such custom projects. Berkeley DB comes three versions: Berkeley DB, Berkeley DB Java
Berkeley DB provides a collection of well-proven building-block technologies Edition, and Berkeley DB XML.
that can be configured to address any application need from the hand-held device to the data center,
from a local storage solution to a world-wide distributed one, from kilobytes to petabytes.
%package devel %package devel
Summary: C development files for the Berkeley DB library Summary: Header files for libdb
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Provides: %{name}-devel-static Provides: %{name}-devel-doc = %{version}-%{release}
Obsoletes: %{name}-devel-static Obsoletes: %{name}-devel-doc < %{version}-%{release}
Provides: %{name}-devel-static = %{version}-%{release}
Obsoletes: %{name}-devel-static < %{version}-%{release}
Provides: %{name}-cxx-devel = %{version}-%{release}
Obsoletes: %{name}-cxx-devel < %{version}-%{release}
Provides: %{name}-tcl-devel = %{version}-%{release}
Obsoletes: %{name}-tcl-devel < %{version}-%{release}
Provides: %{name}-sql-devel = %{version}-%{release}
Obsoletes: %{name}-sql-devel < %{version}-%{release}
Provides: %{name}-java-devel = %{version}-%{release}
Obsoletes: %{name}-java-devel < %{version}-%{release}
%description devel %description devel
This package contains the header files and libraries Header files for libdb.
for building programs which use the Berkeley DB in C.
%package help %package_help
Summary: C development documentation files for the Berkeley DB library
Requires: %{name} = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
Obsoletes: %{name}-devel-doc
BuildArch: noarch
%description help
This package contains the documentation for building programs which use the Berkeley DB.
%package cxx
Summary: The Berkeley DB database library for C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description cxx
The Berkeley DB supports C++ APIs. This package contains the libraries for C++.
%package cxx-devel
Summary: C++ development files for the Berkeley DB library
Requires: %{name}-cxx%{?_isa} = %{version}-%{release}
%description cxx-devel
This package contains the header files and libraries
for building programs which use the Berkeley DB in C++.
%package tcl
Summary: The Berkeley DB database library for Tcl
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tcl
The Berkeley DB supports Tcl APIs. This package contains the libraries for Tcl.
%package tcl-devel
Summary: Tcl development files for the Berkeley DB library
Requires: %{name}-tcl%{?_isa} = %{version}-%{release}
%description tcl-devel
This package contains the Tcl files and libraries
for building programs which use the Berkeley DB in Tcl.
%package sql
Summary: The Berkeley DB database library for Sql
Requires: %{name}%{?_isa} = %{version}-%{release}
%description sql
The Berkeley DB supports Sql APIs. This package contains the libraries for Sql.
%package sql-devel
Summary: Sql development files for the Berkeley DB library
Requires: %{name}-sql%{?_isa} = %{version}-%{release}
%description sql-devel
This package contains the Sql files and libraries
for building programs which use the Berkeley DB in Sql.
%package java
Summary: The Berkeley DB database library for Java
Requires: %{name}%{?_isa} = %{version}-%{release}
%description java
The Berkeley DB supports Java APIs. This package contains the libraries for Java.
%package java-devel
Summary: Java development files for the Berkeley DB library
Requires: %{name}-java%{?_isa} = %{version}-%{release}
%description java-devel
This package contains the java files and libraries
for building programs which use the Berkeley DB in java.
%prep %prep
%setup -q -n db-%{version} -a 1 %setup -q -n db-%{version} -a 1
cp -rf SQLite-%{realver}/tool lang/sql/sqlite cp %{SOURCE2} .
for code in db_pragma.c db_sequence.c; do tar -xf %{SOURCE3}
sed -i '/$(TOP)\/ext\/misc\/totype.c \\/a\$(TOP)\/..\/adapter\/'$code' \\' lang/sql/sqlite/Makefile.in
done %patch0 -p1
pushd db.1.85/PORT/linux
%patch10 -p0
popd
pushd db.1.85
%patch11 -p0
%patch12 -p0
%patch13 -p0
%patch20 -p1
popd
%patch22 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch9000 -p1
%patch9001 -p1
%patch9002 -p1
pushd dist
./s_config
popd
%build %build
test -d dist/build_db || mkdir dist/build_db CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
CFLAGS="$CFLAGS -DSHAREDSTATEDIR='\"%{_sharedstatedir}\"' -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_DISABLE_DIRSYNC=1 -DSQLITE_ENABLE_FTS3=3 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -I../../../lang/sql/sqlite/ext/fts3/"
export CFLAGS
for dir in dist lang/sql/sqlite; do make -C db.1.85/PORT/%{_os} OORG="$CFLAGS"
cp /usr/lib/rpm/config.{guess,sub} "$dir"
test -d dist/dist-tls || mkdir dist/dist-tls
/bin/sh libtool --tag=CC --mode=compile %{__cc} $RPM_OPT_FLAGS -Idb.1.85/PORT/%{_os}/include -D_REENTRANT -c util/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
for dir in dist lang/sql/sqlite lang/sql/jdbc lang/sql/odbc; do
cp /usr/lib/rpm/%{?_vendor}/config.{guess,sub} "$dir"
done done
pushd dist/build_db pushd dist/dist-tls
%define _configure ../configure %define _configure ../configure
%configure -C \ %configure -C \
--enable-compat185 --disable-dump185 --enable-shared --enable-static \ --enable-compat185 --enable-dump185 --enable-shared --enable-tcl --with-tcl=%{_libdir} \
--enable-tcl --with-tcl=%{_libdir} --enable-cxx --enable-sql \ --enable-cxx --enable-sql --enable-java --enable-test --disable-rpath --with-tcl=%{_libdir}/tcl8.6
--enable-java --enable-test --disable-rpath --with-repmgr-ssl=no
%disable_rpath
%make_build %make_build
popd popd
%install %install
rm -rf ${RPM_BUILD_ROOT} %make_install STRIP=/bin/true -C dist/dist-tls
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
%make_install -C dist/build_db %delete_la
rm -f ${RPM_BUILD_ROOT}%{_libdir}/{libdb.a,libdb_cxx.a,libdb_tcl.a,libdb_sql.a} chmod +x %{buildroot}%{_libdir}/*.so*
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/docs
rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
cp -a %{_libdir}/libdb-5.* ${RPM_BUILD_ROOT}%{_libdir} install -d -m 0755 %{buildroot}%{_includedir}/libdb
cp -a %{_libdir}/libdb_cxx-5.* ${RPM_BUILD_ROOT}%{_libdir} mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/libdb/
cp -a %{_libdir}/libdb_sql-5.* ${RPM_BUILD_ROOT}%{_libdir}
chmod +x ${RPM_BUILD_ROOT}%{_libdir}/*.so* for i in db.h db_cxx.h db_185.h; do
chmod u+w ${RPM_BUILD_ROOT}%{_bindir} ${RPM_BUILD_ROOT}%{_bindir}/* ln -s %{name}/$i %{buildroot}%{_includedir}
done
install -d -m 0755 %{buildroot}%{_datadir}/java
mv %{buildroot}%{_libdir}/*.jar %{buildroot}%{_datadir}/java/
chmod u+w %{buildroot}%{_bindir} %{buildroot}%{_bindir}/*
chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so ${RPM_BUILD_ROOT}%{_bindir}/* chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so ${RPM_BUILD_ROOT}%{_bindir}/*
%pre rm -rf docs/{csharp,installation}
rm -rf %{buildroot}%{_prefix}/docs
rm -rf example/csharp
mv examples docs
install -d -m 0755 %{buildroot}%{_mandir}/man1
mv man/* %{buildroot}%{_mandir}/man1/
%preun %ldconfig_scriptlets
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -p /sbin/ldconfig cxx
%postun -p /sbin/ldconfig cxx
%post -p /sbin/ldconfig tcl
%postun -p /sbin/ldconfig tcl
%post -p /sbin/ldconfig sql
%postun -p /sbin/ldconfig sql
%post -p /sbin/ldconfig java
%postun -p /sbin/ldconfig java
%files %files
%doc README %defattr(-,root,root)
%doc docs/license
%license LICENSE %license LICENSE
%{_libdir}/libdb-*.so %{_bindir}/*
%{_bindir}/db*_archive %{_libdir}/*.so
%{_bindir}/db*_checkpoint %{_datadir}/java/*.jar
%{_bindir}/db*_deadlock %exclude %{_libdir}/libdb.so
%{_bindir}/db*_dump* %exclude %{_libdir}/libdb_cxx.so
%{_bindir}/db*_hotbackup %exclude %{_libdir}/libdb_tcl.so
%{_bindir}/db*_load %exclude %{_libdir}/libdb_sql.so
%{_bindir}/db*_printlog %exclude %{_libdir}/libdb_java.so
%{_bindir}/db*_recover
%{_bindir}/db*_replicate
%{_bindir}/db*_stat
%{_bindir}/db*_upgrade
%{_bindir}/db*_verify
%{_bindir}/db*_tuner
%{_bindir}/db*_convert
%files devel %files devel
%doc examples/* %defattr(-,root,root)
%license EXAMPLES-LICENSE %doc docs/*
%{_libdir}/*.a
%{_libdir}/libdb.so %{_libdir}/libdb.so
%{_includedir}/db.h
%{_includedir}/db_185.h
%{_libdir}/libdb-*.a
%{_libdir}/libdb_cxx-*.a
%{_libdir}/libdb_tcl-*.a
%{_libdir}/libdb_sql-*.a
%{_libdir}/libdb_java-*.a
%files help
%doc docs/*
%files cxx
%{_libdir}/libdb_cxx-*.so
%files cxx-devel
%{_includedir}/db_cxx.h
%{_libdir}/libdb_cxx.so %{_libdir}/libdb_cxx.so
%files tcl
%{_libdir}/libdb_tcl-*.so
%files tcl-devel
%{_libdir}/libdb_tcl.so %{_libdir}/libdb_tcl.so
%files sql
%{_libdir}/libdb_sql-*.so
%files sql-devel
%{_bindir}/dbsql
%{_libdir}/libdb_sql.so %{_libdir}/libdb_sql.so
%{_includedir}/dbsql.h
%files java
%{_libdir}/libdb_java-*.so
%{_libdir}/*.jar
%files java-devel
%{_libdir}/libdb_java.so %{_libdir}/libdb_java.so
%{_includedir}/*
%files help
%defattr(-,root,root)
%doc README
%{_mandir}/man1
%changelog %changelog
* Thu Oct 10 2019 hanxinke<hanxinke@huawei.com> - 18.1.32-2 * Wed Nov 6 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.3.28-35
- Type:enhancement - Add Package version
- ID:NA
- SUG:NA
- DESC:add EXAMPLES-LICENSE to the devel package
* Tue Sep 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 18.1.32-1 * Mon Nov 4 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.3.28-34
- Package init - Package init