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