scapy/scapy.spec

463 lines
14 KiB
RPMSpec

## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autochangelog
## END: Set by rpmautospec
Name: scapy
Version: 2.6.1
Release: 1%{?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: GPL-2.0-only
URL: https://scapy.net/
#was http://www.secdev.org/projects/scapy/
VCS: https://github.com/secdev/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
%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
# By default 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 %{with python2}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
%if %{with doc}
BuildRequires: python2-tox
%endif
%endif
%if %{with python3}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
%if %{with doc}
BuildRequires: python%{python3_pkgversion}-tox
%endif
%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 %{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 %{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 %{with doc}
%package doc
Summary: Interactive packet manipulation tool and network scanner
License: CC-BY-NC-SA-2.5
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 %{with python2}
%py2_build
%endif
%if %{with python3}
%py3_build
%endif
%if %{with doc}
make -C doc/scapy html BUILDDIR=_build_doc SPHINXBUILD=sphinx-build-%python3_version
rm -f doc/scapy/_build_doc/html/.buildinfo
rm -f doc/scapy/_build_doc/html/_static/_dummy
%endif
%install
install -dp -m0755 %{buildroot}%{_mandir}/man1
install -Dp -m0644 doc/scapy.1* %{buildroot}%{_mandir}/man1/
%if %{with python2}
%py2_install
rm -f %{buildroot}%{python2_sitelib}/*egg-info/requires.txt
# Rename the executables
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy2
%if ! %{with python3}
# Link the default to the py2 version of executables if py3 not built
ln -s %{_bindir}/scapy2 %{buildroot}%{_bindir}/scapy
%endif
%endif
%if %{with python3}
%py3_install
rm -f %{buildroot}%{python3_sitelib}/*egg-info/requires.txt
# Rename the executables
mv -f %{buildroot}%{_bindir}/scapy %{buildroot}%{_bindir}/scapy3
# Link the default to the python3 version of executables
ln -s %{_bindir}/scapy3 %{buildroot}%{_bindir}/scapy
%endif
# check
# TODO: Need to fix/remove slow/failed test
# cd test/
# ./run_tests_py2 || true
# ./run_tests_py3 || true
%if %{with python2}
%files -n python2-%{name}
%license LICENSE
%if ! %{with python3}
%doc %{_mandir}/man1/scapy.1*
%{_bindir}/scapy
%endif
%{_bindir}/scapy2
%{python2_sitelib}/scapy/
%{python2_sitelib}/scapy-*.egg-info
%exclude %{python2_sitelib}/test/
%endif
%if %{with python3}
%files -n python%{python3_pkgversion}-%{name}
%license LICENSE
%doc %{_mandir}/man1/scapy.1*
%{_bindir}/scapy
%{_bindir}/scapy3
%{python3_sitelib}/scapy/
%{python3_sitelib}/scapy-*.egg-info
%exclude %{python3_sitelib}/test/
%endif
%if %{with doc}
%files doc
%doc doc/scapy/_build_doc/html
%endif
%changelog
## START: Generated by rpmautospec
* Tue Jan 14 2025 Andrea Claudi <aclaudi@redhat.com> - 2.6.1-1
- scapy-2.6.1-1.el10
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.5.0-11
- Bump release for October 2024 mass rebuild:
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.5.0-10
- Bump release for June 2024 mass rebuild
* Thu Jun 06 2024 Li Shuang <shuali@redhat.com> - 2.5.0-9
- Enable gating test on RHEL10
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Nov 07 2023 Michal Ambroz <rebus@seznam.cz> - 2.5.0-7
- cosmetics
* Wed Oct 11 2023 Andrea Claudi <aclaudi@redhat.com> - 2.5.0-6
- Use SDPX license IDs
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 2.5.0-4
- Rebuilt for Python 3.12
* Wed May 17 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2.5.0-3
- Disable docs by default in RHEL builds
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 02 2023 jonathanspw <jonathan@almalinux.org> - 2.5.0-1
- update to 2.5.0 rhbz#2156396
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.4.5-6
- Rebuilt for Python 3.11
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.4.5-3
- Rebuilt for Python 3.10
* Tue Apr 20 2021 Michal Ambroz <rebus@seznam.cz> - 2.4.5-2
- bump to 2.4.5
* Tue Apr 20 2021 Michal Ambroz <rebus@seznam.cz> - 2.4.5-1
- bump to 2.4.5
* Fri Mar 12 2021 Michal Ambroz <rebus@seznam.cz> - 2.4.4-2
- adding sources for 2.4.4
* Fri Mar 12 2021 Michal Ambroz <rebus@seznam.cz> - 2.4.4-1
- bump to 2.4.4
* Thu Mar 11 2021 W. Michael Petullo <mike@flyn.org> - 2.4.3-14
- 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-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 11 2021 Tom Stellard <tstellar@redhat.com> - 2.4.3-12
- Add BuildRequires: make
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <miro@hroncok.cz> - 2.4.3-10
- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Nov 09 2019 rpmbuild <rpmbuild> - 2.4.3-8
- fix doc generation
* Fri Nov 08 2019 rpmbuild <rpmbuild> - 2.4.3-7
- remove colliding manpage from python2 package - add license files - add
doc subpackage - remove shebangs
* Sun Oct 06 2019 rpmbuild <rpmbuild> - 2.4.3-6
- switch to recommended python build dependencies
* Mon Sep 30 2019 rpmbuild <rpmbuild> - 2.4.3-5
- forgot another "Recommends" in the subpackages
* Mon Sep 30 2019 rpmbuild <rpmbuild> - 2.4.3-4
- "Recommends" not available in RHEL7
* Thu Sep 26 2019 rpmbuild <rpmbuild> - 2.4.3-3
- fix wrong branch for python2 package
* Thu Sep 26 2019 rpmbuild <rpmbuild> - 2.4.3-2
- bump to 2.4.3
* Thu Sep 26 2019 rpmbuild <rpmbuild> - 2.4.3-1
- bump to 2.4.3, one spec for all branches
* Fri Sep 20 2019 Miro Hrončok <miro@hroncok.cz> - 2.4.0-11
- Subpackage python2-scapy has been removed
* Mon Aug 19 2019 Miro Hrončok <miro@hroncok.cz> - 2.4.0-10
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 28 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.4.0-7
- Remove obsolete Group tag
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <miro@hroncok.cz> - 2.4.0-5
- Rebuilt for Python 3.7
* Mon Apr 30 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-4
- disable the tests for now due to big number of failing (network) tests
* Mon Apr 30 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-3
- Bump to 2.4.0 release
* Sun Mar 11 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-2
- fix python3 build requirements
* Sun Mar 11 2018 Michal Ambroz <rebus _AT seznam.cz> - 2.4.0-1
- bump to 2.4.0 release candidate 5, enable separate python2 and python3
builds
* 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 <shcherbina.iryna@gmail.com> - 2.3.3-3
- Update Python 2 dependency declarations to new packaging standards
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Jun 17 2017 Michal Ambroz <rebus _AT seznam.cz> - 2.3.3-1
- bump to 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 <releng@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 <sven@lank.es> - 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 Dennis Gilmore <dennis@ausil.us> - 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 Dennis Gilmore <dennis@ausil.us> - 2.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Dennis Gilmore <dennis@ausil.us> - 2.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Dennis Gilmore <dennis@ausil.us> - 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 Dennis Gilmore <dennis@ausil.us> - 2.0.0.10-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jan 14 2012 Dennis Gilmore <dennis@ausil.us> - 2.0.0.10-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Feb 09 2011 Dennis Gilmore <dennis@ausil.us> - 2.0.0.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Jul 29 2010 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0.10-6
- dist-git conversion
* Thu Jul 22 2010 dmalcolm <dmalcolm@fedoraproject.org> - 2.0.0.10-5
- Rebuilt for
https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Wed Nov 25 2009 Bill Nottingham <notting@fedoraproject.org> - 2.0.0.10-4
- Fix typo that causes a failure to update the common directory. (releng
#2781)
* Mon Jul 27 2009 Jesse Keating <jkeating@fedoraproject.org> - 2.0.0.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Jesse Keating <jkeating@fedoraproject.org> - 2.0.0.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Dec 22 2008 Devan Goodwin <dgoodwin@fedoraproject.org> - 2.0.0.10-1
- Update scapy to 2.0.0.10 in devel.
* Mon Dec 22 2008 Devan Goodwin <dgoodwin@fedoraproject.org> - 2.0.0.9-2
- Update scapy to 2.0.0.9 in F-9 and rawhide.
* Sun Dec 21 2008 Devan Goodwin <dgoodwin@fedoraproject.org> - 2.0.0.9-1
- Update scapy to 2.0.0.9 in devel.
* Wed Jan 23 2008 Devan Goodwin <dgoodwin@fedoraproject.org> - 1.1.1-1
- Importing scapy SRPM.
## END: Generated by rpmautospec