5fa274078cd2e0af495703b18997d5084ef70ac8
[platform/upstream/gdbm.git] / packaging / gdbm.spec
1 %define keepstatic 1
2
3 Name:           gdbm
4 %define lname   libgdbm
5 Url:            http://directory.fsf.org/GNU/gdbm.html
6 Version:        1.10
7 Release:        0
8 License:        GPL-2.0+
9 Summary:        GNU dbm key/data database
10 Group:          System/Libraries
11 Source:         ftp://prep.ai.mit.edu/gnu/gdbm/gdbm-%{version}.tar.gz
12 Source2:        baselibs.conf
13 BuildRequires:  libtool
14
15 %description
16 GNU dbm is a library of database functions that use extensible
17 hashing and work similar to the standard UNIX dbm. These routines are
18 provided to a programmer needing to create and manipulate a hashed
19 database.
20
21 The basic use of GDBM is to store key/data pairs in a data file. Each
22 key must be unique and each key is paired with only one data item.
23
24 The library provides primitives for storing key/data pairs, searching
25 and retrieving the data by its key and deleting a key along with its
26 data. It also supports sequential iteration over all key/data pairs in
27 a database.
28
29 For compatibility with programs using old UNIX dbm functions, the
30 package also provides traditional dbm and ndbm interfaces.
31
32 %package -n %lname
33 License:        GPL-2.0+
34 Summary:        GNU dbm key/data database
35 Group:          System/Libraries
36 Obsoletes:      gdbm < %{version}-%{release}
37 Provides:       gdbm = %{version}-%{release}
38
39 %description -n %lname
40 GNU dbm is a library of database functions that use extensible
41 hashing and work similar to the standard UNIX dbm. These routines are
42 provided to a programmer needing to create and manipulate a hashed
43 database.
44
45 The basic use of GDBM is to store key/data pairs in a data file. Each
46 key must be unique and each key is paired with only one data item.
47
48 The library provides primitives for storing key/data pairs, searching
49 and retrieving the data by its key and deleting a key along with its
50 data. It also supports sequential iteration over all key/data pairs in
51 a database.
52
53 For compatibility with programs using old UNIX dbm functions, the
54 package also provides traditional dbm and ndbm interfaces.
55
56 %package devel
57 License:        GPL-2.0+ ; LGPL-2.1+
58 Summary:        Include Files and Libraries mandatory for Development
59 Group:          Development/Libraries/C and C++
60 Requires:       gdbm = %{version}
61 Provides:       gdbm:/usr/lib/libgdbm.so
62
63 %description devel
64 This package contains all necessary include files and libraries needed
65 to develop applications that require these.
66
67 %prep
68 %setup -q
69
70 %build
71 export CFLAGS="%{optflags} -Wa,--noexecstack"
72 %configure --enable-libgdbm-compat --disable-nls
73 make %{?_smp_mflags};
74
75 %install
76 %make_install
77 echo "/* GNU ld script
78    Use the shared library, but some functions are only in
79    the static library, so try that secondarily.  */
80 GROUP ( %{_libdir}/libgdbm.so %{_libdir}/libgdbm_compat.so )" > %{buildroot}/%{_libdir}/libndbm.so
81 echo "/* GNU ld script
82    Use the shared library, but some functions are only in
83    the static library, so try that secondarily.  */
84 GROUP ( %{_libdir}/libgdbm.a %{_libdir}/libgdbm_compat.a )" > %{buildroot}/%{_libdir}/libndbm.a
85
86 %post -n %lname -p /sbin/ldconfig
87
88 %postun -n %lname -p /sbin/ldconfig
89
90 %files -n  %lname
91 %defattr(-,root,root)
92 %doc COPYING
93 %{_libdir}/libgdbm.so.4
94 %{_libdir}/libgdbm.so.4.0.0
95 %{_libdir}/libgdbm_compat.so.4
96 %{_libdir}/libgdbm_compat.so.4.0.0
97
98 %files devel
99 %defattr(-,root,root)
100 %{_bindir}/testgdbm
101 %{_includedir}/dbm.h
102 %{_includedir}/gdbm.h
103 %{_includedir}/ndbm.h
104 %{_infodir}/gdbm.info.gz
105 %{_libdir}/libgdbm.a
106 %{_libdir}/libgdbm.so
107 %{_libdir}/libgdbm_compat.a
108 %{_libdir}/libgdbm_compat.so
109 %{_libdir}/libndbm.a
110 %{_libdir}/libndbm.so
111 %{_mandir}/man3/gdbm.3.gz
112