## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 8;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

# Generated by go2rpm 1
%bcond_without check

# Bug with package note on aarch64/arm?
%ifarch aarch64 %{arm}
%undefine _package_note_file
%endif

# Avoid noarch package built differently on different architectures
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(github.com/chifflier/nfqueue-go/nfqueue\\)$

# https://github.com/bettercap/bettercap
%global goipath         github.com/bettercap/bettercap
Version:                2.32.0

%gometa

%global godevelheader %{expand:
Requires:               pkgconfig(libnetfilter_queue)
Requires:               golang(github.com/chifflier/nfqueue-go/nfqueue)
}

%global common_description %{expand:
The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and
MITM attacks.}

%global golicenses      LICENSE.md
%global godocs          README.md

Name:           bettercap
Release:        %autorelease
Summary:        Tool for 802.11, BLE and Ethernet reconnaissance and MITM attacks

License:        GPLv3
URL:            %{gourl}
Source0:        %{gosource}

BuildRequires:  golang(github.com/acarl005/stripansi)
BuildRequires:  golang(github.com/adrianmo/go-nmea)
BuildRequires:  golang(github.com/antchfx/jsonquery)
BuildRequires:  golang(github.com/bettercap/gatt)
BuildRequires:  golang(github.com/bettercap/nrf24)
BuildRequires:  golang(github.com/bettercap/readline)
BuildRequires:  golang(github.com/bettercap/recording)
BuildRequires:  golang(github.com/chifflier/nfqueue-go/nfqueue)
BuildRequires:  golang(github.com/dustin/go-humanize)
BuildRequires:  golang(github.com/elazarl/goproxy)
BuildRequires:  golang(github.com/evilsocket/islazy/async)
BuildRequires:  golang(github.com/evilsocket/islazy/data)
BuildRequires:  golang(github.com/evilsocket/islazy/fs)
BuildRequires:  golang(github.com/evilsocket/islazy/log)
BuildRequires:  golang(github.com/evilsocket/islazy/ops)
BuildRequires:  golang(github.com/evilsocket/islazy/plugin)
BuildRequires:  golang(github.com/evilsocket/islazy/str)
BuildRequires:  golang(github.com/evilsocket/islazy/tui)
BuildRequires:  golang(github.com/evilsocket/islazy/zip)
BuildRequires:  golang(github.com/gobwas/glob)
BuildRequires:  golang(github.com/google/go-github/github)
BuildRequires:  golang(github.com/google/gopacket)
BuildRequires:  golang(github.com/google/gopacket/layers)
BuildRequires:  golang(github.com/google/gopacket/pcap)
BuildRequires:  golang(github.com/google/gopacket/pcapgo)
BuildRequires:  golang(github.com/google/gousb)
BuildRequires:  golang(github.com/gorilla/mux)
BuildRequires:  golang(github.com/gorilla/websocket)
BuildRequires:  golang(github.com/hashicorp/mdns)
BuildRequires:  golang(github.com/inconshreveable/go-vhost)
BuildRequires:  golang(github.com/jpillora/go-tld)
BuildRequires:  golang(github.com/koppacetic/go-gpsd)
BuildRequires:  golang(github.com/malfunkt/iprange)
BuildRequires:  golang(github.com/mdlayher/dhcp6)
BuildRequires:  golang(github.com/mdlayher/dhcp6/dhcp6opts)
BuildRequires:  golang(github.com/miekg/dns)
BuildRequires:  golang(github.com/mitchellh/go-homedir)
BuildRequires:  golang(github.com/robertkrimen/otto)
BuildRequires:  golang(github.com/tarm/serial)
BuildRequires:  golang(github.com/thoj/go-ircevent)
BuildRequires:  golang(golang.org/x/net/html)
BuildRequires:  golang(golang.org/x/net/idna)
BuildRequires:  pkgconfig(libnetfilter_queue)
BuildRequires:  procps-ng

%description
%{common_description}

%gopkg

%prep
%goprep

%build
%gobuild -o %{gobuilddir}/bin/bettercap %{goipath}

%install
%gopkginstall
install -m 0755 -vd                     %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/

%if %{with check}
%check
# "-d network" flag is to avoid error message "is no iface found No active interfaces found"
# since network is not available during builds
%gocheck -d network
%endif

%files
%license LICENSE.md
%doc README.md
%{_bindir}/*

%gopkgfiles

%changelog
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> 2.32.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Aug 10 2022 Maxwell G <gotmax@e.email> 2.32.0-7
- Rebuild to fix FTBFS

* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> 2.32.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Jul 19 2022 Maxwell G <gotmax@e.email> 2.32.0-5
- Rebuild for
  CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang

* Sun Jun 19 2022 Robert-André Mauchin <zebob.m@gmail.com> 2.32.0-4
- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327,
  CVE-2022-27191, CVE-2022-29526, CVE-2022-30629

* Sat Jun 18 2022 Robert-André Mauchin <zebob.m@gmail.com> 2.32.0-3
- Disable package_note on arm too

* Sat Jun 18 2022 Robert-André Mauchin <zebob.m@gmail.com> 2.32.0-2
- Add workaround for package_note error

* Sat Jun 18 2022 Robert-André Mauchin <zebob.m@gmail.com> 2.32.0-1
- Update to 2.32.0 Close: rhbz#1918319

* Fri Jun 17 2022 Robert-André Mauchin <zebob.m@gmail.com> - 2.28-10
- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191,
  CVE-2022-29526, CVE-2022-30629

* Sat Apr 16 2022 Fabio Alessandro Locati <me@fale.io> - 2.28-9
- Rebuilt for CVE-2022-27191

* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.28-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Tue Sep 01 10:40:35 CEST 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2.28-5
- Fix package built differently on different architectures by excluding
github.com/chifflier/nfqueue-go/nfqueue from automatic Requires and readd it
on all arches through godevelheader.

* Mon Aug 31 2020 Germano Massullo <germano.massullo@gmail.com> - 2.28-4
- Tried to replace ExcludeArch: s390 with ExcludeArch: s390x

* Tue Aug 18 2020 Fabian Affolter <mail@fabian-affolter.ch> - 2.28-3
- Add feedback from build system

* Sun Aug 16 2020 Germano Massullo <germano.massullo@gmail.com> - 2.28-2
- Fix review issues

* Fri Jul 10 2020 Fabian Affolter <mail@fabian-affolter.ch> - 2.28-1
- Update to latest upstream release 2.28

* Sat May 02 2020 Fabian Affolter <mail@fabian-affolter.ch> - 2.27.1-1
- Update to latest upstream release 2.27.1 (rhbz#1820915)

* Thu Mar 26 2020 Fabian Affolter <mail@fabian-affolter.ch> - 2.26.1-1
- Initial package for Fedora