94b0b5cc4b
* Fri Jul 23 2021 Andrea Claudi <aclaudi@redhat.com> - [2.4.4-4.el9] - Don't build scapy-doc package on rhel (Andrea Claudi) [1973720] - Enable gating test on RHEL9 (Jianwen Ji) [1974642] Resolves: rhbz#1973720, rhbz#1974642 Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
387 lines
12 KiB
RPMSpec
387 lines
12 KiB
RPMSpec
Name: scapy
|
|
Version: 2.4.4
|
|
Release: 4%{?dist}
|
|
Summary: Interactive packet manipulation tool and network scanner
|
|
|
|
%global gituser secdev
|
|
%global gitname scapy
|
|
%global commit 95ba5b8504152a1f820bbe679ccf03668cb5118f
|
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
|
|
|
License: GPLv2
|
|
URL: http://www.secdev.org/projects/scapy/
|
|
# https://github.com/secdev/scapy/releases
|
|
# https://bitbucket.org/secdev/scapy/pull-request/80
|
|
# https://scapy.readthedocs.io/en/latest/introduction.html
|
|
Source0: https://github.com/%{gituser}/%{gitname}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
|
Patch1: scapy-2.4.3-libc.patch
|
|
|
|
%global common_desc %{expand:
|
|
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.}
|
|
|
|
|
|
# By default build with python3 subpackage
|
|
%bcond_without python3
|
|
|
|
# Build also the python2 package on releases up to fc31 and rhel8
|
|
%if (0%{?fedora} && 0%{?fedora} <= 31 ) || ( 0%{?rhel} && 0%{?rhel} <= 8 )
|
|
%bcond_without python2
|
|
%else
|
|
%bcond_with python2
|
|
%endif
|
|
|
|
# Build the documentation only on Fedora due to cc-by-nc-sa license
|
|
%if 0%{?fedora}
|
|
%bcond_without doc
|
|
%else
|
|
%bcond_with doc
|
|
%endif
|
|
|
|
|
|
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: make
|
|
BuildRequires: sed
|
|
|
|
%if 0%{?with_python2}
|
|
BuildRequires: python2-devel
|
|
BuildRequires: python2-setuptools
|
|
%endif
|
|
|
|
%if 0%{?with_python3}
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
%endif
|
|
|
|
# Recommends only supported on fedora and rhel8+
|
|
%if (0%{?fedora}) || ( 0%{?rhel} && 0%{?rhel} >= 8 )
|
|
Recommends: tcpdump
|
|
# Using database of manufactures /usr/share/wireshark/manuf
|
|
Recommends: wireshark-cli
|
|
%endif
|
|
|
|
%description %{common_desc}
|
|
|
|
%if 0%{?with_python2}
|
|
%package -n python2-%{name}
|
|
Summary: Interactive packet manipulation tool and network scanner
|
|
|
|
%{?python_provide:%python_provide python2-%{name}}
|
|
|
|
%if (0%{?fedora}) || ( 0%{?rhel} && 0%{?rhel} >= 8 )
|
|
Recommends: python2-pyx
|
|
Recommends: python2-matplotlib
|
|
Recommends: ipython2
|
|
%endif
|
|
|
|
%description -n python2-%{name}
|
|
%{common_desc}
|
|
|
|
%endif
|
|
|
|
|
|
%if 0%{?with_python3}
|
|
%package -n python%{python3_pkgversion}-%{name}
|
|
Summary: Interactive packet manipulation tool and network scanner
|
|
|
|
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
|
Provides: %{name} = %{version}-%{release}
|
|
|
|
%if (0%{?fedora}) || ( 0%{?rhel} && 0%{?rhel} >= 8 )
|
|
Recommends: PyX
|
|
Recommends: python%{python3_pkgversion}-matplotlib
|
|
Recommends: ipython3
|
|
%endif
|
|
|
|
%description -n python%{python3_pkgversion}-%{name}
|
|
%{common_desc}
|
|
%endif
|
|
|
|
%if 0%{?with_doc}
|
|
%package doc
|
|
Summary: Interactive packet manipulation tool and network scanner
|
|
|
|
BuildRequires: python%{python3_pkgversion}-sphinx
|
|
BuildRequires: python%{python3_pkgversion}-sphinx_rtd_theme
|
|
|
|
%description doc
|
|
%{common_desc}
|
|
%endif
|
|
|
|
|
|
|
|
%prep
|
|
%autosetup -p 1 -n %{name}-%{version}
|
|
|
|
# Remove shebang
|
|
# https://github.com/secdev/scapy/pull/2332
|
|
SHEBANGS=$(find ./scapy -name '*.py' -print | xargs grep -l -e '^#!.*env python')
|
|
for FILE in $SHEBANGS ; do
|
|
sed -i.orig -e 1d "${FILE}"
|
|
touch -r "${FILE}.orig" "${FILE}"
|
|
rm "${FILE}.orig"
|
|
done
|
|
|
|
|
|
|
|
%build
|
|
%if 0%{?with_python2}
|
|
%py2_build
|
|
%endif
|
|
|
|
%if 0%{?with_python3}
|
|
%py3_build
|
|
%endif
|
|
|
|
%if 0%{?with_doc}
|
|
# the following commands are copied from tox.ini to avoid a dependency on tox
|
|
pushd doc/scapy
|
|
sphinx-apidoc-%python3_version -f --no-toc --separate --module-first --output-dir api ../../scapy ../../scapy/modules/ ../../scapy/libs/ ../../scapy/tools/ ../../scapy/arch/ ../../scapy/contrib/cansocket* ../../scapy/contrib/scada/* ../../scapy/all.py ../../scapy/layers/all.py
|
|
%{python3} sphinx_apidoc_postprocess.py
|
|
make html BUILDDIR=_build_doc SCAPY_APITREE=0 SPHINXBUILD=sphinx-build-%python3_version
|
|
|
|
rm -f _build_doc/html/.buildinfo
|
|
rm -f _build_doc/html/_static/_dummy
|
|
popd
|
|
%endif
|
|
|
|
|
|
|
|
%install
|
|
install -dp -m0755 %{buildroot}%{_mandir}/man1
|
|
install -Dp -m0644 doc/scapy.1* %{buildroot}%{_mandir}/man1/
|
|
|
|
%if 0%{?with_python2}
|
|
%py2_install
|
|
rm -f %{buildroot}%{python2_sitelib}/*egg-info/requires.txt
|
|
|
|
|
|
# Rename the executables
|
|
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy2
|
|
mv -f %{buildroot}%{_bindir}/UTscapy %{buildroot}%{_bindir}/UTscapy2
|
|
|
|
%if ! 0%{?with_python3}
|
|
# Link the default to the py2 version of executables if py3 not built
|
|
ln -s %{_bindir}/scapy2 %{buildroot}%{_bindir}/scapy
|
|
ln -s %{_bindir}/UTscapy2 %{buildroot}%{_bindir}/UTscapy
|
|
%endif
|
|
%endif
|
|
|
|
%if 0%{?with_python3}
|
|
%py3_install
|
|
rm -f %{buildroot}%{python3_sitelib}/*egg-info/requires.txt
|
|
|
|
# Rename the executables
|
|
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy3
|
|
mv -f %{buildroot}%{_bindir}/UTscapy %{buildroot}%{_bindir}/UTscapy3
|
|
|
|
# Link the default to the python3 version of executables
|
|
ln -s %{_bindir}/scapy3 %{buildroot}%{_bindir}/scapy
|
|
ln -s %{_bindir}/UTscapy3 %{buildroot}%{_bindir}/UTscapy
|
|
%endif
|
|
|
|
|
|
|
|
# check
|
|
# TODO: Need to fix/remove slow/failed test
|
|
# cd test/
|
|
# ./run_tests_py2 || true
|
|
# ./run_tests_py3 || true
|
|
|
|
|
|
|
|
%if 0%{?with_python2}
|
|
%files -n python2-%{name}
|
|
%license LICENSE
|
|
%if ! 0%{?with_python3}
|
|
%doc %{_mandir}/man1/scapy.1*
|
|
%{_bindir}/scapy
|
|
%{_bindir}/UTscapy
|
|
%endif
|
|
%{_bindir}/scapy2
|
|
%{_bindir}/UTscapy2
|
|
%{python2_sitelib}/scapy/
|
|
%{python2_sitelib}/scapy-*.egg-info
|
|
%endif
|
|
|
|
|
|
|
|
%if 0%{?with_python3}
|
|
%files -n python%{python3_pkgversion}-%{name}
|
|
%license LICENSE
|
|
%doc %{_mandir}/man1/scapy.1*
|
|
%{_bindir}/scapy
|
|
%{_bindir}/UTscapy
|
|
%{_bindir}/scapy3
|
|
%{_bindir}/UTscapy3
|
|
%{python3_sitelib}/scapy/
|
|
%{python3_sitelib}/scapy-*.egg-info
|
|
%endif
|
|
|
|
|
|
%if 0%{?with_doc}
|
|
%files doc
|
|
%doc doc/scapy/_build_doc/html
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
* Fri Jul 23 2021 Andrea Claudi <aclaudi@redhat.com> - [2.4.4-4.el9]
|
|
- Don't build scapy-doc package on rhel (Andrea Claudi) [1973720]
|
|
- Enable gating test on RHEL9 (Jianwen Ji) [1974642]
|
|
|
|
* Mon May 31 2021 Miro Hrončok <mhroncok@redhat.com> - 2.4.4-3
|
|
- Drop build dependency on tox
|
|
- Resolves: rhbz#1956399
|
|
|
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2.4.4-2
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
* Fri Mar 12 2021 Michal Ambroz <rebus _AT seznam.cz> - 2.4.4-1
|
|
- bump to 2.4.4 release
|
|
|
|
* Thu Mar 11 2021 W. Michael Petullo <mike@flyn.org> - 2.4.3-8
|
|
- Patch to fix loading libc.a; see https://bugs.python.org/issue42580
|
|
|
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.4.3-5
|
|
- Rebuilt for Python 3.9
|
|
|
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
* Fri Nov 08 2019 Michal Ambroz <rebus _AT seznam.cz> - 2.4.3-3
|
|
- remove colliding manpage from python2 package
|
|
- add license files
|
|
- add doc subpackage
|
|
- remove shebangs
|
|
|
|
* Sun Oct 06 2019 Michal Ambroz <rebus _AT seznam.cz> - 2.4.3-2
|
|
- change to recommended python build dependencies for EPEL7 - thanks Miro Hroncok
|
|
|
|
* Thu Sep 26 2019 Michal Ambroz <rebus _AT seznam.cz> - 2.4.3-1
|
|
- bump to 2.4.3 release
|
|
- change the python2 to conditional build to be able to keep one spec for all
|
|
- add Recommends for dependencies, except for EPEL7
|
|
|
|
* Fri Sep 20 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-8
|
|
- Subpackage python2-scapy has been removed
|
|
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
|
|
|
|
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-7
|
|
- Rebuilt for Python 3.8
|
|
|
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-6
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-3
|
|
- Rebuilt for Python 3.7
|
|
|
|
* Mon Apr 30 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-2
|
|
- disable the test for now - there is too many failing (network) tests
|
|
|
|
* Mon Apr 30 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-1
|
|
- bump to 2.4.0 release
|
|
|
|
* 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.
|
|
|