X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=john.spec;h=1803f52e5275d5234a92ca9b5a5b1b575d5ab731;hb=5ffc47b3fd9f6573a9e352225d62bcb5b09a8abc;hp=39d80c26f6cc92971008be536663bd266c145362;hpb=15ea9c6b3f2e3d77fb8b2ac78a9934497d204aa0;p=packages%2Fjohn.git diff --git a/john.spec b/john.spec index 39d80c2..1803f52 100644 --- a/john.spec +++ b/john.spec @@ -1,9 +1,22 @@ # +# Conditional build: +%bcond_with jumbopatch # This patch integrates lots of contributed + # patches adding support for over 30 + # of additional hash types, and more. +%bcond_with avx # use x86 AVX instructions +%bcond_with xop # use x86 XOP instructions +%bcond_with altivec # use PPC Altivec instructions +# %ifarch i586 i686 athlon pentium2 pentium3 pentium4 %define do_mmx 1 %else %define do_mmx 0 %endif +%ifarch i686 athlon pentium4 +%define do_sse2 1 +%else +%define do_sse2 0 +%endif %ifarch i586 i686 %define do_mmxfb 1 %define optmmxfb -DCPU_FALLBACK=1 @@ -11,19 +24,42 @@ %define do_mmxfb 0 %undefine optmmxfb %endif +%ifarch i686 athlon +%define do_ssefb 1 +%define optssefb -DCPU_FALLBACK=1 +%else +%define do_ssefb 0 +%define optssefb +%endif Summary: Password cracker -Summary(pl.UTF-8): Łamacz haseł +Summary(pl.UTF-8): Łamacz haseł Name: john -Version: 1.7.2 +Version: 1.7.9 Release: 1 -License: GPL +License: GPL v2 Group: Applications/System -Source0: http://www.openwall.com/john/f/%{name}-%{version}.tar.bz2 -# Source0-md5: dc6a6c2a885110ccb5da4c1e2010cb07 +Source0: http://www.openwall.com/john/g/%{name}-%{version}.tar.bz2 +# Source0-md5: 45f54fc59386ecd67daaef9f19781d93 Patch0: %{name}-mailer.patch +Patch1: optflags.patch +Patch2: http://www.openwall.com/john/g/%{name}-1.7.9-jumbo-5.diff.gz +# Patch2-md5: 68cacb612f20c71eed6c24cbaf28148a +Patch3: %{name}-jumbo-optflags.patch URL: http://www.openwall.com/john/ +%{?with_jumbopatch:BuildRequires: openssl-devel >= 0.9.7} BuildRequires: rpmbuild(macros) >= 1.213 Requires: words +%ifarch %{ix86} %{x8664} +%if %{with xop} +Requires: cpuinfo(xop) +%endif +%if %{with xop} || %{with avx} +Requires: cpuinfo(avx) +%endif +%if %{do_sse2} && !%{do_ssefb} +Requires: cpuinfo(sse2) +%endif +%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -48,61 +84,89 @@ Windows NT/2000/XP LM, a także kilka innych przy użyciu łat. %prep %setup -q %patch0 -p1 +%{!?with_jumbopatch:%patch1 -p1} +%{?with_jumbopatch:%patch2 -p1} +%{?with_jumbopatch:%patch3 -p1} + +%{__rm} doc/INSTALL %build cd src +cat > defs.h <<'EOF' +#define JOHN_SYSTEMWIDE 1 +#define JOHN_SYSTEMWIDE_EXEC "%{_libdir}/john" +EOF + %if %{do_mmxfb} %{__make} linux-x86-any \ - CFLAGS="-c -Wall -fomit-frame-pointer %{rpmcflags} -DJOHN_SYSTEMWIDE=1" \ - CC="%{__cc}" + CC="%{__cc}" \ + OPTFLAGS="%{rpmcflags} -include defs.h" mv ../run/john ../run/john-non-mmx %{__make} clean %endif -%ifarch %{ix86} - %if %{do_mmx} - TARG=linux-x86-mmx - %else - TARG=linux-x86-any - %endif -%else - %ifarch alpha - TARG=linux-alpha +%if %{do_ssefb} +%{__make} linux-x86-mmx \ + CC="%{__cc}" \ + OPTFLAGS="%{rpmcflags} -include defs.h %{?optmmxfb}" +mv ../run/john ../run/john-non-sse +%endif + +TARG=generic +%ifarch %{x8664} + TARG=linux-x86-64%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}} +%endif +%ifarch %{ix86} + %if %{with xop} || %{with avx} + TARG=linux-x86%{?with_xop:-xop}%{!?with_xop:%{?with_avx:-avx}} %else - %ifarch sparc sparcv9 - TARG=linux-sparc + %if %{do_sse2} + TARG=linux-x86-sse2 %else - %ifarch %{x8664} - TARG=linux-x86-64 + %if %{do_mmx} + TARG=linux-x86-mmx %else - TARG=generic + TARG=linux-x86-any %endif %endif %endif %endif +%ifarch ppc + TARG=linux-ppc32%{?with_altivec:-altivec} +%endif +%ifarch ppc64 + TARG=linux-ppc64%{?with_altivec:-altivec} +%endif +%ifarch alpha + TARG=linux-alpha +%endif +%ifarch ia64 + TARG=linux-ia64 +%endif +%ifarch sparc sparcv9 + TARG=linux-sparc +%endif %{__make} $TARG \ - CFLAGS="-c -Wall -fomit-frame-pointer %{rpmcflags} -DJOHN_SYSTEMWIDE=1 -DJOHN_SYSTEMWIDE_EXEC=\\\"%{_libdir}/john\\\" %{?optmmxfb}" \ - CC="%{__cc}" + CC="%{__cc}" \ + OPTFLAGS='%{rpmcflags} -include defs.h %{?optmmxfb}' %install rm -rf $RPM_BUILD_ROOT - install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/john} -install run/{*.conf,*.chr,*.lst} $RPM_BUILD_ROOT%{_datadir}/john -install run/john $RPM_BUILD_ROOT%{_bindir} +cp -a run/{*.conf,*.chr,*.lst} $RPM_BUILD_ROOT%{_datadir}/john +install -p run/john $RPM_BUILD_ROOT%{_bindir} %if %{do_mmxfb} -install -d $RPM_BUILD_ROOT%{_libdir}/john -install run/john-non-mmx $RPM_BUILD_ROOT%{_libdir}/john +install -D -p run/john-non-mmx $RPM_BUILD_ROOT%{_libdir}/john/john-non-mmx +%endif +%if %{do_ssefb} +install -D -p run/john-non-sse $RPM_BUILD_ROOT%{_libdir}/john/john-non-sse %endif -rm -f doc/INSTALL - -cd $RPM_BUILD_ROOT%{_bindir} -ln -sf john unafs -ln -sf john unique -ln -sf john unshadow +ln -sf john $RPM_BUILD_ROOT%{_bindir}/unafs +ln -sf john $RPM_BUILD_ROOT%{_bindir}/unique +ln -sf john $RPM_BUILD_ROOT%{_bindir}/unshadow %clean rm -rf $RPM_BUILD_ROOT @@ -110,9 +174,17 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc doc/* run/mailer -%attr(755,root,root) %{_bindir}/* -%if %{do_mmxfb} +%attr(755,root,root) %{_bindir}/john +%attr(755,root,root) %{_bindir}/unafs +%attr(755,root,root) %{_bindir}/unique +%attr(755,root,root) %{_bindir}/unshadow +%if %{do_mmxfb} || %{do_ssefb} %dir %{_libdir}/john +%if %{do_mmxfb} %attr(755,root,root) %{_libdir}/john/john-non-mmx %endif +%if %{do_ssefb} +%attr(755,root,root) %{_libdir}/john/john-non-sse +%endif +%endif %{_datadir}/john