File wapiti.spec of Package wapiti

#
# spec file for package wapiti
#
# Copyright (c) 2018 The openSUSE Project.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           wapiti
Version:        3.0.0
Release:        0
Summary:        A web application vulnerability scanner
License:        GPL-2.0
Group:          Productivity/Networking/Security
URL:            http://wapiti.sourceforge.net/
Source0:        https://sourceforge.net/projects/%{name}/files/%{name}/%{name}-%{version}/%{name}-%{version}.tar.gz
BuildRequires:  fdupes
BuildRequires:  python-rpm-macros
BuildRequires:  python3-setuptools
Requires:       python3-Mako
Requires:       python3-PySocks
Requires:       python3-beautifulsoup4
Requires:       python3-lxml
Requires:       python3-requests
Requires:       python3-tld
Requires:       python3-yaswfp
BuildArch:      noarch
%lang_package

%description
Wapiti allows you to audit the security of your web applications.
It performs "black-box" scans, i.e. it does not study the source code of the
application but will scan the webpages of the deployed webapp, looking for
scripts and forms where it can inject data.
Once it gets this list, Wapiti acts like a fuzzer, injecting payloads to see
if a script is vulnerable.

%prep
%setup -q
# Fix DOC_DIR for openSUSE
sed -i 's:DOC_DIR =.*:DOC_DIR = "share/doc/packages/%{name}":' setup.py
# Don't use env in interpreter in order the RPM's runtime dependency detection to work
find . -name "*.py" -exec sed -i 's:/usr/bin/env python3:/usr/bin/python3:' '{}' \;

%build
%python3_build

%install
%python3_install

# Fix executable bits for rpmlint
find %{buildroot}%{python3_sitelib}/wapitiCore -name "*.py" -a ! -name "__init__.py" -exec chmod 0755 '{}' +
chmod +x %{buildroot}%{python3_sitelib}/wapitiCore/__init__.py

# Fix duplication for rpmlint
%fdupes -s %{buildroot}%{python3_sitelib}/wapitiCore

%files
%{_bindir}/wapiti
%{_bindir}/wapiti-getcookie
%{_defaultdocdir}/%{name}
%{python3_sitelib}/%{name}-%{version}-py%{py3_ver}.egg-info/
%{python3_sitelib}/wapitiCore/
%{_mandir}/man1/wapiti-getcookie.1%{ext_man}
%{_mandir}/man1/wapiti.1%{ext_man}
%exclude %{python3_sitelib}/wapitiCore/config/language/

%files lang
%{python3_sitelib}/wapitiCore/config/language
%lang(de) %{python3_sitelib}/wapitiCore/config/language/de/LC_MESSAGES/wapiti.mo
%lang(en) %{python3_sitelib}/wapitiCore/config/language/en/LC_MESSAGES/wapiti.mo
%lang(es) %{python3_sitelib}/wapitiCore/config/language/es/LC_MESSAGES/wapiti.mo
%lang(fr) %{python3_sitelib}/wapitiCore/config/language/fr/LC_MESSAGES/wapiti.mo
%lang(ms) %{python3_sitelib}/wapitiCore/config/language/ms/LC_MESSAGES/wapiti.mo

%changelog
openSUSE Build Service is sponsored by