Blob Blame History Raw
%if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} >= 7)
%global		with_python3	1
%define		default_python3	0
%endif

%global		upstream_name	py-idstools
%global		pname		idstools

Name:		python-%{pname}
Version:	0.6.3
Release:	1%{?dist}
Summary:	Snort and Suricata Rule and Event Utilities
License:	BSD
URL:		https://github.com/jasonish/py-idstools
Source0:	https://github.com/jasonish/py-idstools/archive/%{version}.tar.gz#/%{upstream_name}-%{version}.tar.gz
BuildArch:	noarch

%global desc_base \
	py-idstools is a collection of Python libraries for working with IDS systems\
	(typically Snort and Suricata).


%description
%{desc_base}


%package -n python2-%{pname}
Summary:	%{summary} For Python2
%{?python_provide:%python_provide python2-%{pname}}

BuildRequires:	python2-devel
BuildRequires:	python-nose
Requires:	python-dateutil


%description -n python2-%{pname}
%{desc_base} For Python2.


%if 0%{?with_python3}

%package -n python%{python3_pkgversion}-%{pname}
Summary:	%{summary} for Python3
%{?python_provide:%python_provide python%{python3_pkgversion}-%{pname}}

BuildRequires:	python%{python3_pkgversion}-devel
BuildRequires:	python%{python3_pkgversion}-nose
Requires:	python%{python3_pkgversion}-dateutil

%description -n python%{python3_pkgversion}-%{pname}
%{desc_base} For Python3.

%endif # with_python3

%prep
%autosetup -n %{upstream_name}-%{version}
# remove bundled libraries
%{__rm} -rf idstools/compat
%{__sed} -i '/compat/d' setup.py


%build
%{py2_build}


%if 0%{?with_python3}
%{py3_build}
%endif # with_python3


%install
%{py2_install}
pushd %{buildroot}%{_bindir}
pwd
for file in `find . -type f`; do
mv -v $file $file-%{python2_version}
ln -sv $file-%{python2_version} $file-2
done
popd


%if 0%{?with_python3}
%{py3_install}
pushd %{buildroot}%{_bindir}
pwd
for file2 in `find . -type f -name '*-%{python2_version}'`; do
file=`basename -s -%{python2_version} $file2`
mv -v $file $file-%{python3_version}
ln -sv $file-%{python3_version} $file-3
done
popd
%endif

pushd %{buildroot}%{_bindir}
for file2 in `find . -type f -name '*-%{python2_version}'`; do
file=`basename -s -%{python2_version} $file2`
%if 0%{?default_python3}
ln -sv $file-%{python3_version} $file
%else
ln -sv $file-%{python2_version} $file
%endif
done
popd


%check
%{__python2} setup.py nosetests

%if 0%{?with_python3}
%{__python3} setup.py nosetests
%endif


%files -n python2-%{pname}
%{_bindir}/%{pname}-dumpdynamicrules-2
%{_bindir}/%{pname}-dumpdynamicrules-%{python2_version}
%{_bindir}/%{pname}-eve2pcap-2
%{_bindir}/%{pname}-eve2pcap-%{python2_version}
%{_bindir}/%{pname}-gensidmsgmap-2
%{_bindir}/%{pname}-gensidmsgmap-%{python2_version}
%{_bindir}/%{pname}-rulecat-2
%{_bindir}/%{pname}-rulecat-%{python2_version}
%{_bindir}/%{pname}-rulemod-2
%{_bindir}/%{pname}-rulemod-%{python2_version}
%{_bindir}/%{pname}-u2eve-2
%{_bindir}/%{pname}-u2eve-%{python2_version}
%{_bindir}/%{pname}-u2fast-2
%{_bindir}/%{pname}-u2fast-%{python2_version}
%{_bindir}/%{pname}-u2json-2
%{_bindir}/%{pname}-u2json-%{python2_version}
%{_bindir}/%{pname}-u2spewfoo-2
%{_bindir}/%{pname}-u2spewfoo-%{python2_version}
%if !0%{?default_python3}
%{_bindir}/%{pname}-dumpdynamicrules
%{_bindir}/%{pname}-eve2pcap
%{_bindir}/%{pname}-gensidmsgmap
%{_bindir}/%{pname}-rulecat
%{_bindir}/%{pname}-rulemod
%{_bindir}/%{pname}-u2eve
%{_bindir}/%{pname}-u2fast
%{_bindir}/%{pname}-u2json
%{_bindir}/%{pname}-u2spewfoo
%endif
%{python2_sitelib}/%{pname}-%{version}-py%{python2_version}.egg-info
%{python2_sitelib}/%{pname}
%doc README.rst
%license

%if 0%{?with_python3}

%files -n python%{python3_pkgversion}-%{pname}
%{_bindir}/%{pname}-dumpdynamicrules-3
%{_bindir}/%{pname}-dumpdynamicrules-%{python3_version}
%{_bindir}/%{pname}-eve2pcap-3
%{_bindir}/%{pname}-eve2pcap-%{python3_version}
%{_bindir}/%{pname}-gensidmsgmap-3
%{_bindir}/%{pname}-gensidmsgmap-%{python3_version}
%{_bindir}/%{pname}-rulecat-3
%{_bindir}/%{pname}-rulecat-%{python3_version}
%{_bindir}/%{pname}-rulemod-3
%{_bindir}/%{pname}-rulemod-%{python3_version}
%{_bindir}/%{pname}-u2eve-3
%{_bindir}/%{pname}-u2eve-%{python3_version}
%{_bindir}/%{pname}-u2fast-3
%{_bindir}/%{pname}-u2fast-%{python3_version}
%{_bindir}/%{pname}-u2json-3
%{_bindir}/%{pname}-u2json-%{python3_version}
%{_bindir}/%{pname}-u2spewfoo-3
%{_bindir}/%{pname}-u2spewfoo-%{python3_version}
%if 0%{?default_python3}
%{_bindir}/%{pname}-dumpdynamicrules
%{_bindir}/%{pname}-eve2pcap
%{_bindir}/%{pname}-gensidmsgmap
%{_bindir}/%{pname}-rulecat
%{_bindir}/%{pname}-rulemod
%{_bindir}/%{pname}-u2eve
%{_bindir}/%{pname}-u2fast
%{_bindir}/%{pname}-u2json
%{_bindir}/%{pname}-u2spewfoo
%endif
%{python3_sitelib}/%{pname}-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/%{pname}
%doc README.rst
%license

%endif


%changelog
* Wed Nov 22 2017 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.6.3-1
- upstream update
- added dumpdynamicrules and u2spewfoo under bindir

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri May 26 2017 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.6.1-2
- default to python2 scripts

* Thu May 25 2017 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.6.1-1
- upstream update

* Sat Apr 01 2017 Fedora Release Monitoring  <release-monitoring@fedoraproject.org> - 0.6.0-1
- Update to 0.6.0 (#1430163)

* Wed Mar 08 2017 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.5.6-5
- upstream update
- install python2 and python3 scripts, see bug #1430020

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Dec 22 2016 Miro HronĨok <mhroncok@redhat.com> - 0.5.4-3
- Rebuild for Python 3.6

* Fri Dec 09 2016 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.5.4-2
- use %%{python3_pkgversion}, see bug #1336097

* Thu Nov 24 2016 Marcin Dulak <Marcin.Dulak@gmail.com> - 0.5.4-1
- initial package