setools/setools.spec
Petr Lautrbach 12efca860a setools.spec files cleanup
- drop %{with python3}
- build python3 sources in setools-x.y.z and python2 in
setools-x.y.z-python2
- clean %{buildroot}%{_bindir} before installing python3 sources
2017-02-23 10:51:31 +01:00

156 lines
4.5 KiB
RPMSpec

# sitelib for noarch packages, sitearch for others (remove the unneeded one)
%{!?__python2: %global __python2 %__python}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
# % global setools_pre_ver beta.1.8e09d95
# % global gitver f1e5b20
%global sepol_ver 2.6-0
%global selinux_ver 2.6-0
Name: setools
Version: 4.1.0
Release: 1%{?setools_pre_ver:.%{setools_pre_ver}}%{?dist}
Summary: Policy analysis tools for SELinux
License: GPLv2
URL: https://github.com/TresysTechnology/setools/wiki
Source0: https://github.com/TresysTechnology/setools/archive/%{version}%{?setools_pre_ver:-%{setools_pre_ver}}.tar.gz
Source1: setools.pam
Source2: apol.desktop
Obsoletes: setools < 4.0.0, setools-devel < 4.0.0
BuildRequires: flex, bison
BuildRequires: glibc-devel gcc
BuildRequires: libsepol-devel, libsepol-static
BuildRequires: qt5-qtbase-devel
BuildRequires: swig
BuildRequires: python-devel
# BuildArch:
BuildRequires: python-devel
Requires: %{name}-python3 = %{version}-%{release}
BuildRequires: python3-devel
%description
SETools is a collection of graphical tools, command-line tools, and
Python modules designed to facilitate SELinux policy analysis.
%package console
Summary: Policy analysis command-line tools for SELinux
Group: System Environment/Base
License: GPLv2
Requires: setools-python3 = %{version}-%{release}
Requires: libselinux >= %{selinux_ver}
%description console
SETools is a collection of graphical tools, command-line tools, and
libraries designed to facilitate SELinux policy analysis.
This package includes the following console tools:
sediff Compare two policies to find differences.
sedta Perform domain transition analyses.
seinfo List policy components.
seinfoflow Perform information flow analyses.
sesearch Search rules (allow, type_transition, etc.)
%package python
Summary: Policy analysis tools for SELinux
Requires: python-networkx
%description python
SETools is a collection of graphical tools, command-line tools, and
Python 2 modules designed to facilitate SELinux policy analysis.
%package python3
Summary: Policy analysis tools for SELinux
Obsoletes: setools-libs < 4.0.0, setools-libs-tcl
Requires: python3-networkx
%description python3
SETools is a collection of graphical tools, command-line tools, and
Python 3 modules designed to facilitate SELinux policy analysis.
%package gui
Summary: Policy analysis graphical tools for SELinux
Requires: python3-qt5
%description gui
SETools is a collection of graphical tools, command-line tools, and
Python modules designed to facilitate SELinux policy analysis.
%prep
%setup
sed -i "s%'-Werror', '-Wextra'%'-Wextra'%" setup.py
cp -a ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}} ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2
%build
# Remove CFLAGS=... for noarch packages (unneeded)
CFLAGS="%{optflags}" %{__python3} setup.py build
pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2
# Remove CFLAGS=... for noarch packages (unneeded)
CFLAGS="%{optflags}" %{__python2} setup.py build
popd
%install
rm -rf %{buildroot}
pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2
%{__python2} setup.py install --root %{buildroot}
popd
rm -rf %{buildroot}%{_bindir}
%{__python3} setup.py install --root %{buildroot}
%check
%if %{?_with_check:1}%{!?_with_check:0}
%{__python3} setup.py test
pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2
%{__python2} setup.py test
popd
%endif
%files
%defattr(-,root,root,-)
%files console
%{_bindir}/sediff
%{_bindir}/sedta
%{_bindir}/seinfo
%{_bindir}/seinfoflow
%{_bindir}/sesearch
%{_mandir}/man1/*
%files python
# %doc AUTHORS ChangeLog KNOWN-BUGS NEWS README
%license COPYING COPYING.GPL COPYING.LGPL
# For noarch packages: sitelib
# %{python2_sitelib}/*
# For arch-specific packages: sitearch
%{python2_sitearch}/*
%files python3
%license COPYING COPYING.GPL COPYING.LGPL
# %doc AUTHORS ChangeLog KNOWN-BUGS NEWS README
# For noarch packages: sitelib
# %{python3_sitelib}/*
# For arch-specific packages: sitearch
%{python3_sitearch}/*
%files gui
%{_bindir}/apol
%changelog
* Wed Feb 15 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.0-1
- New upstream release.