1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
%define keepstatic 1
Name: gdbm
%define lname libgdbm
Url: http://directory.fsf.org/GNU/gdbm.html
Version: 1.11
Release: 0
License: GPL-2.0+
Summary: GNU dbm key/data database
Group: System/Libraries
Source: ftp://prep.ai.mit.edu/gnu/gdbm/gdbm-%{version}.tar.gz
Source2: baselibs.conf
Source1001: gdbm.manifest
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
License: GPL-2.0+
Summary: GNU dbm key/data database
Group: System/Libraries
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
License: GPL-2.0+ and LGPL-2.1+
Summary: Include Files and Libraries mandatory for Development
Group: System/Libraries
Requires: gdbm = %{version}
Provides: gdbm:/usr/lib/libgdbm.so
%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%prep
%setup -q
cp %{SOURCE1001} .
%build
export CFLAGS="%{optflags} -Wa,--noexecstack"
%configure --enable-libgdbm-compat --disable-nls
%__make %{?_smp_mflags};
%install
%make_install
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 )" > %{buildroot}/%{_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 )" > %{buildroot}/%{_libdir}/libndbm.a
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%manifest %{name}.manifest
%defattr(-,root,root)
%license COPYING
%{_bindir}/gdbm_dump
%{_bindir}/gdbm_load
%{_bindir}/gdbmtool
%{_libdir}/libgdbm.so.4
%{_libdir}/libgdbm.so.4.0.0
%{_libdir}/libgdbm_compat.so.4
%{_libdir}/libgdbm_compat.so.4.0.0
%files devel
%manifest %{name}.manifest
%defattr(-,root,root)
%{_includedir}/dbm.h
%{_includedir}/gdbm.h
%{_includedir}/ndbm.h
%{_infodir}/gdbm.info.gz
%{_libdir}/libgdbm.a
%{_libdir}/libgdbm.so
%{_libdir}/libgdbm_compat.a
%{_libdir}/libgdbm_compat.so
%{_libdir}/libndbm.a
%{_libdir}/libndbm.so
%{_mandir}/man3/gdbm.3.gz
%{_mandir}/man1/gdbm_dump.1.gz
%{_mandir}/man1/gdbm_load.1.gz
%{_mandir}/man1/gdbmtool.1.gz
|