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