package -devel packages correctly
This commit is contained in:
parent
edcd9c975a
commit
5168f20c3a
248
libdb.spec
248
libdb.spec
@ -4,7 +4,7 @@
|
||||
Summary: The Berkeley DB database library for C
|
||||
Name: libdb
|
||||
Version: 5.3.15
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
|
||||
Source1: http://download.oracle.com/berkeley-db/db.1.85.tar.gz
|
||||
Patch0: libdb-multiarch.patch
|
||||
@ -20,12 +20,11 @@ Patch24: db-4.5.20-jni-include-dir.patch
|
||||
URL: http://www.oracle.com/database/berkeley-db/
|
||||
License: BSD
|
||||
Group: System Environment/Libraries
|
||||
BuildRequires: perl, libtool
|
||||
BuildRequires: perl libtool
|
||||
BuildRequires: tcl-devel >= 8.5.2-3
|
||||
BuildRequires: gcc-java
|
||||
BuildRequires: java-devel >= 1:1.6.0
|
||||
BuildRequires: chrpath
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Conflicts: filesystem < 3
|
||||
|
||||
%description
|
||||
@ -41,7 +40,7 @@ be installed on all systems.
|
||||
%package utils
|
||||
Summary: Command line tools for managing Berkeley DB databases
|
||||
Group: Applications/Databases
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description utils
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -54,7 +53,7 @@ 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}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -65,9 +64,10 @@ Berkeley DB.
|
||||
|
||||
%package devel-doc
|
||||
Summary: C development documentation files for the Berkeley DB library
|
||||
Group: Development/Libraries
|
||||
Group: Documentation
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description devel-doc
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -76,24 +76,37 @@ client/server applications. This package contains the header files,
|
||||
libraries, and documentation for building programs which use the
|
||||
Berkeley DB.
|
||||
|
||||
%package static
|
||||
%package devel-static
|
||||
Summary: Berkeley DB static libraries
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
%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 cxx
|
||||
Summary: The Berkeley DB database library for C++
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name}%{?_isa} = %{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 cxx-devel
|
||||
Summary: The Berkeley DB database library for C++
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description cxx-devel
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -105,11 +118,21 @@ 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 tcl
|
||||
Summary: Development files for using the Berkeley DB with tcl
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{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 tcl-devel
|
||||
Summary: Development files for using the Berkeley DB with tcl
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description tcl-devel
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -117,11 +140,21 @@ 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}%{?_isa} = %{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 sql-devel
|
||||
Summary: Development files for using the Berkeley DB with sql
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description sql-devel
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -129,11 +162,21 @@ 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}%{?_isa} = %{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.
|
||||
|
||||
%package java-devel
|
||||
Summary: Development files for using the Berkeley DB with Java
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description java-devel
|
||||
The Berkeley Database (Berkeley DB) is a programmatic toolkit that
|
||||
@ -162,56 +205,44 @@ cd dist
|
||||
./s_config
|
||||
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"; export CFLAGS
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
|
||||
# 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 util/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
|
||||
test -d dist/dist-tls || mkdir dist/dist-tls
|
||||
# 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 util/db_dump185.c -o dist/dist-tls/db_dump185.lo
|
||||
/bin/sh libtool --mode=link %{__cc} -o dist/dist-tls/db_dump185 dist/dist-tls/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 \
|
||||
--enable-java \
|
||||
--enable-test \
|
||||
--with-tcl=%{_libdir}/tcl8.5 \
|
||||
--disable-rpath \
|
||||
# --enable-diagnostic \
|
||||
# --enable-debug --enable-debug_rop --enable-debug_wop \
|
||||
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-sql \
|
||||
--enable-java \
|
||||
--enable-test \
|
||||
--disable-rpath \
|
||||
--with-tcl=%{_libdir}/tcl8.5
|
||||
|
||||
# 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
|
||||
# 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}
|
||||
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
|
||||
# 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
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
@ -222,11 +253,6 @@ mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||||
|
||||
# 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*
|
||||
|
||||
@ -253,9 +279,6 @@ chmod u+w ${RPM_BUILD_ROOT}%{_bindir} ${RPM_BUILD_ROOT}%{_bindir}/*
|
||||
# remove unneeded .la files (#225675)
|
||||
rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
|
||||
|
||||
# avoid fancy permissons
|
||||
chmod 0755 ${RPM_BUILD_ROOT}%{_libdir}/*.so
|
||||
|
||||
# remove RPATHs
|
||||
chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so ${RPM_BUILD_ROOT}%{_bindir}/*
|
||||
|
||||
@ -272,26 +295,50 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%post -p /sbin/ldconfig cxx-devel
|
||||
%post -p /sbin/ldconfig cxx
|
||||
|
||||
%postun -p /sbin/ldconfig cxx-devel
|
||||
%postun -p /sbin/ldconfig cxx
|
||||
|
||||
%post -p /sbin/ldconfig sql-devel
|
||||
%post -p /sbin/ldconfig sql
|
||||
|
||||
%postun -p /sbin/ldconfig sql-devel
|
||||
%postun -p /sbin/ldconfig sql
|
||||
|
||||
%post -p /sbin/ldconfig tcl-devel
|
||||
%post -p /sbin/ldconfig tcl
|
||||
|
||||
%postun -p /sbin/ldconfig tcl-devel
|
||||
%postun -p /sbin/ldconfig tcl
|
||||
|
||||
%post -p /sbin/ldconfig java-devel
|
||||
%post -p /sbin/ldconfig java
|
||||
|
||||
%postun -p /sbin/ldconfig java-devel
|
||||
%postun -p /sbin/ldconfig java
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc LICENSE README
|
||||
%{_libdir}/libdb-%{__soversion}.so
|
||||
%{_libdir}/libdb-%{__soversion_major}.so
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb.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-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc docs/*
|
||||
|
||||
%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
|
||||
%{_libdir}/libdb_java-%{__soversion}.a
|
||||
|
||||
%files utils
|
||||
%defattr(-,root,root,-)
|
||||
@ -309,51 +356,48 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%{_bindir}/db*_verify
|
||||
%{_bindir}/db*_tuner
|
||||
|
||||
%files devel
|
||||
%files cxx
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb.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-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc docs/*
|
||||
|
||||
%files static
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb-%{__soversion}.a
|
||||
%{_libdir}/libdb_cxx-%{__soversion}.a
|
||||
%{_libdir}/libdb_tcl-%{__soversion}.a
|
||||
%{_libdir}/libdb_sql-%{__soversion}.a
|
||||
%{_libdir}/libdb_java-%{__soversion}.a
|
||||
%{_libdir}/libdb_cxx-%{__soversion}.so
|
||||
%{_libdir}/libdb_cxx-%{__soversion_major}.so
|
||||
|
||||
%files cxx-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_cxx.so
|
||||
%{_libdir}/libdb_cxx-%{__soversion}.so
|
||||
|
||||
%files tcl
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_tcl-%{__soversion}.so
|
||||
%{_libdir}/libdb_tcl-%{__soversion_major}.so
|
||||
|
||||
%files tcl-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_tcl-%{__soversion}.so
|
||||
%{_libdir}/libdb_tcl.so
|
||||
|
||||
%files sql
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_sql-%{__soversion}.so
|
||||
%{_libdir}/libdb_sql-%{__soversion_major}.so
|
||||
|
||||
%files sql-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/dbsql
|
||||
%{_libdir}/libdb_sql.so
|
||||
%{_libdir}/libdb_sql-%{__soversion}.so
|
||||
%{_includedir}/%{name}/dbsql.h
|
||||
|
||||
%files java
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_java-%{__soversion_major}*.so
|
||||
%{_datadir}/java/*.jar
|
||||
|
||||
%files java-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libdb_java*.so
|
||||
%{_datadir}/java/*.jar
|
||||
%{_libdir}/libdb_java.so
|
||||
|
||||
%changelog
|
||||
* Sun May 6 2012 Jindrich Novy <jnovy@redhat.com> 5.3.15-3
|
||||
- package -devel packages correctly
|
||||
|
||||
* Sat Apr 21 2012 Jindrich Novy <jnovy@redhat.com> 5.3.15-2
|
||||
- fix multiarch conflict in libdb-devel (#812901)
|
||||
- remove unneeded dos2unix BR
|
||||
|
Loading…
Reference in New Issue
Block a user