]> git.pld-linux.org Git - packages/john.git/blob - john.spec
- restore source2-md5
[packages/john.git] / john.spec
1 #
2 # Conditional build:
3 %bcond_without  jumbo           # Build community-enhanced version with lots of contributed
4                                 # patches adding support for over 30
5                                 # of additional hash types, and more.
6 %bcond_with     avx             # use x86 AVX instructions
7 %bcond_with     xop             # use x86 XOP instructions
8 %bcond_with     altivec         # use PPC Altivec instructions
9
10 %ifarch i586 i686 athlon pentium2 pentium3 pentium4
11 %define do_mmx 1
12 %else
13 %define do_mmx 0
14 %endif
15 %ifarch i686 athlon pentium4
16 %define do_sse2 1
17 %else
18 %define do_sse2 0
19 %endif
20 %ifarch i586 i686
21 %define do_mmxfb 1
22 %define optmmxfb -DCPU_FALLBACK=1
23 %else
24 %define do_mmxfb 0
25 %undefine optmmxfb
26 %endif
27 %ifarch i686 athlon
28 %define do_ssefb 1
29 %define optssefb -DCPU_FALLBACK=1
30 %else
31 %define do_ssefb 0
32 %define optssefb %{nil}
33 %endif
34
35 Summary:        Password cracker
36 Summary(pl.UTF-8):      Łamacz haseł
37 Name:           john
38 Version:        1.8.0
39 Release:        1
40 License:        GPL v2
41 Group:          Applications/System
42 Source0:        http://www.openwall.com/john/j/%{name}-%{version}.tar.xz
43 # Source0-md5:  a4086df68f51778782777e60407f1869
44 Source1:        http://www.openwall.com/john/j/%{name}-%{version}-jumbo-1.tar.xz
45 # Source1-md5:  1d6b22ec41a12cdcd62ad6eae3e77345
46 Source2:        http://www.openwall.com/john/j/%{name}-extra-20130529.tar.xz
47 # Source2-md5:  bb191828e8cbfd5fe0779dff5d87d5f4
48 Patch0:         %{name}-mailer.patch
49 Patch1:         optflags.patch
50 URL:            http://www.openwall.com/john/
51 %{?with_jumbo:BuildRequires: openssl-devel >= 0.9.7}
52 BuildRequires:  rpmbuild(macros) >= 1.213
53 BuildRequires:  tar >= 1:1.22
54 BuildRequires:  xz
55 Requires:       words
56 %ifarch %{ix86} %{x8664}
57 %if %{with xop}
58 Requires:       cpuinfo(xop)
59 %endif
60 %if %{with xop} || %{with avx}
61 Requires:       cpuinfo(avx)
62 %endif
63 %if %{do_sse2} && !%{do_ssefb}
64 Requires:       cpuinfo(sse2)
65 %endif
66 %endif
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %description
70 John the Ripper is a fast password cracker, currently available for
71 many flavors of Unix (11 are officially supported, not counting
72 different architectures), DOS, Win32, BeOS, and OpenVMS (the latter
73 requires a contributed patch). Its primary purpose is to detect weak
74 Unix passwords. Besides several crypt(3) password hash types most
75 commonly found on various Unix flavors, supported out of the box are
76 Kerberos/AFS and Windows NT/2000/XP LM hashes, plus several more with
77 contributed patches.
78
79 %description -l pl.UTF-8
80 John The Ripper jest szybkim "łamaczem" haseł dostępnym dla wielu
81 rodzajów uniksów (oficjalnie obsługiwanych jest 11, nie licząc różnych
82 architektur), DOS-a, Win32, BeOS-a i OpenVMS-a (ten ostatni wymaga
83 łaty). Głównym zastosowaniem jest wykrywanie słabych haseł uniksowych.
84 Oprócz różnych rodzajów skrótów haseł crypt(3) najczęściej używanych
85 na różnych uniksach, obsługiwane są także skróty Kerberos/AFS oraz
86 Windows NT/2000/XP LM, a także kilka innych przy użyciu łat.
87
88 %prep
89 %setup -q -T %{?with_jumbo:-b1 -n %{name}-%{version}-jumbo-1} %{!?with_jumbo:-b0} -a2
90 %patch0 -p1
91 %{!?with_jumbo:%patch1 -p1}
92
93 mv john-extra-*/*.chr run
94
95 %{__rm} doc/INSTALL
96
97 %build
98 cd src
99
100 %if %{with jumbo}
101 %configure
102 %{__make}
103 %else
104 cat > defs.h <<'EOF'
105 #define JOHN_SYSTEMWIDE 1
106 #define JOHN_SYSTEMWIDE_EXEC "%{_libdir}/john"
107 EOF
108
109 %if %{do_mmxfb}
110 %{__make} linux-x86-any \
111         CC="%{__cc}" \
112         OPTFLAGS="%{rpmcflags} -include defs.h"
113 mv ../run/john ../run/john-non-mmx
114 %{__make} clean
115 %endif
116
117 %if %{do_ssefb}
118 %{__make} linux-x86-mmx \
119         CC="%{__cc}" \
120         OPTFLAGS="%{rpmcflags} -include defs.h %{?optmmxfb}"
121 mv ../run/john ../run/john-non-sse
122 %{__make} clean
123 %endif
124
125 TARG=generic
126 %ifarch %{x8664}
127         TARG=linux-x86-64%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}}
128 %endif
129 %ifarch %{ix86}
130         %if %{with xop} || %{with avx}
131                 TARG=linux-x86%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}}
132         %else
133                 %if %{do_sse2}
134                         TARG=linux-x86-sse2
135                 %else
136                         %if %{do_mmx}
137                                 TARG=linux-x86-mmx
138                         %else
139                                 TARG=linux-x86-any
140                         %endif
141                 %endif
142         %endif
143 %endif
144 %ifarch ppc
145         TARG=linux-ppc32%{?with_altivec:-altivec}
146 %endif
147 %ifarch ppc64
148         TARG=linux-ppc64%{?with_altivec:-altivec}
149 %endif
150 %ifarch alpha
151         TARG=linux-alpha
152 %endif
153 %ifarch ia64
154         TARG=linux-ia64
155 %endif
156 %ifarch sparc sparcv9
157         TARG=linux-sparc
158 %endif
159
160 %{__make} $TARG \
161         CC="%{__cc}" \
162         OPTFLAGS='%{rpmcflags} -include defs.h %{?optmmxfb}'
163 %endif
164
165 %install
166 rm -rf $RPM_BUILD_ROOT
167 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/john}
168 cp -a run/{*.conf,*.chr,*.lst} $RPM_BUILD_ROOT%{_datadir}/john
169 install -p run/john $RPM_BUILD_ROOT%{_bindir}
170 %if %{do_mmxfb}
171 install -D -p run/john-non-mmx $RPM_BUILD_ROOT%{_libdir}/john/john-non-mmx
172 %endif
173 %if %{do_ssefb}
174 install -D -p run/john-non-sse $RPM_BUILD_ROOT%{_libdir}/john/john-non-sse
175 %endif
176
177 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unafs
178 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unique
179 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unshadow
180
181 %clean
182 rm -rf $RPM_BUILD_ROOT
183
184 %files
185 %defattr(644,root,root,755)
186 %doc doc/* run/mailer
187 %attr(755,root,root) %{_bindir}/john
188 %attr(755,root,root) %{_bindir}/unafs
189 %attr(755,root,root) %{_bindir}/unique
190 %attr(755,root,root) %{_bindir}/unshadow
191 %if %{do_mmxfb} || %{do_ssefb}
192 %dir %{_libdir}/john
193 %if %{do_mmxfb}
194 %attr(755,root,root) %{_libdir}/john/john-non-mmx
195 %endif
196 %if %{do_ssefb}
197 %attr(755,root,root) %{_libdir}/john/john-non-sse
198 %endif
199 %endif
200 %{_datadir}/john
This page took 0.045904 seconds and 4 git commands to generate.