]> git.pld-linux.org Git - packages/pwdutils.git/blob - pwdutils.spec
add xcrypt bcond
[packages/pwdutils.git] / pwdutils.spec
1 #
2 # Conditional build:
3 %bcond_without  audit           # don't build audit log plugin
4 %bcond_without  ldap            # build without LDAP support
5 %bcond_without  selinux         # build without SELinux support
6 %bcond_without  xcrypt          # crypt() from libxcrypt
7 %bcond_with     bioapi          # with BioAPI support in passwd
8 %bcond_with     gnutls          # use GnuTLS instead of OpenSSL
9
10 Summary:        Utilities to manage the passwd and shadow user information
11 Summary(pl.UTF-8):      Narzędzia do zarządzania informacjami o użytkownikach z passwd i shadow
12 Name:           pwdutils
13 Version:        3.2.19
14 Release:        3
15 License:        GPL v2
16 Group:          Base
17 #Source0:       ftp://ftp.kernel.org/pub/linux/utils/net/NIS/%{name}-%{version}.tar.bz2
18 Source0:        http://www.linux-nis.org/download/pwdutils/%{name}-%{version}.tar.bz2
19 # Source0-md5:  25a77a0ab376eacf24ad5eab7af4cdce
20 Source1:        %{name}.useradd
21 Source2:        %{name}.rpasswdd.init
22 Source3:        %{name}.login.defs
23 Source4:        chage.pamd
24 Source5:        chfn.pamd
25 Source6:        chsh.pamd
26 Source7:        passwd.pamd
27 Source8:        useradd.pamd
28 Source9:        userdb.pamd
29 Source10:       rpasswd.pamd
30 Patch0:         %{name}-f-option.patch
31 Patch1:         %{name}-no_bash.patch
32 Patch2:         %{name}-silent_crontab.patch
33 Patch3:         %{name}-pl.po-update.patch
34 Patch4:         %{name}-selinux.patch
35 Patch5:         %{name}-am.patch
36 Patch6:         %{name}-libc-lock.patch
37 Patch7:         %{name}-format-security.patch
38 Patch8:         dlsym.patch
39 URL:            http://www.thkukuk.de/pam/pwdutils/
40 %{?with_audit:BuildRequires:    audit-libs-devel}
41 BuildRequires:  autoconf
42 BuildRequires:  automake >= 1:1.9
43 %{?with_bioapi:BuildRequires:   bioapi-devel}
44 BuildRequires:  gcc >= 5:3.2
45 BuildRequires:  gettext-devel
46 %{?with_gnutls:BuildRequires:   gnutls-devel >= 1.0.0}
47 BuildRequires:  libnscd-devel
48 %{?with_selinux:BuildRequires:  libselinux-devel}
49 BuildRequires:  libtool
50 %{?with_xcrypt:BuildRequires:   libxcrypt-devel}
51 %{?with_ldap:BuildRequires:     openldap-devel >= 2.3.0}
52 BuildRequires:  openslp-devel
53 %{!?with_gnutls:BuildRequires:  openssl-devel >= 0.9.7d}
54 BuildRequires:  pam-devel
55 BuildRequires:  rpmbuild(macros) >= 1.268
56 BuildRequires:  sed >= 4.0
57 Requires:       pam >= 0.99.7.1
58 Suggests:       make
59 Provides:       shadow = 2:%{version}-%{release}
60 Provides:       shadow-extras = 2:%{version}-%{release}
61 Obsoletes:      shadow
62 Obsoletes:      shadow-extras
63 Obsoletes:      shadow-utils
64 Conflicts:      util-linux < 2.12-10
65 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66
67 # for pam module in /%{_lib}/security
68 %define         _libdir         /%{_lib}
69
70 %description
71 pwdutils is a collection of utilities to manage the passwd and shadow
72 user information. The difference to the shadow suite is that these
73 utilities can also modify the information stored in NIS, NIS+, or
74 LDAP. PAM is used for user authentication and changing the pasword. It
75 contains passwd, chage, chfn, chsh, and a daemon for changing the
76 password on a remote machine over a secure SSL connection. The daemon
77 also uses PAM so that it can change passwords independent of where
78 they are stored.
79
80 %description -l pl.UTF-8
81 pwdutils to zestaw narzędzi do zarządzania informacjami o
82 użytkownikach z passwd i shadow. Różnica w stosunku do pakietu shadow
83 polega na tym, że te narzędzia mogą także modyfikować informacje
84 zapisane w bazie NIS, NIS+ lub LDAP. PAM jest używany do
85 uwierzytelniania użytkowników i zmiany haseł. Zestaw zawiera passwd,
86 chage, chfn, chsh oraz demona do zmiany hasła na zdalnej maszynie po
87 bezpiecznym połączeniu SSL. Demon także używa PAM, więc można zmieniać
88 hasła niezależnie od tego, gdzie są przechowywane.
89
90 %package log-audit
91 Summary:        audit log plugin for pwdutils
92 Summary(pl.UTF-8):      Wtyczka logująca audit dla pwdutils
93 Group:          Libraries
94 Requires:       %{name} = %{version}-%{release}
95
96 %description log-audit
97 audit log plugin for pwdutils.
98
99 %description log-audit -l pl.UTF-8
100 Wtyczka logująca audit dla pwdutils.
101
102 %package -n rpasswd
103 Summary:        Remote password update client
104 Summary(pl.UTF-8):      Klient do zdalnego uaktualniania haseł
105 Group:          Applications/System
106
107 %description -n rpasswd
108 rpasswd changes passwords for user accounts on a remote server over a
109 secure SSL connection. A normal user may only change the password for
110 their own account, if the user knows the password of the administrator
111 account (in the moment this is the root password on the server), he
112 may change the password for any account if he calls rpasswd with the
113 -a option.
114
115 %description -n rpasswd -l pl.UTF-8
116 rpasswd pozwala zmieniać hasła użytkowników na zdalnym serwerze przy
117 użyciu bezpiecznego połączenia SSL. Zwykły użytkownik może zmienić
118 jedynie swoje hasło, a jeśli zna hasło administratora (obecnie jest to
119 hasło roota na serwerze), może zmienić hasło dla dowolnego konta
120 wywołując rpasswd z opcją -a.
121
122 %package -n rpasswdd
123 Summary:        Remote password update daemon
124 Summary(pl.UTF-8):      Demon do zdalnego uaktualniania haseł
125 Group:          Applications/System
126 Requires(post,preun):   /sbin/chkconfig
127 Requires:       rc-scripts
128
129 %description -n rpasswdd
130 rpasswdd is a daemon that lets users change their passwords in the
131 presence of a directory service like NIS, NIS+ or LDAP over a secure
132 SSL connection. rpasswdd behaves like the normal passwd(1) program and
133 uses PAM for authentication and changing the password, so it can be
134 configured very flexible for the local requirements.
135
136 %description -n rpasswdd -l pl.UTF-8
137 rpasswdd to demon pozwalający użytkownikom zmieniać hasła w obecności
138 usług katalogowych takich jak NIS, NIS+ czy LDAP po bezpiecznym
139 połączeniu SSL. rpasswdd zachowuje się tak, jak normalny program
140 passwd(1) i używam PAM do uwierzytelniania i zmiany haseł, więc może
141 być bardzo elastycznie konfigurowany dla lokalnych wymagań.
142
143 %package -n pam-pam_rpasswd
144 Summary:        pam_rpasswd - PAM module to change remote password
145 Summary(pl.UTF-8):      pam_rpasswd - moduł PAM do zdalnej zmiany hasła
146 Group:          Base
147 # rpasswd.conf is in rpasswd
148 Requires:       rpasswd = %{version}-%{release}
149
150 %description -n pam-pam_rpasswd
151 The pam_rpasswd PAM module is for changing the password of user
152 accounts on a remote server over a secure SSL connection. It only
153 provides functionality for one PAM management group: password
154 changing.
155
156 %description -n pam-pam_rpasswd -l pl.UTF-8
157 Moduł PAM pam_rpasswd służy do zmiany haseł dla kont użytkowników na
158 zdalnym serwerze po bezpiecznym połączeniu SSL. Udostępnia
159 funkcjonalność tylko dla jednej grupy zarządzania PAM: zmiany haseł.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %patch1 -p1
165 %patch2 -p1
166 %patch3 -p1
167 %patch4 -p1
168 %patch5 -p1
169 %patch6 -p1
170 %patch7 -p1
171 %patch8 -p1
172
173 %{__rm} po/stamp-po
174
175 %build
176 %{__gettextize}
177 %{__libtoolize}
178 %{__aclocal} -I m4
179 %{__autoconf}
180 %{__autoheader}
181 %{__automake}
182 %configure \
183         %{?with_bioapi:CPPFLAGS="-I/usr/include/bioapi"} \
184         %{!?with_bioapi:ac_cv_header_bioapi_h=no ac_cv_lib_bioapi100_BioAPI_Init=no} \
185         %{?with_audit:--enable-audit-plugin} \
186         %{!?with_gnutls:--disable-gnutls} \
187         --%{?with_ldap:en}%{!?with_ldap:dis}able-ldap \
188         --enable-nls \
189         --enable-pam_rpasswd \
190         --%{?with_selinux:en}%{!?with_selinux:dis}able-selinux \
191         --enable-slp \
192         --disable-rpath
193 %{__make}
194
195 %install
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pwdutils,security,skel/{etc,tmp}}
198
199 %{__make} install \
200         DESTDIR=$RPM_BUILD_ROOT
201
202 mv -f $RPM_BUILD_ROOT%{_sbindir}/*.local $RPM_BUILD_ROOT%{_sysconfdir}/pwdutils
203 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
204 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/rpasswdd
205 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
206
207 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/chage
208 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chfn
209 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chsh
210 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
211 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
212 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/shadow
213 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/rpasswd
214
215 %{__rm} $RPM_BUILD_ROOT%{_libdir}/pwdutils/*.{la,a}
216 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_*.la
217 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/rpasswdd
218
219 :> $RPM_BUILD_ROOT%{_sysconfdir}/shadow
220 :> $RPM_BUILD_ROOT/etc/security/chfn.allow
221 :> $RPM_BUILD_ROOT/etc/security/chsh.allow
222
223 %find_lang %{name}
224
225 %clean
226 rm -rf $RPM_BUILD_ROOT
227
228 %post
229 if [ ! -f %{_sysconfdir}/shadow ]; then
230         %{_sbindir}/pwconv
231 fi
232
233 %post -n rpasswdd
234 /sbin/chkconfig --add rpasswdd
235 %service rpasswdd restart "rpasswdd daemon"
236
237 %preun -n rpasswdd
238 if [ "$1" = "0" ]; then
239         %service rpasswdd stop
240         /sbin/chkconfig --del rpasswdd
241 fi
242
243 %files -f %{name}.lang
244 %defattr(644,root,root,755)
245 %doc AUTHORS ChangeLog NEWS README THANKS TODO
246 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
247 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/*
248 %attr(750,root,root) %dir %{_sysconfdir}/%{name}
249 %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.local
250 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/logging
251 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
252 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
253 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chsh
254 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/passwd
255 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/useradd
256 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/shadow
257 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
258 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chfn.allow
259 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
260 %dir /etc/skel
261 %dir %config(missingok) %attr(700,root,root) /etc/skel/tmp
262 %attr(755,root,root) %{_bindir}/chage
263 %attr(4755,root,root) %{_bindir}/chfn
264 %attr(4755,root,root) %{_bindir}/chsh
265 %attr(4755,root,root) %{_bindir}/expiry
266 %attr(4755,root,root) %{_bindir}/gpasswd
267 %attr(4755,root,root) %{_bindir}/newgrp
268 %attr(4755,root,root) %{_bindir}/passwd
269 %attr(4755,root,root) %{_bindir}/sg
270 %attr(755,root,root) %{_sbindir}/chpasswd
271 %attr(755,root,root) %{_sbindir}/groupadd
272 %attr(755,root,root) %{_sbindir}/groupdel
273 %attr(755,root,root) %{_sbindir}/groupmod
274 %attr(755,root,root) %{_sbindir}/grpconv
275 %attr(755,root,root) %{_sbindir}/grpck
276 %attr(755,root,root) %{_sbindir}/grpunconv
277 %attr(755,root,root) %{_sbindir}/pwconv
278 %attr(755,root,root) %{_sbindir}/pwck
279 %attr(755,root,root) %{_sbindir}/pwunconv
280 %attr(755,root,root) %{_sbindir}/useradd
281 %attr(755,root,root) %{_sbindir}/userdel
282 %attr(755,root,root) %{_sbindir}/usermod
283 %attr(755,root,root) %{_sbindir}/vigr
284 %attr(755,root,root) %{_sbindir}/vipw
285 %dir %{_libdir}/pwdutils
286 %attr(755,root,root) %{_libdir}/pwdutils/liblog_syslog.so*
287 %{_mandir}/man1/chage.1*
288 %{_mandir}/man1/chfn.1*
289 %{_mandir}/man1/chsh.1*
290 %{_mandir}/man1/expiry.1*
291 %{_mandir}/man1/gpasswd.1*
292 %{_mandir}/man1/newgrp.1*
293 %{_mandir}/man1/passwd.1*
294 %{_mandir}/man1/sg.1*
295 %{_mandir}/man5/login.defs.5*
296 %{_mandir}/man8/chpasswd.8*
297 %{_mandir}/man8/groupadd.8*
298 %{_mandir}/man8/groupdel.8*
299 %{_mandir}/man8/groupmod.8*
300 %{_mandir}/man8/grpck.8*
301 %{_mandir}/man8/grpconv.8*
302 %{_mandir}/man8/grpunconv.8*
303 %{_mandir}/man8/pwck.8*
304 %{_mandir}/man8/pwconv.8*
305 %{_mandir}/man8/pwunconv.8*
306 %{_mandir}/man8/useradd.8*
307 %{_mandir}/man8/userdel.8*
308 %{_mandir}/man8/usermod.8*
309 %{_mandir}/man8/vigr.8*
310 %{_mandir}/man8/vipw.8*
311
312 %if %{with audit}
313 %files log-audit
314 %defattr(644,root,root,755)
315 %attr(755,root,root) %{_libdir}/pwdutils/liblog_audit.so*
316 %endif
317
318 %files -n rpasswd
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_bindir}/rpasswd
321 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpasswd.conf
322 %{_mandir}/man1/rpasswd.1*
323 %{_mandir}/man5/rpasswd.conf.5*
324
325 %files -n rpasswdd
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_sbindir}/rpasswdd
328 %attr(754,root,root) /etc/rc.d/init.d/rpasswdd
329 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/rpasswd
330 %{_mandir}/man8/rpasswdd.8*
331
332 %files -n pam-pam_rpasswd
333 %defattr(644,root,root,755)
334 %attr(755,root,root) /%{_lib}/security/pam_rpasswd.so
335 %{_mandir}/man8/pam_rpasswd.8*
This page took 0.078103 seconds and 4 git commands to generate.