cracklib/cracklib.spec

changeset 572
97e49dc59b23
child 573
37c544fc0159
equal deleted inserted replaced
-1:000000000000 0:e9744d486425
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 ##
23
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: 20120519
36
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
46
47 # build information
48 BuildPreReq: OpenPKG, openpkg >= 20100101, make
49 PreReq: OpenPKG, openpkg >= 20100101, make
50
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.
55
56 %track
57 prog cracklib = {
58 version = %{version}
59 url = http://sourceforge.net/projects/cracklib/files/
60 regex = cracklib-(__VER__)\.tar\.gz
61 }
62
63 %prep
64 %setup -q
65
66 %build
67 # configure library
68 CC="%{l_cc}" \
69 CFLAGS="%{l_cflags -O}" \
70 ./configure \
71 --prefix=%{l_prefix} \
72 --with-default-dict=%{l_prefix}/lib/cracklib/pw_dict \
73 --without-python \
74 --disable-shared \
75 --disable-nls
76
77 # build library
78 %{l_make} %{l_mflags}
79
80 %install
81 # install library
82 %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
83
84 # strip down installation files
85 rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/create-cracklib-dict
86 rm -f $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib.magic
87
88 # install dictionaries
89 mv $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small \
90 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-small.txt
91 %{l_gzip} -d -c %{SOURCE cracklib-words.gz} \
92 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/cracklib-large.txt
93 %{l_gzip} -d -c %{SOURCE common-passwords.txt.gz} \
94 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/common-passwords.txt
95 %{l_gzip} -d -c %{SOURCE Jargon.gz} \
96 >$RPM_BUILD_ROOT%{l_prefix}/share/cracklib/jargon-words.txt
97 cp %{SOURCE web2} \
98 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2.txt
99 cp %{SOURCE web2a} \
100 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-web2a.txt
101 cp %{SOURCE propernames} \
102 $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/freebsd-propernames.txt
103
104 # install dictionary generation stuff
105 %{l_shtool} install -c -m 644 %{l_value -s -a} \
106 %{SOURCE Makefile} $RPM_BUILD_ROOT%{l_prefix}/share/cracklib/
107 %{l_shtool} mkdir -f -p -m 755 \
108 $RPM_BUILD_ROOT%{l_prefix}/lib/cracklib
109
110 # determine installation files
111 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
112
113 %files -f files
114
115 %clean
116
117 %post
118 # (re-)generate run-time password dictionary
119 ( echo "(Re-)Generating run-time password dictionary"
120 ) | %{l_rpmtool} msg -b -t warn
121 ( cd $RPM_INSTALL_PREFIX/share/cracklib && \
122 $RPM_INSTALL_PREFIX/bin/make
123 ) >/dev/null 2>&1
124
125 %preun
126 if [ $1 -eq 0 ]; then
127 rm -f $RPM_INSTALL_PREFIX/share/cracklib/* >/dev/null 2>&1 || true
128 fi
129

mercurial