]> git.pld-linux.org Git - packages/pwdutils.git/blob - pwdutils.spec
ddb3bcaee49c4a52d151404a5038775e52fa8c48
[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:        5
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-tools
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/tmp}
198 %{__make} install \
199         DESTDIR=$RPM_BUILD_ROOT
200
201 mv -f $RPM_BUILD_ROOT%{_sbindir}/*.local $RPM_BUILD_ROOT%{_sysconfdir}/pwdutils
202 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
203 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/rpasswdd
204 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
205
206 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/chage
207 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chfn
208 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chsh
209 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
210 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
211 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/shadow
212 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/rpasswd
213
214 %{__rm} $RPM_BUILD_ROOT%{_libdir}/pwdutils/*.{la,a}
215 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_*.la
216 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/rpasswdd
217
218 :> $RPM_BUILD_ROOT%{_sysconfdir}/shadow
219 :> $RPM_BUILD_ROOT/etc/security/chfn.allow
220 :> $RPM_BUILD_ROOT/etc/security/chsh.allow
221
222 %find_lang %{name}
223
224 %clean
225 rm -rf $RPM_BUILD_ROOT
226
227 %post
228 if [ ! -f %{_sysconfdir}/shadow ]; then
229         %{_sbindir}/pwconv
230 fi
231
232 %post -n rpasswdd
233 /sbin/chkconfig --add rpasswdd
234 %service rpasswdd restart "rpasswdd daemon"
235
236 %preun -n rpasswdd
237 if [ "$1" = "0" ]; then
238         %service rpasswdd stop
239         /sbin/chkconfig --del rpasswdd
240 fi
241
242 %files -f %{name}.lang
243 %defattr(644,root,root,755)
244 %doc AUTHORS ChangeLog NEWS README THANKS TODO
245 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
246 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/*
247 %attr(750,root,root) %dir %{_sysconfdir}/%{name}
248 %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.local
249 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/logging
250 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
251 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
252 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chsh
253 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/passwd
254 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/useradd
255 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/shadow
256 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
257 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chfn.allow
258 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
259 %dir %config(missingok) %attr(700,root,root) /etc/skel/tmp
260 %attr(755,root,root) %{_bindir}/chage
261 %attr(4755,root,root) %{_bindir}/chfn
262 %attr(4755,root,root) %{_bindir}/chsh
263 %attr(4755,root,root) %{_bindir}/expiry
264 %attr(4755,root,root) %{_bindir}/gpasswd
265 %attr(4755,root,root) %{_bindir}/newgrp
266 %attr(4755,root,root) %{_bindir}/passwd
267 %attr(4755,root,root) %{_bindir}/sg
268 %attr(755,root,root) %{_sbindir}/chpasswd
269 %attr(755,root,root) %{_sbindir}/groupadd
270 %attr(755,root,root) %{_sbindir}/groupdel
271 %attr(755,root,root) %{_sbindir}/groupmod
272 %attr(755,root,root) %{_sbindir}/grpconv
273 %attr(755,root,root) %{_sbindir}/grpck
274 %attr(755,root,root) %{_sbindir}/grpunconv
275 %attr(755,root,root) %{_sbindir}/pwconv
276 %attr(755,root,root) %{_sbindir}/pwck
277 %attr(755,root,root) %{_sbindir}/pwunconv
278 %attr(755,root,root) %{_sbindir}/useradd
279 %attr(755,root,root) %{_sbindir}/userdel
280 %attr(755,root,root) %{_sbindir}/usermod
281 %attr(755,root,root) %{_sbindir}/vigr
282 %attr(755,root,root) %{_sbindir}/vipw
283 %dir %{_libdir}/pwdutils
284 %attr(755,root,root) %{_libdir}/pwdutils/liblog_syslog.so*
285 %{_mandir}/man1/chage.1*
286 %{_mandir}/man1/chfn.1*
287 %{_mandir}/man1/chsh.1*
288 %{_mandir}/man1/expiry.1*
289 %{_mandir}/man1/gpasswd.1*
290 %{_mandir}/man1/newgrp.1*
291 %{_mandir}/man1/passwd.1*
292 %{_mandir}/man1/sg.1*
293 %{_mandir}/man5/login.defs.5*
294 %{_mandir}/man8/chpasswd.8*
295 %{_mandir}/man8/groupadd.8*
296 %{_mandir}/man8/groupdel.8*
297 %{_mandir}/man8/groupmod.8*
298 %{_mandir}/man8/grpck.8*
299 %{_mandir}/man8/grpconv.8*
300 %{_mandir}/man8/grpunconv.8*
301 %{_mandir}/man8/pwck.8*
302 %{_mandir}/man8/pwconv.8*
303 %{_mandir}/man8/pwunconv.8*
304 %{_mandir}/man8/useradd.8*
305 %{_mandir}/man8/userdel.8*
306 %{_mandir}/man8/usermod.8*
307 %{_mandir}/man8/vigr.8*
308 %{_mandir}/man8/vipw.8*
309
310 %if %{with audit}
311 %files log-audit
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_libdir}/pwdutils/liblog_audit.so*
314 %endif
315
316 %files -n rpasswd
317 %defattr(644,root,root,755)
318 %attr(755,root,root) %{_bindir}/rpasswd
319 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpasswd.conf
320 %{_mandir}/man1/rpasswd.1*
321 %{_mandir}/man5/rpasswd.conf.5*
322
323 %files -n rpasswdd
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_sbindir}/rpasswdd
326 %attr(754,root,root) /etc/rc.d/init.d/rpasswdd
327 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/rpasswd
328 %{_mandir}/man8/rpasswdd.8*
329
330 %files -n pam-pam_rpasswd
331 %defattr(644,root,root,755)
332 %attr(755,root,root) /%{_lib}/security/pam_rpasswd.so
333 %{_mandir}/man8/pam_rpasswd.8*
This page took 0.063406 seconds and 2 git commands to generate.