Compare commits

..

No commits in common. "rawhide" and "f31" have entirely different histories.

14 changed files with 146 additions and 233 deletions

View file

@ -1 +0,0 @@
1

2
.gitignore vendored
View file

@ -1 +1 @@
/hashcat-*.tar.xz
/hashcat-5.1.0.tar.gz

View file

@ -0,0 +1,98 @@
From 39e368c12879d31e750f765d16bcb1021d1d0f35 Mon Sep 17 00:00:00 2001
From: Vitaly Zaitsev <vitaly@easycoding.org>
Date: Wed, 6 Feb 2019 21:28:22 +0100
Subject: [PATCH] Fedora build patches.
---
src/Makefile | 47 ++++++++---------------------------------------
1 file changed, 8 insertions(+), 39 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index f860a2d8..a2a6ed22 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -3,14 +3,14 @@
## License.....: MIT
##
-SHARED := 0
+SHARED := 1
DEBUG := 0
PRODUCTION := 1
PRODUCTION_VERSION := v5.1.0
ENABLE_BRAIN := 1
USE_SYSTEM_LZMA := 0
-USE_SYSTEM_OPENCL := 0
-USE_SYSTEM_XXHASH := 0
+USE_SYSTEM_OPENCL := 1
+USE_SYSTEM_XXHASH := 1
##
## Detect Operating System
@@ -91,6 +91,7 @@ INSTALL_FOLDER ?= $(PREFIX)/bin
SHARED_ROOT_FOLDER ?= $(PREFIX)/share
SHARED_FOLDER ?= $(SHARED_ROOT_FOLDER)/hashcat
DOCUMENT_FOLDER ?= $(SHARED_ROOT_FOLDER)/doc/hashcat
+BASHCOMP_FOLDER ?= $(SHARED_ROOT_FOLDER)/bash-completion/completions
LIBRARY_FOLDER ?= $(PREFIX)/lib
LIBRARY_DEV_ROOT_FOLDER ?= $(PREFIX)/include
LIBRARY_DEV_FOLDER ?= $(LIBRARY_DEV_ROOT_FOLDER)/hashcat
@@ -175,13 +176,10 @@ CFLAGS += -Wextra
endif
ifeq ($(DEBUG),0)
-CFLAGS += -O2
-ifneq ($(UNAME),Darwin)
-LFLAGS += -s
-endif
+CFLAGS += -DNDEBUG
else
ifeq ($(DEBUG),1)
-CFLAGS += -DDEBUG -Og -ggdb
+CFLAGS += -DDEBUG -ggdb
else
ifeq ($(DEBUG),2)
CFLAGS += -DDEBUG -Og -ggdb
@@ -426,37 +424,8 @@ install_make_shared_root:
$(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_ROOT_FOLDER)
install_docs: install_make_shared_root
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/charsets
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/docs
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/layouts
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/masks
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/rules
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/extra
- $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/extra/tab_completion
- $(INSTALL) -m 644 example.dict $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 644 example0.hash $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 644 example400.hash $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 644 example500.hash $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 755 example0.sh $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 755 example400.sh $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 755 example500.sh $(DESTDIR)$(DOCUMENT_FOLDER)/
- $(INSTALL) -m 644 extra/tab_completion/hashcat.sh $(DESTDIR)$(DOCUMENT_FOLDER)/extra/tab_completion/
- $(INSTALL) -m 644 extra/tab_completion/howto.txt $(DESTDIR)$(DOCUMENT_FOLDER)/extra/tab_completion/
- $(INSTALL) -m 755 extra/tab_completion/install $(DESTDIR)$(DOCUMENT_FOLDER)/extra/tab_completion/
- $(FIND) charsets/ -type d -exec $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) charsets/ -type f -exec $(INSTALL) -m 644 {} $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) docs/ -type d -exec $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) docs/ -type f -exec $(INSTALL) -m 644 {} $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) layouts/ -type d -exec $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) layouts/ -type f -exec $(INSTALL) -m 644 {} $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) masks/ -type d -exec $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) masks/ -type f -exec $(INSTALL) -m 644 {} $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) rules/ -type d -exec $(INSTALL) -m 755 -d $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(FIND) rules/ -type f -exec $(INSTALL) -m 644 {} $(DESTDIR)$(DOCUMENT_FOLDER)/{} \;
- $(SED) $(SED_IN_PLACE) 's/\.\/hashcat/hashcat/' $(DESTDIR)$(DOCUMENT_FOLDER)/example0.sh
- $(SED) $(SED_IN_PLACE) 's/\.\/hashcat/hashcat/' $(DESTDIR)$(DOCUMENT_FOLDER)/example400.sh
- $(SED) $(SED_IN_PLACE) 's/\.\/hashcat/hashcat/' $(DESTDIR)$(DOCUMENT_FOLDER)/example500.sh
+ $(INSTALL) -m 755 -d $(DESTDIR)$(BASHCOMP_FOLDER)
+ $(INSTALL) -m 644 extra/tab_completion/hashcat.sh $(DESTDIR)$(BASHCOMP_FOLDER)/hashcat
install_shared: install_make_shared_root
$(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)
--
2.20.1

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# hashcat
The hashcat package

View file

@ -1,2 +0,0 @@
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

View file

@ -1,16 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.installability.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,87 +0,0 @@
From d4ebb8d60a87a638c20fa1de1b4560142a69feb5 Mon Sep 17 00:00:00 2001
From: Carlos Rodriguez-Fernandez <carlosrodrifernandez@gmail.com>
Date: Wed, 29 Oct 2025 12:15:25 -0700
Subject: [PATCH] fixes
---
src/Makefile | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index 72986407c..49cbaf924 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -52,7 +52,7 @@ endif
## Makefile flags
##
-MAKEFLAGS += -l -j 8 -rR --no-print-directory
+MAKEFLAGS += -l -rR --no-print-directory
ifneq ($(findstring clean,$(MAKECMDGOALS)),)
MAKEFLAGS += -j 1
@@ -167,8 +167,6 @@ DEPS_UNRAR_PATH := $(LIBRARY_DEV_ROOT_FOLDER)
endif
endif
-DEPS_SSE2NEON := deps/sse2neon
-
##
## Filenames for library and frontend
##
@@ -275,10 +273,7 @@ endif
endif
ifeq ($(DEBUG),0)
-CFLAGS += -O2
-ifneq ($(UNAME),Darwin)
-LFLAGS += -s
-endif
+CFLAGS += -DNDEBUG
else
ifeq ($(DEBUG),1)
ifneq ($(UNAME),Darwin)
@@ -427,7 +422,6 @@ endif # Darwin
ifeq ($(IS_ARM),1)
CFLAGS_NATIVE += -DSSE2NEON_SUPPRESS_WARNINGS
-CFLAGS_NATIVE += -I$(DEPS_SSE2NEON)
endif
ifeq ($(UNAME),CYGWIN)
@@ -589,7 +583,7 @@ endif
.PHONY: install
ifeq ($(SHARED),1)
-install: install_docs install_shared install_tools install_library install_library_dev install_tunings install_kernels install_modules install_bridges install_hashcat
+install: install_shared install_library install_library_dev install_tunings install_kernels install_modules install_bridges install_hashcat
else
install: install_docs install_shared install_tools install_tunings install_kernels install_modules install_bridges install_hashcat
endif
@@ -660,13 +654,13 @@ install_kernels: install_shared
install_modules: install_shared modules
$(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/modules
$(FIND) modules/ -mindepth 1 -type d -execdir $(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/modules/{} \;
- $(FIND) modules/ -mindepth 1 -type f -execdir $(INSTALL) -m 644 {} $(DESTDIR)$(SHARED_FOLDER)/modules/{} \;
+ $(FIND) modules/ -mindepth 1 -type f -execdir $(INSTALL) -m 755 {} $(DESTDIR)$(SHARED_FOLDER)/modules/{} \;
.PHONY: install_bridges
install_bridges: install_shared bridges
$(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/bridges
$(FIND) bridges/ -mindepth 1 -type d -execdir $(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/bridges/{} \;
- $(FIND) bridges/ -mindepth 1 -type f -execdir $(INSTALL) -m 644 {} $(DESTDIR)$(SHARED_FOLDER)/bridges/{} \;
+ $(FIND) bridges/ -mindepth 1 -type f -execdir $(INSTALL) -m 755 {} $(DESTDIR)$(SHARED_FOLDER)/bridges/{} \;
.PHONY: install_library
install_library: $(HASHCAT_LIBRARY)
@@ -892,7 +886,6 @@ endif
ifeq ($(IS_ARM),1)
CFLAGS_CROSS_LINUX += -DSSE2NEON_SUPPRESS_WARNINGS
-CFLAGS_CROSS_LINUX += -I$(DEPS_SSE2NEON)
endif
##
--
2.51.0

View file

@ -1,62 +1,28 @@
# hashcat require an ancient version of minizip.
# On Fedora we can use compatibility package, but
# on RHEL we must use bundled version.
%if 0%{?fedora}
%bcond_without zlib
%else
%bcond_with zlib
%endif
%global makeflags PREFIX=%{_prefix} LIBRARY_FOLDER=%{_libdir} SHARED_ROOT_FOLDER=%{_libdir} DOCUMENT_FOLDER=%{_docdir}/hashcat-doc SHARED=1 USE_SYSTEM_OPENCL=1 USE_SYSTEM_XXHASH=1 ENABLE_UNRAR=0 MAINTAINER_MODE=1
%if %{with zlib}
%global makeflags %(echo %{makeflags} USE_SYSTEM_ZLIB=1)
%else
%global makeflags %(echo %{makeflags} USE_SYSTEM_ZLIB=0)
%endif
Name: hashcat
Version: 7.1.2
Release: %autorelease
License: MIT AND LicenseRef-Fedora-Public-Domain AND BSD-2-Clause AND Apache-2.0
URL: https://github.com/%{name}/%{name}
Version: 5.1.0
Release: 7%{?dist}
Summary: Advanced password recovery utility
# The official upstream tarball contains some non-free components.
# We cannot use it on Fedora for legal reasons.
# Use ./make_tarball.sh to generate a new stripped tarball.
Source0: %{name}-%{version}-clean.tar.xz
Source1: make_tarball.sh
Patch0: %{name}-build-fixes.patch
License: MIT and Public Domain
URL: https://github.com/%{name}/%{name}
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-Fedora-build-patches.patch
BuildRequires: bash-completion
BuildRequires: opencl-headers
BuildRequires: xxhash-devel
%ifarch aarch64
BuildRequires: sse2neon-devel
%endif
BuildRequires: gcc
BuildRequires: make
%if %{with zlib}
BuildRequires: zlib-ng-compat-devel
BuildRequires: minizip-compat-devel
%else
Provides: bundled(zlib) = 1.2.11
Provides: bundled(minizip) = 1.2.11
Requires: bash-completion
%if 0%{?fedora}
Recommends: mesa-libOpenCL%{?_isa}
Recommends: pocl%{?_isa}
Recommends: %{name}-doc = %{?epoch:%{epoch}:}%{version}-%{release}
%endif
Provides: bundled(lzma-sdk) = 24.09
Provides: bundled(scrypt-jane)
Provides: bundled(yescrypt)
Provides: bundled(libargon2) = 20190702
Recommends: %{name}-doc
# Upstream does not support Big Endian architectures.
# Upstream source code does not longer build for ppc64le: https://bugzilla.redhat.com/show_bug.cgi?id=2407234
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86} ppc64 s390x ppc64le
ExcludeArch: ppc64 s390x
%description
Hashcat is the world's fastest and most advanced password recovery
@ -83,31 +49,24 @@ BuildArch: noarch
%prep
%autosetup -p1
rm -rf deps/{OpenCL-Headers,xxHash,sse2neon}
%if %{with zlib}
rm -rf deps/zlib
%endif
rm -rf deps/{OpenCL-Headers,xxHash}
sed -e 's/\.\/hashcat/hashcat/' -i *.sh
chmod -x *.sh
rm -f modules/.lock
%build
%set_build_flags
%make_build %{makeflags}
%make_build PREFIX=%{_prefix}
%install
%make_install %{makeflags}
ln -s lib%{name}.so.%{version} %{buildroot}%{_libdir}/lib%{name}.so
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
install -m 0744 -p extra/tab_completion/hashcat.sh %{buildroot}%{_datadir}/bash-completion/completions/%{name}
find %{buildroot}%{_libdir}/%{name}/ -name '.gitkeep' -type f -delete
%make_install PREFIX=%{_prefix} LIBRARY_FOLDER=%{_libdir}
ln -s lib%{name}.so.%{version} "%{buildroot}%{_libdir}/lib%{name}.so"
%files
%license docs/license.txt
%doc README.md
%{_datadir}/bash-completion/
%{_datadir}/bash-completion/completions/%{name}
%{_libdir}/lib%{name}.so.%{version}
%{_libdir}/%{name}/
%{_datadir}/%{name}
%{_bindir}/%{name}
%files devel
@ -115,8 +74,29 @@ find %{buildroot}%{_libdir}/%{name}/ -name '.gitkeep' -type f -delete
%{_libdir}/lib%{name}.so
%files doc
%doc docs/ charsets/ layouts/ masks/ rules/
%doc docs/{changes,contact,credits,limits,performance,readme,rules,status_codes,team,user_manuals}.txt
%doc charsets/ layouts/ masks/ rules/
%doc example.dict example*.sh
%changelog
%autochangelog
* Tue Feb 25 2020 Vitaly Zaitsev <vitaly@easycoding.org> - 5.1.0-7
- Allow to install without mesa-libOpenCL.
- Added pocl as a weak dependency on Fedora.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 24 2019 Vitaly Zaitsev <vitaly@easycoding.org> - 5.1.0-4
- Switched to regular build instead of debug.
* Mon Feb 18 2019 Vitaly Zaitsev <vitaly@easycoding.org> - 5.1.0-3
- Fixed problem with dependencies on EPEL7.
* Thu Feb 07 2019 Vitaly Zaitsev <vitaly@easycoding.org> - 5.1.0-2
- Moved documentation to a separate package.
* Wed Feb 06 2019 Vitaly Zaitsev <vitaly@easycoding.org> - 5.1.0-1
- Initial SPEC release.

View file

@ -1,33 +0,0 @@
#!/usr/bin/bash
set -e
NAME="hashcat"
VERSION="$1"
if [ -z "$VERSION" ]
then
echo "Usage: ./make_tarball.sh {version}"
exit 1
fi
TARBALL_DIR="$NAME-$VERSION"
TARBALL_ORIG="$NAME-$VERSION.tar.gz"
TARBALL_NEW="$NAME-$VERSION-clean.tar.xz"
echo "Downloading upstream tarball..."
wget "https://github.com/hashcat/hashcat/archive/v$VERSION/$TARBALL_ORIG" -O "$TARBALL_ORIG" 2>/dev/null
echo "Unpacking upstream tarball..."
tar -xf "$TARBALL_ORIG"
echo "Removing non-free components..."
rm -rf "$TARBALL_DIR/deps/unrar"
echo "Building a new tarball..."
tar -cJf "$TARBALL_NEW" "$TARBALL_DIR"
echo "Performing cleanup..."
rm -f "$TARBALL_ORIG"
rm -rf "$TARBALL_DIR"
echo "Done."

View file

@ -1,5 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
SHA512 (hashcat-7.1.2-clean.tar.xz) = 39d525d8f835227a2d9a081ce5b96eabebeff15f10707115f94339f9edd55228885dcd151ace9132e937147318d44447dbb53f8c05b3048f5cb24d620a4f00af
SHA512 (hashcat-5.1.0.tar.gz) = 90605c2bcd0ec275d2f6ec581899b95cdc320b1494613a19803192c8a08037a7829b3776ed42c58eb6551ec1a746f47f94ab5b273958ca74e0fc57315e209ece

View file

@ -1 +0,0 @@
summary: hashcat cli smoke test

View file

@ -1,19 +0,0 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun "hashcat --version" 0 "version info"
rlPhaseEnd
rlPhaseStartTest
rlRun -s "hashcat --help" 0 "help"
rlAssertGrep "Usage" "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartTest
rlRun -s "hashcat --hash-info" 0 "hash info"
rlAssertGrep "Hash Info" "$rlRun_LOG"
rlPhaseEnd
rlJournalEnd

View file

@ -1,4 +0,0 @@
summary: hashcat smoke test
test: ./test.sh
framework: beakerlib
require: ["hashcat"]