Mon, 01 Jul 2013 19:50:52 +0200
Update to new vendor software version and hope for the best!
1 ##
2 ## cracklib.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/>
4 ##
5 ## Permission to use, copy, modify, and distribute this software for
6 ## any purpose with or without fee is hereby granted, provided that
7 ## the above copyright notice and this permission notice appear in all
8 ## copies.
9 ##
10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
21 ## SUCH DAMAGE.
22 ##
24 # package information
25 Name: cracklib
26 Summary: Filter Guessable Passwords
27 URL: http://cracklib.sourceforge.net/
28 Vendor: Alec Muffett et al.
29 Packager: OpenPKG Foundation e.V.
30 Distribution: OpenPKG Community
31 Class: PLUS
32 Group: Security
33 License: Artistic
34 Version: 2.8.19
35 Release: 20120800
37 # list of sources
38 Source0: http://switch.dl.sourceforge.net/cracklib/cracklib-%{version}.tar.gz
39 Source1: http://switch.dl.sourceforge.net/cracklib/cracklib-words.gz
40 Source2: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/common-passwords.txt.gz
41 Source3: ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/computer/Jargon.gz
42 Source4: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2
43 Source5: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/web2a
44 Source6: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/share/dict/propernames
45 Source7: Makefile
47 # build information
48 BuildPreReq: OpenPKG, openpkg >= 20100101, make
49 PreReq: OpenPKG, openpkg >= 20100101, make
51 %description
52 CrackLib is a library which may be used in a "passwd"-like program.
53 The idea is simple: try to prevent users from choosing passwords
54 that could be guessed by "Crack" by filtering them out, at source.
56 %track
57 prog cracklib = {
58 version = %{version}
59 url = http://sourceforge.net/projects/cracklib/files/
60 regex = cracklib-(__VER__)\.tar\.gz
61 }
63 %prep
64 %setup -q
66 %build
67 # configure library
68 CC="%{l_cc}" \
69 CFLAGS="%{l_cflags -O}" \
70 CPPFLAGS="%{l_cppflags} -D_POSIX_PTHREAD_SEMANTICS" \
71 ./configure \
72 --prefix=%{l_prefix} \
73 --with-default-dict=%{l_prefix}/lib/cracklib/pw_dict \
74 --without-python \
75 --disable-shared \
76 --disable-nls
78 # build library
79 %{l_make} %{l_mflags -O}
81 %install
82 # install library
83 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
85 # strip down installation files
86 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/create-cracklib-dict
87 rm -f $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib.magic
89 # install dictionaries
90 mv $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small \
91 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small.txt
92 %{l_gzip} -d -c %{SOURCE cracklib-words.gz} \
93 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-large.txt
94 %{l_gzip} -d -c %{SOURCE common-passwords.txt.gz} \
95 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/common-passwords.txt
96 %{l_gzip} -d -c %{SOURCE Jargon.gz} \
97 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/jargon-words.txt
98 cp %{SOURCE web2} \
99 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2.txt
100 cp %{SOURCE web2a} \
101 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2a.txt
102 cp %{SOURCE propernames} \
103 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-propernames.txt
105 # install dictionary generation stuff
106 %{l_shtool} install -c -m 644 %{l_value -s -a} \
107 %{SOURCE Makefile} $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/
108 %{l_shtool} mkdir -f -p -m 755 \
109 $RPM_BUILD_ROOT%{l_prefix}/lib/cracklib
111 # determine installation files
112 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
114 %files -f files
116 %clean
118 %post
119 # (re)generate runtime password dictionary
120 ( echo "(Re)Generating runtime password dictionary"
121 ) | %{l_rpmtool} msg -b -t warn
122 ( cd $RPM_INSTALL_PREFIX/share/cracklib && \
123 $RPM_INSTALL_PREFIX/bin/make
124 ) >/dev/null 2>&1
126 %preun
127 if [ $1 -eq 0 ]; then
128 rm -f $RPM_INSTALL_PREFIX/share/cracklib/* >/dev/null 2>&1 || true
129 fi