]> git.pld-linux.org Git - packages/nss_db.git/blob - nss_db.spec
- BR: db-devel, gcc-c++ (because of broken configure)
[packages/nss_db.git] / nss_db.spec
1 # 4.8 makes libpthread a hard requirement
2 # 4.7 has a heavier footprint
3 %define         db_version      4.6.21
4
5 %define         subver          pre1
6 %define         rel                     11
7 Summary:        Berkeley DB Name Service Switch Module
8 Summary(pl.UTF-8):      Moduł NSS do baz db
9 Name:           nss_db
10 Version:        2.2.3
11 Release:        0.%{subver}.%{rel}
12 # DB is under the Sleepycat (Oracle) license.
13 # nss_db is under the LGPLv2+ license.
14 License:        Sleepycat and LGPL v2+
15 Group:          Base
16 Source0:        ftp://sources.redhat.com/pub/glibc/old-releases/%{name}-%{version}%{subver}.tar.gz
17 # Source0-md5:  b4440ba2865d28e9068e465426c19ede
18 Source1:        http://download.oracle.com/berkeley-db/db-%{db_version}.tar.gz
19 # Source1-md5:  718082e7e35fc48478a2334b0bc4cd11
20 Patch0:         %{name}-chmod_644.patch
21 Patch1:         %{name}-amfix.patch
22 Patch2:         %{name}-glibc23.patch
23 Patch3:         %{name}-db41.patch
24 Patch4:         %{name}-errno.patch
25 Patch5:         %{name}-link.patch
26 Patch6:         %{name}-enoent.patch
27 Patch7:         %{name}-uniqdb.patch
28 Patch8:         %{name}-initialize.patch
29 Patch9:         %{name}-selinux.patch
30 Patch10:        %{name}-makedb-atomic.patch
31 Patch101:       http://www.oracle.com/technology/products/berkeley-db/db/update/4.6.21/patch.4.6.21.1
32 Patch102:       http://www.oracle.com/technology/products/berkeley-db/db/update/4.6.21/patch.4.6.21.2
33 Patch103:       http://www.oracle.com/technology/products/berkeley-db/db/update/4.6.21/patch.4.6.21.3
34 Patch104:       http://www.oracle.com/technology/products/berkeley-db/db/update/4.6.21/patch.4.6.21.4
35 BuildRequires:  autoconf
36 BuildRequires:  automake >= 1.4
37 BuildRequires:  db-devel
38 # because of broken configure
39 BuildRequires:  gcc-c++
40 BuildRequires:  gettext-devel
41 BuildRequires:  glibc-devel >= 2.3
42 BuildRequires:  libselinux-devel
43 BuildRequires:  libtool
44 Requires:       glibc >= 6:2.3
45 Requires:       make
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 # private symbols
49 %define         _noautoprov             .*\(GLIBC_PRIVATE\)
50 %define         _noautoreq              .*\(GLIBC_PRIVATE\)
51
52 %description
53 This is nss_db, a name service switch module that can be used with
54 glibc-2.2.x.
55
56 %description -l pl.UTF-8
57 To jest nss_db, moduł do serwisu nazw, który może być używany z
58 glibc-2.2.x.
59
60 %prep
61 %setup -q -n %{name}-%{version}%{subver} -a1
62 %patch0 -p1
63 %patch1 -p1
64 %patch2 -p1
65 %patch3 -p1
66 %patch4 -p1
67 %patch5 -p1
68 %patch6 -p1
69 %patch7 -p1
70 %patch8 -p1
71 %patch9 -p1
72 %patch10 -p1
73
74 mkdir db-build
75 cd db-%{db_version}
76 %patch101 -p0
77 %patch102 -p0
78 %patch103 -p0
79 %patch104 -p0
80
81 %build
82 dbdir=$(pwd)/db-instroot
83 cd db-build
84
85 CC="%{__cc}"
86 CXX="%{__cxx}"
87 CFLAGS="%{rpmcflags}"
88 CXXFLAGS="%{rpmcflags} -fno-implicit-templates"
89 LDFLAGS="%{rpmcflags} %{rpmldflags}"
90 export CC CXX CFLAGS CXXFLAGS LDFLAGS
91
92 echo db_cv_mutex=UNIX/fcntl > config.cache
93 ../db-%{db_version}/dist/configure -C \
94         --disable-compat185 \
95         --disable-cxx \
96         --disable-diagnostic \
97         --disable-dump185 \
98         --disable-java \
99         --disable-rpc \
100         --disable-tcl \
101         --disable-shared \
102         --disable-cryptography \
103         --disable-hash \
104         --disable-queue \
105         --disable-replication \
106         --disable-statistics \
107         --disable-verify \
108         --with-pic \
109         --with-uniquename=_nssdb \
110         --prefix=$dbdir \
111         --libdir=$dbdir/lib
112 %{__make}
113 %{__make} install
114 cd ..
115
116 %{__gettextize}
117 %{__libtoolize}
118 %{__aclocal}
119 %{__autoconf}
120 %{__autoheader}
121 %{__automake}
122 %configure \
123         --with-db=${dbdir} \
124         --with-selinux
125
126 %{__make} \
127         slibdir=/%{_lib}
128
129 # Check for any problems, since we filter GLIBC_PRIVATE provs
130 # in glibc package and deps here
131 cat >> test-dlopen.c << _EOF
132 #include <dlfcn.h>
133 /* Simple program to see if dlopen() would succeed. */
134 int main(int argc, char **argv)
135 {
136         if (dlopen(argv[1], RTLD_NOW))
137                 return 0;
138         return 1;
139 }
140 _EOF
141
142 %{__cc} %{rpmcflags} -o test-dlopen test-dlopen.c -ldl
143
144 ./test-dlopen src/.libs/libnss_db.so.2.0.0
145
146 %install
147 rm -rf $RPM_BUILD_ROOT
148 install -d $RPM_BUILD_ROOT{/%{_lib},/var/db}
149
150 %{__make} install \
151         slibdir=/%{_lib} \
152         DESTDIR=$RPM_BUILD_ROOT
153
154 rm $RPM_BUILD_ROOT%{_libdir}/libnss_db.so
155 cp -a db-Makefile $RPM_BUILD_ROOT/var/db/Makefile
156
157 cat << EOF -> $RPM_BUILD_ROOT%{_bindir}/create-db
158 #!/bin/sh
159 %{__make} -sC /var/db
160 EOF
161
162 ln -sf create-db $RPM_BUILD_ROOT%{_bindir}/update-db
163
164 %find_lang %{name}
165
166 %clean
167 rm -rf $RPM_BUILD_ROOT
168
169 %post   -p /sbin/ldconfig
170 %postun -p /sbin/ldconfig
171
172 %files -f %{name}.lang
173 %defattr(644,root,root,755)
174 %doc AUTHORS ChangeLog NEWS README THANKS
175 %attr(755,root,root) /%{_lib}/libnss_db-*.so
176 %attr(755,root,root) %ghost /%{_lib}/libnss_db.so.2
177 %attr(755,root,root) %{_bindir}/create-db
178 %attr(755,root,root) %{_bindir}/makedb
179 %attr(755,root,root) %{_bindir}/update-db
180
181 %config(noreplace) %verify(not md5 mtime size) /var/db/Makefile
This page took 0.103162 seconds and 3 git commands to generate.