Blob Blame History Raw
%if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1}
%define WITH_SELINUX 1
%endif
%if %{?WITH_AUDIT:0}%{!?WITH_AUDIT:1}
%define WITH_AUDIT 1
%endif
Summary: An utility for setting or changing passwords using PAM
Name: passwd
Version: 0.79
Release: 6%{?dist}
License: BSD or GPL+
Group: System Environment/Base
URL: https://pagure.io/%{name}
Source: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.bz2
Patch0: passwd-0.79-translation-updates.patch
# Backport ca46cac (rhbz#1276570)
Patch1: passwd-0.79-no-length-limit-stdin-passwords.patch
# Backport Steve Grubb's patches c461efa^..e2a9bdf (rhbz#1489086, rhbz#1638105)
Patch2: passwd-0.79-auditing.patch
# Backport 02d4478 (rhbz#1145256)
Patch3: passwd-0.79-document-S-option.patch
# Fix incorrect -S output when password field in /etc/passwd is empty but the
# password information in /etc/shadow is present (rhbz#1686436)
Patch4: passwd-0.79-incorrect-S-report.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: pam >= 1.0.90, /etc/pam.d/system-auth
%if %{WITH_SELINUX}
Requires: libselinux >= 2.1.6-3
BuildRequires: libselinux-devel >= 2.1.6-3
%endif
BuildRequires: glib2-devel, libuser-devel, pam-devel, libuser >= 0.53-1
BuildRequires: gettext, popt-devel
%if %{WITH_AUDIT}
BuildRequires: audit-libs-devel >= 1.0.14
Requires: audit-libs >= 1.0.14
%endif

%description
This package contains a system utility (passwd) which sets
or changes passwords, using PAM (Pluggable Authentication
Modules) library.

%prep
%setup -q -n %{name}-%{version}
# Remove the (make -C po update-gmo) below when removing the patch.
%patch0 -p2 -b .translation-updates
%patch1 -p1 -b .length-limit
%patch2 -p1 -b .auditing
%patch3 -p1 -b .doc-S-opt
%patch4 -p1 -b .S-report

%build
%configure \
%if %{WITH_SELINUX}
        --with-selinux \
%else
        --without-selinux \
%endif
%if %{WITH_AUDIT}
        --with-audit
%else
        --without-audit
%endif
make DEBUG= RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
# (make -C po all) doesn't update the .gmo files for the patched .po, force it.
make -C po update-gmo

%install
rm -rf $RPM_BUILD_ROOT

make install DESTDIR=$RPM_BUILD_ROOT
install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/
install -m 644 passwd.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/passwd
%find_lang %{name}
for dir in $(ls -1d $RPM_BUILD_ROOT%{_mandir}/{??,??_??}) ; do
    dir=$(echo $dir | sed -e "s|^$RPM_BUILD_ROOT||")
    lang=$(basename $dir)
    echo "%%lang($lang) $dir/man*/*" >> %{name}.lang
done


%clean
rm -rf $RPM_BUILD_ROOT

%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS
%config(noreplace) %{_sysconfdir}/pam.d/passwd
%attr(4755,root,root) %{_bindir}/passwd
%{_mandir}/man1/passwd.1*

%changelog
* Mon Aug 12 2019 Jiri Kucera <jkucera@redhat.com> - 0.79-6
- Fix incorrect -S output when password field in /etc/passwd is empty but the
  password information in /etc/shadow is set
  Resolves: #1686436

* Fri Mar 22 2019 Jiri Kucera <jkucera@redhat.com> - 0.79-5
- Backport ca46cac (allow passwords longer than 79 characters)
  Backport Steve Grubb's patches
  - stop double auditing, use appropriate record types, update op field in
    audit events, don't audit status check, fix password aging logging
  Backport 02d4478 (better document -S option)
  Fix URL and Source tags
  Resolves: #1276570, #1489086, #1638105, #1145256, #1472567

* Thu Jan 30 2014 Miloslav Trmač <mitr@redhat.com> - 0.79-4
- Include updated translations
  Resolves: #1044298

* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.79-3
- Mass rebuild 2014-01-24

* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.79-2
- Mass rebuild 2013-12-27

* Sat Jun 22 2013 Miloslav Trmač <mitr@redhat.com> - 0.79-1
- Update to passwd-0.79
  Resolves: #926312, #948790

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.78.99-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Tue Dec  4 2012 Miloslav Trmač <mitr@redhat.com> - 0.78.99-3
- Fix License:

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.78.99-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jan 27 2012 Tomas Mraz <tmraz@redhat.com> 0.78.99-1
- use better (auditable) libselinux calls for checking
  the access to passwd (#518268)
- add support for the -e option as seen on Debian passwd
- make the binary PIE and full RELRO (#784483)

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.78-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Feb 08 2011 Tomas Mraz <tmraz@redhat.com> 0.78-3
- add the postlogin substack to the PAM configuration (#665063)

* Fri Jul 16 2010 Tomas Mraz <tmraz@redhat.com> 0.78-1
- added japanese translation of the man page (#611692)
- updated translations

* Tue Apr  6 2010 Tomas Mraz <tmraz@redhat.com> 0.77-5
- first part of fix for pam_gnome_keyring prompting (#578624)
  needs support for use_authtok to be added to pam_gnome_keyring

* Thu Jan 28 2010 Tomas Mraz <tmraz@redhat.com> 0.77-4
- add COPYING and other things to doc
- correct the licence field

* Mon Sep 14 2009 Tomas Mraz <tmraz@redhat.com> 0.77-1
- updated translations
- improved manual page

* Wed Feb 11 2009 Tomas Mraz <tmraz@redhat.com> 0.76-1
- identify SHA-256 and SHA-512 password hashes (#484994)

* Tue Apr  8 2008 Tomas Mraz <tmraz@redhat.com> 0.75-2
- add optional pam_gnome_keyring module to passwd pam
  config (#441225)

* Wed Feb 20 2008 Tomas Mraz <tmraz@redhat.com> 0.75-1
- fix disabling SELinux and audit in spec (#433284)
- remove obsolete no.po (#332121)
- updated translations

* Tue Sep 25 2007 Tomas Mraz <tmraz@redhat.com> 0.74-5
- buildrequires popt-devel

* Wed Aug 22 2007 Tomas Mraz <tmraz@redhat.com> 0.74-4
- spec file cleanups

* Thu Apr  5 2007 Tomas Mraz <tmraz@redhat.com> 0.74-3
- use std buildroot, add dist tag (#226232)

* Tue Jan 30 2007 Tomas Mraz <tmraz@redhat.com> 0.74-2
- do not explicitly strip the binary

* Tue Dec 12 2006 Tomas Mraz <tmraz@redhat.com> 0.74-1
- minor fixes in error reporting
- localize messages (#204022)

* Mon Jul 17 2006 Tomas Mraz <tmraz@redhat.com> 0.73-1
- fixed broken logic from the last change (#196851)

* Fri Jul 14 2006 Tomas Mraz <tmraz@redhat.com> 0.72-1
- merged audit patch to upstream cvs
- improved passwd -S output (#170344)
- make passwd -d work with stripped down proc (#196851)
- corrected link to pam docs (#193084)
- spec file cleanups

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.71-3.2.1
- rebuild

* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.71-3.2
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.71-3.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Tue Jan 31 2006 Steve Grubb <sgrubb@redhat.com> 0.71-3
- Adjust audit patch so it builds without libaudit

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Tue Oct 25 2005 Steve Grubb <sgrubb@redhat.com> 0.71-2
- adjust audit communication to use common logging functions

* Fri Oct  7 2005 Tomas Mraz <tmraz@redhat.com> 0.71-1
- use include instead of pam_stack in pam config

* Fri Jun 17 2005 Tomas Mraz <tmraz@redhat.com> 0.70-1
- replace laus with audit
- auto* build changes

* Fri Jan 28 2005 Jindrich Novy <jnovy@redhat.com> 0.69-1
- spec file fixes
- add libuser >= 0.53-1 BuildPrereq (#139331)

* Tue Jan 25 2005 Dan Walsh <dwalsh@redhat.com>
- improve SELinux priv checking

* Mon Aug 23 2004 Jindrich Novy <jnovy@redhat.com>
- applied cleanup patch from Steve Grubb #120060
- fixed man page #115380
- added libselinux-devel to BuildPrereq #123750, #119416

* Thu Aug 19 2004 Jindrich Novy <jnovy@redhat.com> 0.68-10
- moved to 0.68-10 to fix problem with RHEL4-Alpha4 #129548
- updated GNU build scripts and file structure to recent style

* Wed Feb 4 2004 Dan Walsh <dwalsh@redhat.com> 0.68-8
- add check for enforcing mode

* Mon Jan 26 2004 Dan Walsh <dwalsh@redhat.com> 0.68-7
- fix is_selinux_enabled

* Fri Sep 5 2003 Dan Walsh <dwalsh@redhat.com> 0.68-6
- turn off selinux

* Fri Sep 5 2003 Dan Walsh <dwalsh@redhat.com> 0.68-5.sel
- Add SELinux support

* Mon Jul 28 2003 Dan Walsh <dwalsh@redhat.com> 0.68-4
- Add SELinux support

* Thu Feb 13 2003 Nalin Dahyabhai <nalin@redhat.com> 0.68-3
- add aging adjustment flags to passwd(1)'s synopsis, were just in the
  reference section before

* Mon Jan 27 2003 Nalin Dahyabhai <nalin@redhat.com> 0.68-2
- rebuild

* Mon Dec  9 2002 Nalin Dahyabhai <nalin@redhat.com> 0.68-1
- implement aging adjustments for pwdb

* Mon Nov 11 2002 Nalin Dahyabhai <nalin@redhat.com> 0.67-4
- modify default PAM configuration file to not specify directories, so that
  the same configuration can be used for all arches on multilib systems
- fix BuildPrereq on glib-devel to specify glib2-devel instead
- remove unpackaged files in %%install phase

* Tue May 28 2002 Nalin Dahyabhai <nalin@redhat.com> 0.67-3
- rebuild

* Mon May 20 2002 Nalin Dahyabhai <nalin@redhat.com> 0.67-2
- rebuild in new environment

* Wed Mar 13 2002 Nalin Dahyabhai <nalin@redhat.com> 0.67-1
- add the -i, -n, -w, and -x options to passwd

* Mon Mar 11 2002 Nalin Dahyabhai <nalin@redhat.com> 0.65-5
- rebuild

* Mon Feb 25 2002 Nalin Dahyabhai <nalin@redhat.com> 0.65-4
- rebuild

* Fri Feb 22 2002 Nalin Dahyabhai <nalin@redhat.com> 0.65-3
- rebuild

* Thu Jan 31 2002 Nalin Dahyabhai <nalin@redhat.com> 0.65-2
- rebuild to get dependencies right

* Tue Jan 29 2002 Nalin Dahyabhai <nalin@redhat.com> 0.65-1
- change dependency from pwdb to libuser

* Fri Jan 25 2002 Nalin Dahyabhai <nalin@redhat.com> 0.64.1-9
- rebuild

* Thu Aug 30 2001 Nalin Dahyabhai <nalin@redhat.com> 0.64.1-8
- man page fix (-r is the opposite of -l, not --stdin, which precedes it)
  from Felipe Gustavo de Almeida

* Mon Aug  6 2001 Nalin Dahyabhai <nalin@redhat.com> 0.64.1-7
- fix unguarded printf() (noted by Chris Evans)
- add missing build dependency on pwdb and pam-devel (#49550)

* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Mon Jun  5 2000 Nalin Dahyabhai <nalin@redhat.com>
- move man pages to _mandir

* Thu Jun  1 2000 Nalin Dahyabhai <nalin@redhat.com>
- modify PAM setup to use system-auth
- modify for building as non-root users

* Mon Feb  7 2000 Bill Nottingham <notting@redhat.com>
- fix manpage links

* Fri Feb 04 2000 Nalin Dahyabhai <nalin@redhat.com>
- document --stdin in man page
- fix for gzipped man pages

* Sat Apr 10 1999 Cristian Gafton <gafton@redhat.com>
- first build from the new source code base.