%global gituser secdev
%global gitname scapy
%global commit e42ecdc54556c4852ca06b1a6da6c1ccbf3f522e
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global rcversion rc5
Name: scapy
Version: 2.4.0
Release: 0.%{rcversion}.1%{?dist}
Summary: Interactive packet manipulation tool and network scanner
Group: Applications/Internet
License: GPLv2
URL: http://www.secdev.org/projects/scapy/
# https://github.com/secdev/scapy/releases
# https://bitbucket.org/secdev/scapy/pull-request/80
Source0: https://github.com/%{gituser}/%{gitname}/archive/v%{version}%{rcversion}.tar.gz#/%{name}-%{version}%{rcversion}.tar.gz
Patch0: scapy-2.2.0-xdg-open.patch
BuildArch: noarch
BuildRequires: python2 >= 2.5
BuildRequires: python2-devel >= 2.5
BuildRequires: sed
Requires: python2 >= 2.5
%description
Scapy is a powerful interactive packet manipulation program built on top
of the Python interpreter. It can be used to forge or decode packets of
a wide number of protocols, send them over the wire, capture them, match
requests and replies, and much more.
%package -n python2-%{name}
Summary: Interactive packet manipulation tool and network scanner
%{?python_provide:%python_provide python2-%{name}}
%description -n python2-%{name}
Scapy is a powerful interactive packet manipulation program built on top
of the Python interpreter. It can be used to forge or decode packets of
a wide number of protocols, send them over the wire, capture them, match
requests and replies, and much more.
%package -n python%{python3_pkgversion}-%{name}
Summary: Interactive packet manipulation tool and network scanner
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
Provides: %{name}
%description -n python%{python3_pkgversion}-%{name}
Scapy is a powerful interactive packet manipulation program built on top
of the Python interpreter. It can be used to forge or decode packets of
a wide number of protocols, send them over the wire, capture them, match
requests and replies, and much more.
%prep
%setup -q -n %{name}-%{version}%{rcversion}
%patch0 -p1
%build
%py2_build
%py3_build
%install
install -Dp -m0644 doc/scapy.1.gz %{buildroot}%{_mandir}/man1/scapy.1.gz
%py2_install
rm -f %{buildroot}%{python2_sitelib}/*egg-info/requires.txt
# Remove shebang
for Files in %{buildroot}%{python2_sitelib}/scapy/contrib/*.py %{buildroot}%{python2_sitelib}/scapy/pipetool.py %{buildroot}%{python2_sitelib}/scapy/layers/inet6.py %{buildroot}%{python2_sitelib}/scapy/tools/check_asdis.py; do
sed -i.orig -e 1d ${Files}
touch -r ${Files}.orig ${Files}
rm ${Files}.orig
done
#Rename the executables
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy2
mv -f %{buildroot}%{_bindir}/UTscapy %{buildroot}%{_bindir}/UTscapy2
%py3_install
rm -f %{buildroot}%{python3_sitelib}/*egg-info/requires.txt
# Remove shebang
for Files in %{buildroot}%{python3_sitelib}/scapy/contrib/*.py %{buildroot}%{python3_sitelib}/scapy/pipetool.py %{buildroot}%{python3_sitelib}/scapy/layers/inet6.py %{buildroot}%{python3_sitelib}/scapy/tools/check_asdis.py; do
sed -i.orig -e 1d ${Files}
touch -r ${Files}.orig ${Files}
rm ${Files}.orig
done
#Rename the executables
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy3
mv -f %{buildroot}%{_bindir}/UTscapy %{buildroot}%{_bindir}/UTscapy3
ln -s %{_bindir}/scapy3 %{buildroot}%{_bindir}/scapy
ln -s %{_bindir}/UTscapy3 %{buildroot}%{_bindir}/UTscapy
%check
#TODO: Need to fix/remove slow/failed test
cd test/
./run_tests_py2 || true
./run_tests_py3 || true
%files -n python2-%{name}
%doc %{_mandir}/man1/scapy.1*
%{_bindir}/scapy2
%{_bindir}/UTscapy2
%{python2_sitelib}/scapy/*
%{python2_sitelib}/scapy-*.egg-info
%files -n python%{python3_pkgversion}-%{name}
%doc %{_mandir}/man1/scapy.1*
%{_bindir}/scapy
%{_bindir}/UTscapy
%{_bindir}/scapy3
%{_bindir}/UTscapy3
%{python3_sitelib}/scapy/*
%{python3_sitelib}/scapy-*.egg-info
%changelog
* Fri Mar 9 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-0.rc5.1
- bump to upstream 2.4.0 release candidate 5
- enable separate python3 and python2 build
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.3.3-3
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue May 23 2017 Michal Ambroz <rebus _AT seznam.cz> - 2.3.3-1
- bump to upstream 2.3.3
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sat Dec 26 2015 Sven Lankes <athmane@fedoraproject.org> - 2.3.1-1
- update to latest upstream release (2.3.1)
- Update to 2.3.1
- Remove upstreamed patch
- Some spec fixes
- Thanks to Athmane Madjoudj for the patch
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Oct 02 2014 Lubomir Rintel <lkundrak@v3.sk> - 2.2.0-5
- Fix psdump()/pdfdump()
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sun Jul 22 2012 Sven Lankes <sven@lank.es> - 2.2.0-1
- Update to Scapy 2.2.0
- Fixes rhbz #788659 - thanks to ThiƩbaud Weksteen
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 2.0.0.10-4
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Dec 22 2008 Devan Goodwin <dgoodwin@dangerouslyinc.com> 2.0.0.10-1
- Update to Scapy 2.0.0.10.
* Sun Dec 07 2008 Devan Goodwin <dgoodwin@dangerouslyinc.com> 2.0.0.9-2
- Update for Scapy 2.0.0.9.
* Tue Jan 22 2008 Devan Goodwin <dgoodwin@dangerouslyinc.com> 1.1.1-4
- Switch to using rm macro.
* Mon Jan 21 2008 Devan Goodwin <dgoodwin@dangerouslyinc.com> 1.1.1-2
- Spec file cleanup.
* Fri Jan 18 2008 Devan Goodwin <dgoodwin@dangerouslyinc.com> 1.1.1-1
- Initial packaging for Fedora.