]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blob - cracklib/cracklib.nm
cracklib: Update to 2.9.5
[people/stevee/ipfire-3.x.git] / cracklib / cracklib.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = cracklib
7 version = 2.9.5
8 release = 1
9
10 groups = Security/Password
11 url = http://sourceforge.net/projects/cracklib/
12 license = GPLv2
13 summary = A password-checking library.
14
15 description
16 CrackLib tests passwords to determine whether they match certain \
17 security-oriented characteristics, with the purpose of stopping users \
18 from choosing passwords that are easy to guess. CrackLib performs \
19 several tests on passwords: it tries to generate words from a username \
20 and gecos entry and checks those words against the password; it checks \
21 for simplistic patterns in passwords; and it checks for the password \
22 in a dictionary.
23 end
24
25 source_dl = http://prdownloads.sourceforge.net/cracklib/
26 sources += cracklib-words-20080507.gz
27
28 build
29 requires
30 python-devel
31 end
32
33 dictdir = %{datadir}/cracklib
34 dictpath = %{dictdir}/pw_dict
35
36 configure_options += \
37 --with-default-dict=%{dictpath} \
38 --with-python \
39 --disable-static
40
41 # Only extract the source tarball.
42 prepare
43 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
44 cd %{DIR_APP}
45
46 cp lib/packer.h lib/packer.h.in
47 chmod +x util/cracklib-format
48
49 mkdir cracklib-dicts
50 cp -vf %{DIR_DL}/cracklib-words-20080507.gz cracklib-dicts
51
52 # Create distribution dict.
53 echo -ne "%{DISTRO_NAME}\n%{DISTRO_SNAME}\n" >> \
54 cracklib-dicts/cracklib-distro-words
55 gzip -9 cracklib-dicts/cracklib-distro-words
56 end
57
58 install_cmds
59 # Install python bindings
60 make install DESTDIR=%{BUILDROOT} INSTALL="install -c -p" -C python
61
62 mkdir -pv %{BUILDROOT}{%{dictdir},%{dictpath}}
63 util/cracklib-format cracklib-dicts/* | \
64 util/cracklib-packer %{BUILDROOT}%{dictpath}
65 util/cracklib-format %{BUILDROOT}%{dictdir}/cracklib-small | \
66 util/cracklib-packer %{BUILDROOT}%{dictdir}/cracklib-small
67 rm -f %{BUILDROOT}%{dictdir}/cracklib-small
68
69 sed -e "s@/usr/lib/cracklib_dict@%{dictpath}@g" lib/crack.h \
70 > %{BUILDROOT}%{includedir}/crack.h
71
72 ln -svf cracklib-format %{BUILDROOT}%{sbindir}/mkdict
73 ln -svf cracklib-packer %{BUILDROOT}%{sbindir}/packer
74
75 toprelpath=..
76 touch %{BUILDROOT}/top
77 while ! test -f %{BUILDROOT}%{libdir}/${toprelpath}/top; do
78 toprelpath=../${toprelpath}
79 done
80 rm -f %{BUILDROOT}/top
81
82 if [ "%{dictpath}" != "%{libdir}/cracklib_dict" ]; then
83 ln -svf ${toprelpath}%{dictpath}.hwm %{BUILDROOT}%{libdir}/cracklib_dict.hwm
84 ln -svf ${toprelpath}%{dictpath}.pwd %{BUILDROOT}%{libdir}/cracklib_dict.pwd
85 ln -svf ${toprelpath}%{dictpath}.pwi %{BUILDROOT}%{libdir}/cracklib_dict.pwi
86 fi
87 end
88 end
89
90 packages
91 package %{name}
92 requires = %{name}-dicts
93 end
94
95 package %{name}-devel
96 template DEVEL
97 end
98
99 # We build an extra package with the dictionaries.
100 package %{name}-dicts
101 summary = Dictionaries for %{thisapp}.
102 description = %{summary}
103
104 files
105 %{dictdir}
106 %{dictpath}
107 end
108 end
109
110 # We build an extra python package with the bindings for it.
111 package python-cracklib
112 summary = Python bindings for %{thisapp}.
113 description = %{summary}
114
115 files
116 /usr/lib/python*
117 %{libdir}/python*
118 end
119 end
120
121 package %{name}-debuginfo
122 template DEBUGINFO
123 end
124 end