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