]> git.ipfire.org Git - people/stevee/ipfire-3.x.git/blob - cracklib/cracklib.nm
Merge remote-tracking branch 'maniacikarus/samba'
[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.8.18
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 autoconf
31 automake
32 gettext-devel
33 python-devel
34 end
35
36 dictdir = %{datadir}/cracklib
37 dictpath = %{dictdir}/pw_dict
38
39 configure_options += \
40 --with-default-dict=/lib/cracklib/pw_dict \
41 --with-python \
42 --disable-static
43
44 # Only extract the source tarball.
45 prepare
46 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/%{thisapp}.tar.gz
47 cd %{DIR_APP}
48
49 cp lib/packer.h lib/packer.h.in
50 chmod +x util/cracklib-format
51
52 # Apply all patches.
53 %{MACRO_PATCHES}
54
55 #autoreconf -fi
56
57 mkdir cracklib-dicts
58 cp -vf %{DIR_DL}/cracklib-words-20080507.gz cracklib-dicts
59
60 # Create distribution dict.
61 echo -ne "%{DISTRO_NAME}\n%{DISTRO_SNAME}\n" >> \
62 cracklib-dicts/cracklib-distro-words
63 gzip -9 cracklib-dicts/cracklib-distro-words
64 end
65
66 install_cmds
67 # Install python bindings
68 make install DESTDIR=%{BUILDROOT} INSTALL="install -c -p" -C python
69
70 mkdir -pv %{BUILDROOT}/{,usr/}%{lib}
71 mv -v %{BUILDROOT}%{libdir}/libcrack.so.2* %{BUILDROOT}/%{lib}
72 ln -vsf ../../%{lib}/libcrack.so.2.8.1 %{BUILDROOT}%{libdir}/libcrack.so
73
74 mkdir -pv %{BUILDROOT}{%{dictdir},%{dictpath}}
75 util/cracklib-format cracklib-dicts/* | \
76 util/cracklib-packer %{BUILDROOT}%{dictpath}
77 util/cracklib-format %{BUILDROOT}%{dictdir}/cracklib-small | \
78 util/cracklib-packer %{BUILDROOT}%{dictdir}/cracklib-small
79 rm -f %{BUILDROOT}%{dictdir}/cracklib-small
80
81 sed -e "s@/usr/lib/cracklib_dict@%{dictpath}@g" lib/crack.h \
82 > %{BUILDROOT}%{includedir}/crack.h
83
84 ln -svf cracklib-format %{BUILDROOT}%{sbindir}/mkdict
85 ln -svf cracklib-packer %{BUILDROOT}%{sbindir}/packer
86
87 toprelpath=..
88 touch %{BUILDROOT}/top
89 while ! test -f %{BUILDROOT}%{libdir}/${toprelpath}/top; do
90 toprelpath=../${toprelpath}
91 done
92 rm -f %{BUILDROOT}/top
93
94 if [ "%{dictpath}" != "%{libdir}/cracklib_dict" ]; then
95 ln -svf ${toprelpath}%{dictpath}.hwm %{BUILDROOT}%{libdir}/cracklib_dict.hwm
96 ln -svf ${toprelpath}%{dictpath}.pwd %{BUILDROOT}%{libdir}/cracklib_dict.pwd
97 ln -svf ${toprelpath}%{dictpath}.pwi %{BUILDROOT}%{libdir}/cracklib_dict.pwi
98 fi
99 end
100 end
101
102 packages
103 package %{name}
104 requires = %{name}-dicts
105 end
106
107 package %{name}-devel
108 template DEVEL
109 end
110
111 # We build an extra package with the dictionaries.
112 package %{name}-dicts
113 summary = Dictionaries for %{thisapp}.
114 description = %{summary}
115
116 files
117 %{dictdir}
118 %{dictpath}
119 end
120 end
121
122 # We build an extra python package with the bindings for it.
123 package python-cracklib
124 summary = Python bindings for ${thisapp}.
125 description = %{summary}
126
127 files = /usr/lib*/python*
128 end
129
130 package %{name}-debuginfo
131 template DEBUGINFO
132 end
133 end