Sat, 06 Oct 2012 16:24:01 +0200
Update to new vendor software version and adjust patch code accordingly.
Unfortunately the vendor has apparently failed to properly test this
release which depends on missing object symbols in libsasl2.a(common.o):
undefined reference to `sasl_randcreate'
undefined reference to `sasl_mkchal'
undefined reference to `sasl_utf8verify'
undefined reference to `sasl_rand'
undefined reference to `sasl_churn'
undefined reference to `sasl_encode64'
undefined reference to `sasl_decode64'
undefined reference to `sasl_erasebuffer'
undefined reference to `sasl_randfree'
undefined reference to `sasl_strlower'
undefined reference to `get_fqhostname'
...yet to be patched.
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