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
10 %ifarch i586 i686 athlon pentium2 pentium3 pentium4
15 %ifarch i686 athlon pentium4
22 %define optmmxfb -DCPU_FALLBACK=1
29 %define optssefb -DCPU_FALLBACK=1
32 %define optssefb %{nil}
35 Summary: Password cracker
36 Summary(pl.UTF-8): Łamacz haseł
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 Patch0: %{name}-mailer.patch
48 Patch1: optflags.patch
49 URL: http://www.openwall.com/john/
50 %{?with_jumbo:BuildRequires: openssl-devel >= 0.9.7}
51 BuildRequires: rpmbuild(macros) >= 1.213
52 BuildRequires: tar >= 1:1.22
55 %ifarch %{ix86} %{x8664}
57 Requires: cpuinfo(xop)
59 %if %{with xop} || %{with avx}
60 Requires: cpuinfo(avx)
62 %if %{do_sse2} && !%{do_ssefb}
63 Requires: cpuinfo(sse2)
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 John the Ripper is a fast password cracker, currently available for
70 many flavors of Unix (11 are officially supported, not counting
71 different architectures), DOS, Win32, BeOS, and OpenVMS (the latter
72 requires a contributed patch). Its primary purpose is to detect weak
73 Unix passwords. Besides several crypt(3) password hash types most
74 commonly found on various Unix flavors, supported out of the box are
75 Kerberos/AFS and Windows NT/2000/XP LM hashes, plus several more with
78 %description -l pl.UTF-8
79 John The Ripper jest szybkim "łamaczem" haseł dostępnym dla wielu
80 rodzajów uniksów (oficjalnie obsługiwanych jest 11, nie licząc różnych
81 architektur), DOS-a, Win32, BeOS-a i OpenVMS-a (ten ostatni wymaga
82 łaty). Głównym zastosowaniem jest wykrywanie słabych haseł uniksowych.
83 Oprócz różnych rodzajów skrótów haseł crypt(3) najczęściej używanych
84 na różnych uniksach, obsługiwane są także skróty Kerberos/AFS oraz
85 Windows NT/2000/XP LM, a także kilka innych przy użyciu łat.
88 %setup -q -T %{?with_jumbo:-b1 -n %{name}-%{version}-jumbo-1} %{!?with_jumbo:-b0} -a2
90 %{!?with_jumbo:%patch1 -p1}
92 mv john-extra-*/*.chr run
104 #define JOHN_SYSTEMWIDE 1
105 #define JOHN_SYSTEMWIDE_EXEC "%{_libdir}/john"
109 %{__make} linux-x86-any \
111 OPTFLAGS="%{rpmcflags} -include defs.h"
112 mv ../run/john ../run/john-non-mmx
117 %{__make} linux-x86-mmx \
119 OPTFLAGS="%{rpmcflags} -include defs.h %{?optmmxfb}"
120 mv ../run/john ../run/john-non-sse
126 TARG=linux-x86-64%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}}
129 %if %{with xop} || %{with avx}
130 TARG=linux-x86%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}}
144 TARG=linux-ppc32%{?with_altivec:-altivec}
147 TARG=linux-ppc64%{?with_altivec:-altivec}
155 %ifarch sparc sparcv9
161 OPTFLAGS='%{rpmcflags} -include defs.h %{?optmmxfb}'
165 rm -rf $RPM_BUILD_ROOT
166 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/john}
167 cp -a run/{*.conf,*.chr,*.lst} $RPM_BUILD_ROOT%{_datadir}/john
168 install -p run/john $RPM_BUILD_ROOT%{_bindir}
170 install -D -p run/john-non-mmx $RPM_BUILD_ROOT%{_libdir}/john/john-non-mmx
173 install -D -p run/john-non-sse $RPM_BUILD_ROOT%{_libdir}/john/john-non-sse
176 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unafs
177 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unique
178 ln -sf john $RPM_BUILD_ROOT%{_bindir}/unshadow
181 rm -rf $RPM_BUILD_ROOT
184 %defattr(644,root,root,755)
185 %doc doc/* run/mailer
186 %attr(755,root,root) %{_bindir}/john
187 %attr(755,root,root) %{_bindir}/unafs
188 %attr(755,root,root) %{_bindir}/unique
189 %attr(755,root,root) %{_bindir}/unshadow
190 %if %{do_mmxfb} || %{do_ssefb}
193 %attr(755,root,root) %{_libdir}/john/john-non-mmx
196 %attr(755,root,root) %{_libdir}/john/john-non-sse