gdbm/gdbm.spec

173 lines
5.2 KiB
RPMSpec

#
# spec file for package gdbm
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: gdbm
%define lname libgdbm3
Url: http://directory.fsf.org/GNU/gdbm.html
#!BuildIgnore: man
# bug437293
%ifarch ppc64
Obsoletes: gdbm-64bit
%endif
#
Version: 1.8.3
Release: 0
Summary: GNU dbm key/data database
License: GPL-2.0+
Group: System/Libraries
Source: ftp://prep.ai.mit.edu/gnu/gdbm/gdbm-%{version}.tar.bz2
Source2: baselibs.conf
Patch: gdbm-%{version}.dif
Patch1: gdbm-protoize_dbm_headers.patch
Patch2: gdbm-prototype_static_functions.patch
Patch3: gdbm-fix_testprogs.patch
Patch4: gdbm-1.8.3-no-build-date.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libtool
%description
GNU dbm is a library of database functions that use extensible
hashing and work similar to the standard UNIX dbm. These routines are
provided to a programmer needing to create and manipulate a hashed
database.
The basic use of GDBM is to store key/data pairs in a data file. Each
key must be unique and each key is paired with only one data item.
The library provides primitives for storing key/data pairs, searching
and retrieving the data by its key and deleting a key along with its
data. It also supports sequential iteration over all key/data pairs in
a database.
For compatibility with programs using old UNIX dbm functions, the
package also provides traditional dbm and ndbm interfaces.
%package -n %lname
Summary: GNU dbm key/data database
License: GPL-2.0+
Group: System/Libraries
# O/P added in 12.2
Obsoletes: gdbm < %version-%release
Provides: gdbm = %version-%release
%description -n %lname
GNU dbm is a library of database functions that use extensible
hashing and work similar to the standard UNIX dbm. These routines are
provided to a programmer needing to create and manipulate a hashed
database.
The basic use of GDBM is to store key/data pairs in a data file. Each
key must be unique and each key is paired with only one data item.
The library provides primitives for storing key/data pairs, searching
and retrieving the data by its key and deleting a key along with its
data. It also supports sequential iteration over all key/data pairs in
a database.
For compatibility with programs using old UNIX dbm functions, the
package also provides traditional dbm and ndbm interfaces.
%package devel
Summary: Include Files and Libraries mandatory for Development
License: GPL-2.0+ ; LGPL-2.1+
Group: Development/Libraries/C and C++
Requires: gdbm = %{version}
Provides: gdbm:/usr/lib/libgdbm.so
PreReq: %install_info_prereq
# bug437293
%ifarch ppc64
Obsoletes: gdbm-devel-64bit
%endif
#
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
Authors:
--------
Jason Downs <downsj@downsj.com>
Phil Nelson <phil@unicorn.wwu.edu>
%prep
%setup -q
%patch
%patch1
%patch2
%patch3
%patch4
%build
aclocal
autoreconf --force --install
%ifarch sparc64
export CC="gcc -m64"
%endif
export CFLAGS="$RPM_OPT_FLAGS -Wa,--noexecstack"
%configure
make %{?_smp_mflags};
%install
make install INSTALL_ROOT=$RPM_BUILD_ROOT
make install-compat INSTALL_ROOT=$RPM_BUILD_ROOT
echo "/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
GROUP ( %_libdir/libgdbm.so %_libdir/libgdbm_compat.so )" > $RPM_BUILD_ROOT/%{_libdir}/libndbm.so
echo "/* GNU ld script
Use the shared library, but some functions are only in
the static library, so try that secondarily. */
GROUP ( %_libdir/libgdbm.a %_libdir/libgdbm_compat.a )" > $RPM_BUILD_ROOT/%{_libdir}/libndbm.a
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%defattr(-,root,root)
%doc COPYING README NEWS
%_libdir/libgdbm.so.3
%_libdir/libgdbm.so.3.0.0
%_libdir/libgdbm_compat.so.3
%_libdir/libgdbm_compat.so.3.0.0
%files devel
%defattr(-,root,root)
%{_prefix}/include/dbm.h
%{_prefix}/include/gdbm.h
%{_prefix}/include/ndbm.h
%{_infodir}/gdbm.info.gz
%{_prefix}/%{_lib}/libgdbm.a
%{_prefix}/%{_lib}/libgdbm.so
%{_prefix}/%{_lib}/libgdbm_compat.a
%{_prefix}/%{_lib}/libgdbm_compat.so
%{_prefix}/%{_lib}/libndbm.a
%{_prefix}/%{_lib}/libndbm.so
%{_mandir}/man3/gdbm.3.gz
%exclude %{_libdir}/*.la
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%changelog