# # spec file for package shadow # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: shadow Version: 4.5 Release: 0 Summary: Utilities to Manage User and Group Accounts License: BSD-3-Clause AND GPL-2.0+ Group: System/Base Url: https://github.com/shadow-maint/shadow Source: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz Source1: pamd.tar.bz2 Source2: README.changes-pwdutils Source3: useradd.local Source4: userdel-pre.local Source5: userdel-post.local Source6: shadow.service Source7: shadow.timer Source42: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz.asc Source43: %{name}.keyring Patch0: shadow-login_defs.patch Patch1: userdel-script.patch Patch2: useradd-script.patch Patch3: chkname-regex.patch Patch4: useradd-default.patch Patch5: getdef-new-defs.patch Patch6: shadow-4.1.5.1-userdel-helpfix.patch Patch7: shadow-4.1.5.1-logmsg.patch Patch10: encryption_method_nis.patch Patch11: useradd-mkdirs.patch Patch18: shadow-4.1.5.1-pam_group.patch Patch20: disable_new_audit_function.patch BuildRequires: audit-devel > 2.3 BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: libselinux-devel BuildRequires: libsemanage-devel BuildRequires: pam-devel BuildRequires: xz Requires: group(mail) Requires(pre): group(root) Requires(pre): group(shadow) Requires(pre): user(root) Requires(pre): permissions Provides: pwdutils = 3.2.20 Obsoletes: pwdutils <= 3.2.19 %description This package includes the necessary programs for converting plain password files to the shadow password format and to manage user and group accounts. %prep %setup -q -a 1 %patch0 %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 %patch7 %patch10 %patch11 %patch18 -p1 %if 0%{?suse_version} < 1330 %patch20 -p1 %endif iconv -f ISO88591 -t utf-8 doc/HOWTO > doc/HOWTO.utf8 mv -v doc/HOWTO.utf8 doc/HOWTO %build export CFLAGS="%{optflags} -fpie" export LDFLAGS="-pie" %configure \ --disable-shadowgrp \ --enable-account-tools-setuid \ --with-audit \ --with-libpam \ --with-sha-crypt \ --with-acl \ --with-attr \ --with-nscd \ --with-selinux \ --without-libcrack \ --disable-shared \ --with-group-name-max-length=32 make %install cp %{SOURCE2} . make install DESTDIR=%{buildroot} gnulocaledir=%{buildroot}/%{_datadir}/locale MKINSTALLDIRS=`pwd`/mkinstalldirs # install useradd.local, userdel.local, ... install -m 0755 %{SOURCE3} %{buildroot}/%{_sbindir}/ install -m 0755 %{SOURCE4} %{buildroot}/%{_sbindir}/ install -m 0755 %{SOURCE5} %{buildroot}/%{_sbindir}/ install -Dm644 %{SOURCE6} %{buildroot}%{_unitdir}/shadow.service install -Dm644 %{SOURCE7} %{buildroot}%{_unitdir}/shadow.timer # Remove binaries we don't use. rm %{buildroot}/%{_bindir}/groups rm %{buildroot}/%{_mandir}/man1/groups.* rm %{buildroot}/%{_mandir}/*/man1/groups.* rm %{buildroot}/%{_sbindir}/grpconv rm %{buildroot}/%{_mandir}/man8/grpconv.* rm %{buildroot}/%{_mandir}/*/man8/grpconv.* rm %{buildroot}/%{_sbindir}/grpunconv rm %{buildroot}/%{_mandir}/man8/grpunconv.* rm %{buildroot}/%{_mandir}/*/man8/grpunconv.* rm %{buildroot}/%{_sbindir}/groupmems rm %{buildroot}/%{_mandir}/man8/groupmems.* rm %{buildroot}/%{_mandir}/*/man8/groupmems.* rm %{buildroot}%{_sysconfdir}/pam.d/groupmems rm %{buildroot}/%{_bindir}/login rm %{buildroot}/%{_mandir}/man1/login.* rm %{buildroot}/%{_mandir}/*/man1/login.* rm %{buildroot}%{_sysconfdir}/pam.d/login rm %{buildroot}/%{_bindir}/su rm %{buildroot}/%{_mandir}/man1/su.* rm %{buildroot}/%{_mandir}/*/man1/su.* rm %{buildroot}/%{_mandir}/man5/suauth.* rm %{buildroot}/%{_mandir}/*/man5/suauth.* rm %{buildroot}%{_sysconfdir}/pam.d/su rm %{buildroot}/%{_bindir}/faillog rm %{buildroot}/%{_mandir}/man5/faillog.* rm %{buildroot}/%{_mandir}/*/man5/faillog.* rm %{buildroot}/%{_mandir}/man8/faillog.* rm %{buildroot}/%{_mandir}/*/man8/faillog.* rm %{buildroot}/%{_sbindir}/logoutd rm %{buildroot}/%{_mandir}/man8/logoutd.* rm %{buildroot}/%{_mandir}/*/man8/logoutd.* rm %{buildroot}/%{_sbindir}/nologin rm %{buildroot}/%{_mandir}/man8/nologin.* rm %{buildroot}/%{_mandir}/*/man8/nologin.* rm %{buildroot}/%{_sbindir}/chgpasswd rm %{buildroot}/%{_mandir}/man8/chgpasswd.* rm %{buildroot}/%{_mandir}/*/man8/chgpasswd.* rm %{buildroot}%{_sysconfdir}/pam.d/chgpasswd rm %{buildroot}/%{_mandir}/man3/getspnam.* rm %{buildroot}/%{_mandir}/*/man3/getspnam.* rm %{buildroot}/%{_mandir}/man5/gshadow.5* rm %{buildroot}/%{_mandir}/*/man5/gshadow.5* rm %{buildroot}/%{_mandir}/man5/passwd.5* rm %{buildroot}/%{_mandir}/*/man5/passwd.5* rm -rf %{buildroot}%{_mandir}/{??,??_??} %find_lang shadow %pre %service_add_pre shadow.service shadow.timer %post %set_permissions %{_bindir}/chage %set_permissions %{_bindir}/chfn %set_permissions %{_bindir}/chsh %set_permissions %{_bindir}/expiry %set_permissions %{_bindir}/gpasswd %set_permissions %{_bindir}/newgrp %set_permissions %{_bindir}/passwd %set_permissions %{_bindir}/newgidmap %set_permissions %{_bindir}/newuidmap %service_add_post shadow.service shadow.timer %verifyscript %verify_permissions %{_bindir}/chage %verify_permissions %{_bindir}/chfn %verify_permissions %{_bindir}/chsh %verify_permissions %{_bindir}/expiry %verify_permissions %{_bindir}/gpasswd %verify_permissions %{_bindir}/newgrp %verify_permissions %{_bindir}/passwd %verify_permissions %{_bindir}/newgidmap %verify_permissions %{_bindir}/newuidmap %preun %service_del_preun shadow.service shadow.timer %postun %service_del_postun shadow.service shadow.timer %files -f shadow.lang %doc NEWS doc/HOWTO README README.changes-pwdutils %attr(0644,root,root) %config %{_sysconfdir}/login.defs %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/default/useradd %config %{_sysconfdir}/pam.d/chage %config %{_sysconfdir}/pam.d/chfn %config %{_sysconfdir}/pam.d/chsh %config %{_sysconfdir}/pam.d/passwd %config %{_sysconfdir}/pam.d/useradd %config %{_sysconfdir}/pam.d/chpasswd %config %{_sysconfdir}/pam.d/groupadd %config %{_sysconfdir}/pam.d/groupdel %config %{_sysconfdir}/pam.d/groupmod %config %{_sysconfdir}/pam.d/newusers %config %{_sysconfdir}/pam.d/useradd %config %{_sysconfdir}/pam.d/userdel %config %{_sysconfdir}/pam.d/usermod %verify(not mode) %attr(2755,root,shadow) %{_bindir}/chage %verify(not mode) %attr(4755,root,shadow) %{_bindir}/chfn %verify(not mode) %attr(4755,root,shadow) %{_bindir}/chsh %verify(not mode) %attr(4755,root,shadow) %{_bindir}/expiry %verify(not mode) %attr(4755,root,shadow) %{_bindir}/gpasswd %verify(not mode) %attr(4755,root,root) %{_bindir}/newgrp %verify(not mode) %attr(4755,root,shadow) %{_bindir}/passwd %verify(not mode) %attr(4755,root,shadow) %{_bindir}/newgidmap %verify(not mode) %attr(4755,root,shadow) %{_bindir}/newuidmap %{_bindir}/lastlog %{_bindir}/sg %{_sbindir}/groupadd %{_sbindir}/groupdel %{_sbindir}/groupmod %{_sbindir}/grpck %{_sbindir}/pwck %{_sbindir}/useradd %{_sbindir}/userdel %{_sbindir}/usermod %{_sbindir}/pwconv %{_sbindir}/pwunconv %{_sbindir}/chpasswd %{_sbindir}/newusers %{_sbindir}/vipw %{_sbindir}/vigr %verify(not md5 size mtime) %config(noreplace) %{_sbindir}/useradd.local %verify(not md5 size mtime) %config(noreplace) %{_sbindir}/userdel-pre.local %verify(not md5 size mtime) %config(noreplace) %{_sbindir}/userdel-post.local %{_mandir}/man1/chage.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/chsh.1* %{_mandir}/man1/expiry.1* %{_mandir}/man1/gpasswd.1* %{_mandir}/man1/newgrp.1* %{_mandir}/man1/passwd.1* %{_mandir}/man1/sg.1* %{_mandir}/man3/shadow.3* %{_mandir}/man5/login.defs.5* %{_mandir}/man5/shadow.5* %{_mandir}/man8/chpasswd.8* %{_mandir}/man8/groupadd.8* %{_mandir}/man8/groupdel.8* %{_mandir}/man8/groupmod.8* %{_mandir}/man8/grpck.8* %{_mandir}/man8/lastlog.8* %{_mandir}/man8/newusers.8* %{_mandir}/man8/pwck.8* %{_mandir}/man8/pwconv.8* %{_mandir}/man8/pwunconv.8* %{_mandir}/man8/useradd.8* %{_mandir}/man8/userdel.8* %{_mandir}/man8/usermod.8* %{_mandir}/man8/vigr.8* %{_mandir}/man8/vipw.8* %{_mandir}/man5/subuid.5* %{_mandir}/man5/subgid.5* %{_mandir}/man1/newgidmap.1* %{_mandir}/man1/newuidmap.1* %{_unitdir}/* %changelog