# Reflects the values hard-coded in various Makefile.am's in the source tree. %define dictpath %{_datadir}/cracklib/pw_dict Summary: A password-checking library Name: cracklib Version: 2.8.9 Release: 9 Group: System Environment/Libraries Source0: http://prdownloads.sourceforge.net/cracklib/cracklib-%{version}.tar.gz # Retrieved at 20070213003424Z. Source1: http://prdownloads.sourceforge.net/cracklib/cracklib-words.gz Source10: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Domains.gz Source11: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Dosref.gz Source12: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Ftpsites.gz Source13: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Jargon.gz Source14: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/common-passwords.txt.gz Source15: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/etc-hosts.gz Source16: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Movies.gz Source17: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Python.gz Source18: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/movieTV/Trek.gz Source19: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/LCarrol.gz Source20: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/Paradise.Lost.gz Source21: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/cartoon.gz Source22: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/myths-legends.gz Source23: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/sf.gz Source24: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/literature/shakespeare.gz Source25: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/ASSurnames.gz Source26: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Congress.gz Source27: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Family-Names.gz Source28: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/Given-Names.gz Source29: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/famous.gz Source30: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/fast-names.gz Source31: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/female-names.gz Source32: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/male-names.gz Source33: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/names.french.gz Source34: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/names.hp.gz Source35: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/other-names.gz Source36: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/names/surnames.finnish.gz # No upstream source for this; it came in as a bugzilla attachment. Source37: pass_file.gz Patch0: cracklib-2.8.9-suffix.patch URL: http://sourceforge.net/projects/cracklib/ License: Artistic Buildroot: %{_tmppath}/%{name}-%{version}-root BuildRequires: python-devel, words, automake, libtool Conflicts: cracklib-dicts < 2.8 %description CrackLib tests passwords to determine whether they match certain security-oriented characteristics, with the purpose of stopping users from choosing passwords that are easy to guess. CrackLib performs several tests on passwords: it tries to generate words from a username and gecos entry and checks those words against the password; it checks for simplistic patterns in passwords; and it checks for the password in a dictionary. CrackLib is actually a library containing a particular C function which is used to check the password, as well as other C functions. CrackLib is not a replacement for a passwd program; it must be used in conjunction with an existing passwd program. Install the cracklib package if you need a program to check users' passwords to see if they are at least minimally secure. If you install CrackLib, you will also want to install the cracklib-dicts package. %package devel Summary: Development files needed for building applications which use cracklib Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel The cracklib-devel package contains the header files and libraries needed for compiling applications which use cracklib. %package python Summary: Python bindings for applications which use cracklib Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description python The cracklib-python package contains a module which permits applications written in the Python programming language to use cracklib. %package dicts Summary: The standard CrackLib dictionaries. Group: System Environment/Libraries BuildRequires: words >= 2-13 Requires: cracklib = %{version}-%{release} %description dicts The cracklib-dicts package includes the CrackLib dictionaries. CrackLib will need to use the dictionary appropriate to your system, which is normally put in /usr/share/dict/words. Cracklib-dicts also contains the utilities necessary for the creation of new dictionaries. If you are installing CrackLib, you should also install cracklib-dicts. %prep %setup -q %patch0 -p1 -b .suffix autoreconf mkdir cracklib-dicts for dict in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} \ %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} \ %{SOURCE25} %{SOURCE26} %{SOURCE27} %{SOURCE28} %{SOURCE29} \ %{SOURCE30} %{SOURCE31} %{SOURCE32} %{SOURCE33} %{SOURCE34} \ %{SOURCE35} %{SOURCE36} %{SOURCE37} %{SOURCE1} do cp -fv ${dict} cracklib-dicts/ done %build %configure --with-pic --with-python --with-default-dict=%{dictpath} --disable-static make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT ./util/cracklib-format cracklib-dicts/* | \ ./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT/%{_includedir}/crack.h ln -s cracklib-format $RPM_BUILD_ROOT/%{_sbindir}/mkdict ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer touch $RPM_BUILD_ROOT/top toprelpath=.. touch $RPM_BUILD_ROOT/top while ! test -f $RPM_BUILD_ROOT/%{_libdir}/$toprelpath/top ; do toprelpath=../$toprelpath done rm -f $RPM_BUILD_ROOT/top if test %{dictpath} != %{_libdir}/cracklib_dict ; then ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi fi rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/cracklibmodule.*a rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la %find_lang %{name} %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %triggerpostun -p /sbin/ldconfig -- cracklib < 2.7-24 %files -f %{name}.lang %defattr(-,root,root) %doc README README-WORDS NEWS doc/LICENCE AUTHORS %{_libdir}/libcrack.so.* %dir %{_datadir}/cracklib %{_datadir}/cracklib/cracklib.magic %{_sbindir}/*cracklib* %files devel %defattr(-,root,root) %{_includedir}/* %{_libdir}/libcrack.so %files dicts %defattr(-,root,root) %dir %{_datadir}/cracklib %{_datadir}/cracklib/pw_dict.* %{_libdir}/cracklib_dict.* %{_sbindir}/mkdict %{_sbindir}/packer %files python %defattr(-,root,root) %{_libdir}/python*/site-packages/cracklibmodule.so %changelog * Mon Feb 12 2007 Nalin Dahyabhai - 2.8.9-9 - drop final "." from summaries (Jef Spaleta, #225659) - drop static library from -devel subpackage (Jef Spaleta, #225659) - note that the most recently-added wordlist came from bugzilla (#225659) - remove explicit dependency on gzip, as it's implicit (Jef Spaleta, #225659) - convert %%triggerpostun to not use a shell as an interpreter (#225659) * Wed Jan 31 2007 Nalin Dahyabhai - 2.8.9-8 - add word list from attachment #126053 (#185314) * Thu Jan 25 2007 Nalin Dahyabhai - 2.8.9-7 - fix check for the existence of dictionaries when the caller specifies a location (#224347, upstream #1644628) * Thu Dec 7 2006 Jeremy Katz - 2.8.9-6 - rebuild against python 2.5 * Sun Oct 29 2006 Nalin Dahyabhai - 2.8.9-5 - split out cracklib-python (#203327) * Sun Oct 29 2006 Nalin Dahyabhai - 2.8.9-4 - split out cracklib-devel (#203569) * Wed Jul 12 2006 Jesse Keating - 2.8.9-3.1 - rebuild * Mon Jun 12 2006 Jesse Keating - 2.8.9-3 - Add missing br, automake, libtool (#194738) * Tue Apr 25 2006 Nalin Dahyabhai - 2.8.9-2 - update to 2.8.9 - only create compat symlinks for the dictionaries if we aren't installing them into the old locations * Fri Feb 10 2006 Jesse Keating - 2.8.6-1.2.1 - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 2.8.6-1.2 - rebuilt for new gcc4.1 snapshot and glibc changes * Fri Dec 09 2005 Jesse Keating - rebuilt * Mon Nov 7 2005 Nalin Dahyabhai 2.8.6-1 - update to 2.8.6 - remove .la file (#172632) * Wed Sep 28 2005 Nalin Dahyabhai 2.8.5-2 - update to 2.8.5 * Tue Sep 27 2005 Nalin Dahyabhai 2.8.4-1 - update to 2.8.4 - build python module * Fri May 13 2005 Nalin Dahyabhai 2.8.3-1 - update to 2.8.3 * Thu Mar 17 2005 Nalin Dahyabhai 2.8.2-1 - update to 2.8.2 * Wed Mar 16 2005 Nalin Dahyabhai 2.8.1-1 - update to 2.8.1 - moves dictionary to new default location under %%{_datadir} -- the dictionary format is the same across all architectures - renames "packer" to "cracklib-packer" - conflict with cracklib-dicts < 2.8, where the on-disk format was not compatible on 64-bit arches due to now-fixed cleanliness bugs - move binaries for manipulating and checking words against dictionaries from -dicts into the main package * Mon Jan 3 2005 Nalin Dahyabhai 2.7-30 - rebuild * Mon Jan 3 2005 Nalin Dahyabhai 2.7-29 - correctly build on 64-bit systems (part of #143417) - patch so that 32- and 64-bit libcrack can read dictionaries which were incorrectly generated on 64-bit systems of the same endianness (more #143417) - include a sample cracklib magic file - stop using /usr/dict/* when building the dictionary - list words as a build requirement, which it is, instead of a run-time requirement - provide a virtual arch-specific dep in cracklib-dicts, require it in cracklib (part of #143417) * Tue Jun 15 2004 Elliot Lee - rebuilt * Tue Mar 02 2004 Elliot Lee - rebuilt * Fri Feb 13 2004 Elliot Lee - rebuilt * Wed Feb 4 2004 Nalin Dahyabhai 2.7-26 - update URL (previous page moved) (#114894) * Fri Jan 30 2004 Nalin Dahyabhai 2.7-25 - fix ldconfig invocation in trigger for older versions which included the soname symlink (#114620) * Mon Dec 1 2003 Nalin Dahyabhai 2.7-24 - include packer.h for reading dictionaries directly, since we already include packer in the -dicts subpackage (#68339) - don't include the soname symlink in the package, let ldconfig do its job * Wed Jun 18 2003 Nalin Dahyabhai 2.7-23 - rebuild * Mon Jun 16 2003 Nalin Dahyabhai 2.7-22 - rebuild * Wed Jun 04 2003 Elliot Lee - rebuilt * Wed Apr 30 2003 Nalin Dahyabhai - update URL * Tue Feb 04 2003 Florian La Roche - add symlink to shared libs * Wed Jan 22 2003 Tim Powers - rebuilt * Wed Sep 25 2002 Nalin Dahyabhai 2.7-19 - fix for builds on multilib systems (set DICTPATH properly) * Fri Jun 21 2002 Tim Powers - automated rebuild * Sun May 26 2002 Tim Powers - automated rebuild * Thu May 9 2002 Nalin Dahyabhai 2.7-16 - rebuild in new environment * Fri Feb 22 2002 Nalin Dahyabhai 2.7-15 - rebuild * Wed Jan 09 2002 Tim Powers - automated rebuild * Tue Oct 2 2001 Nalin Dahyabhai 2.7-13 - use getpwuid_r instead of getpwuid * Fri Aug 3 2001 Nalin Dahyabhai 2.7-12 - remove cruft that ldconfig already knows how to manage - don't explicitly strip anything -- the brp setup decides that - tweak the header so that it can be used in C++ (#46685) - buildprereq the words package * Tue Jun 26 2001 Florian La Roche - add link from library major version number * Sun Jun 24 2001 Elliot Lee - Bump release + rebuild. * Wed Jul 12 2000 Prospector - automatic rebuild * Tue Jun 27 2000 Nalin Dahyabhai - FHS fixes - fix undeclared function warnings from the new compiler - fix URL * Fri Apr 07 2000 Trond Eivind Glomsrød - switched to use /usr/share/dict/words * Tue Apr 06 1999 Preston Brown - strip binaries * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 4) * Wed Jan 06 1999 Cristian Gafton - build for glibc 2.1 * Sat May 09 1998 Prospector System - translations modified for de, fr, tr * Tue Mar 10 1998 Cristian Gafton - updated to 2.7 - build shared libraries * Mon Nov 03 1997 Donnie Barnes - added -fPIC * Mon Oct 13 1997 Donnie Barnes - basic spec file cleanups * Mon Jun 02 1997 Erik Troan - built against glibc