1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/cracklib/cracklib.spec Tue Aug 28 18:34:50 2012 +0200 1.3 @@ -0,0 +1,129 @@ 1.4 +## 1.5 +## cracklib.spec -- OpenPKG RPM Package Specification 1.6 +## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/> 1.7 +## 1.8 +## Permission to use, copy, modify, and distribute this software for 1.9 +## any purpose with or without fee is hereby granted, provided that 1.10 +## the above copyright notice and this permission notice appear in all 1.11 +## copies. 1.12 +## 1.13 +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1.14 +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.15 +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.16 +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.17 +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.18 +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.19 +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 1.20 +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 1.21 +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 1.22 +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1.23 +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1.24 +## SUCH DAMAGE. 1.25 +## 1.26 + 1.27 +# package information 1.28 +Name: cracklib 1.29 +Summary: Filter Guessable Passwords 1.30 +URL: http://cracklib.sourceforge.net/ 1.31 +Vendor: Alec Muffett et al. 1.32 +Packager: OpenPKG Foundation e.V. 1.33 +Distribution: OpenPKG Community 1.34 +Class: PLUS 1.35 +Group: Security 1.36 +License: Artistic 1.37 +Version: 2.8.19 1.38 +Release: 20120519 1.39 + 1.40 +# list of sources 1.41 +Source0: http://switch.dl.sourceforge.net/cracklib/cracklib-%{version}.tar.gz 1.42 +Source1: http://switch.dl.sourceforge.net/cracklib/cracklib-words.gz 1.43 +Source2: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/common-passwords.txt.gz 1.44 +Source3: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Jargon.gz 1.45 +Source4: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2 1.46 +Source5: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2a 1.47 +Source6: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/propernames 1.48 +Source7: Makefile 1.49 + 1.50 +# build information 1.51 +BuildPreReq: OpenPKG, openpkg >= 20100101, make 1.52 +PreReq: OpenPKG, openpkg >= 20100101, make 1.53 + 1.54 +%description 1.55 + CrackLib is a library which may be used in a "passwd"-like program. 1.56 + The idea is simple: try to prevent users from choosing passwords 1.57 + that could be guessed by "Crack" by filtering them out, at source. 1.58 + 1.59 +%track 1.60 + prog cracklib = { 1.61 + version = %{version} 1.62 + url = http://sourceforge.net/projects/cracklib/files/ 1.63 + regex = cracklib-(__VER__)\.tar\.gz 1.64 + } 1.65 + 1.66 +%prep 1.67 + %setup -q 1.68 + 1.69 +%build 1.70 + # configure library 1.71 + CC="%{l_cc}" \ 1.72 + CFLAGS="%{l_cflags -O}" \ 1.73 + ./configure \ 1.74 + --prefix=%{l_prefix} \ 1.75 + --with-default-dict=%{l_prefix}/lib/cracklib/pw_dict \ 1.76 + --without-python \ 1.77 + --disable-shared \ 1.78 + --disable-nls 1.79 + 1.80 + # build library 1.81 + %{l_make} %{l_mflags} 1.82 + 1.83 +%install 1.84 + # install library 1.85 + %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT 1.86 + 1.87 + # strip down installation files 1.88 + rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/create-cracklib-dict 1.89 + rm -f $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib.magic 1.90 + 1.91 + # install dictionaries 1.92 + mv $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small \ 1.93 + $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small.txt 1.94 + %{l_gzip} -d -c %{SOURCE cracklib-words.gz} \ 1.95 + >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-large.txt 1.96 + %{l_gzip} -d -c %{SOURCE common-passwords.txt.gz} \ 1.97 + >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/common-passwords.txt 1.98 + %{l_gzip} -d -c %{SOURCE Jargon.gz} \ 1.99 + >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/jargon-words.txt 1.100 + cp %{SOURCE web2} \ 1.101 + $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2.txt 1.102 + cp %{SOURCE web2a} \ 1.103 + $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2a.txt 1.104 + cp %{SOURCE propernames} \ 1.105 + $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-propernames.txt 1.106 + 1.107 + # install dictionary generation stuff 1.108 + %{l_shtool} install -c -m 644 %{l_value -s -a} \ 1.109 + %{SOURCE Makefile} $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/ 1.110 + %{l_shtool} mkdir -f -p -m 755 \ 1.111 + $RPM_BUILD_ROOT%{l_prefix}/lib/cracklib 1.112 + 1.113 + # determine installation files 1.114 + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} 1.115 + 1.116 +%files -f files 1.117 + 1.118 +%clean 1.119 + 1.120 +%post 1.121 + # (re-)generate run-time password dictionary 1.122 + ( echo "(Re-)Generating run-time password dictionary" 1.123 + ) | %{l_rpmtool} msg -b -t warn 1.124 + ( cd $RPM_INSTALL_PREFIX/share/cracklib && \ 1.125 + $RPM_INSTALL_PREFIX/bin/make 1.126 + ) >/dev/null 2>&1 1.127 + 1.128 +%preun 1.129 + if [ $1 -eq 0 ]; then 1.130 + rm -f $RPM_INSTALL_PREFIX/share/cracklib/* >/dev/null 2>&1 || true 1.131 + fi 1.132 +