91f251
%global sepol_ver 3.4-1
91f251
%global selinux_ver 3.4-1
85d1e6
85d1e6
Name:           setools
97ab2e
Version:        4.4.1
97ab2e
Release:        1%{?dist}
85d1e6
Summary:        Policy analysis tools for SELinux
85d1e6
97ab2e
License:        GPL-2.0-only and LGPL-2.1-only
85d1e6
URL:            https://github.com/SELinuxProject/setools/wiki
85d1e6
Source0:        https://github.com/SELinuxProject/setools/archive/%{version}.tar.gz
85d1e6
Source1:        setools.pam
85d1e6
Source2:        apol.desktop
97ab2e
Patch0001:      0001-Make-NetworkX-optional.patch
85d1e6
Patch1003:      1003-Require-networkx-on-package-level.patch
85d1e6
Obsoletes:      setools < 4.0.0, setools-devel < 4.0.0
85d1e6
BuildRequires:  flex,  bison
85d1e6
BuildRequires:  glibc-devel, gcc, git-core
85d1e6
BuildRequires:  libsepol-devel >= %{sepol_ver}, libsepol-static >= %{sepol_ver}
85d1e6
BuildRequires:  qt5-qtbase-devel
85d1e6
BuildRequires:  swig
85d1e6
BuildRequires:  python3-Cython
85d1e6
BuildRequires:  python3-devel
85d1e6
BuildRequires:  python3-setuptools
85d1e6
BuildRequires:  libselinux-devel
85d1e6
85d1e6
Requires:       %{name}-console = %{version}-%{release}
85d1e6
Requires:       %{name}-console-analyses = %{version}-%{release}
85d1e6
Requires:       %{name}-gui = %{version}-%{release}
85d1e6
85d1e6
%description
85d1e6
SETools is a collection of graphical tools, command-line tools, and
85d1e6
Python modules designed to facilitate SELinux policy analysis.
85d1e6
85d1e6
%package     console
85d1e6
Summary:     Policy analysis command-line tools for SELinux
97ab2e
License:     GPL-2.0-only
85d1e6
Requires:    python3-setools = %{version}-%{release}
85d1e6
Requires:    libselinux >= %{selinux_ver}
85d1e6
85d1e6
%description console
85d1e6
SETools is a collection of graphical tools, command-line tools, and
85d1e6
libraries designed to facilitate SELinux policy analysis.
85d1e6
85d1e6
This package includes the following console tools:
85d1e6
85d1e6
  sediff       Compare two policies to find differences.
85d1e6
  seinfo       List policy components.
85d1e6
  sesearch     Search rules (allow, type_transition, etc.)
85d1e6
85d1e6
85d1e6
%package     console-analyses
85d1e6
Summary:     Policy analysis command-line tools for SELinux
97ab2e
License:     GPL-2.0-only
85d1e6
Requires:    python3-setools = %{version}-%{release}
85d1e6
Requires:    libselinux >= %{selinux_ver}
85d1e6
Requires:    python3-networkx
85d1e6
85d1e6
%description console-analyses
85d1e6
SETools is a collection of graphical tools, command-line tools, and
85d1e6
libraries designed to facilitate SELinux policy analysis.
85d1e6
85d1e6
This package includes the following console tools:
85d1e6
85d1e6
  sedta        Perform domain transition analyses.
85d1e6
  seinfoflow   Perform information flow analyses.
85d1e6
85d1e6
85d1e6
%package     -n python3-setools
97ab2e
Summary:     Policy analysis tools for SELinux
97ab2e
License:     LGPL-2.1-only
85d1e6
Obsoletes:   setools-libs < 4.0.0
85d1e6
%{?python_provide:%python_provide python3-setools}
85d1e6
Requires:    python3-setuptools
85d1e6
85d1e6
%description -n python3-setools
85d1e6
SETools is a collection of graphical tools, command-line tools, and
85d1e6
Python 3 modules designed to facilitate SELinux policy analysis.
85d1e6
85d1e6
85d1e6
%package     gui
85d1e6
Summary:     Policy analysis graphical tools for SELinux
97ab2e
License:     GPL-2.0-only
85d1e6
Requires:    python3-setools = %{version}-%{release}
85d1e6
Requires:    python3-qt5
85d1e6
Requires:    python3-networkx
85d1e6
85d1e6
%description gui
85d1e6
SETools is a collection of graphical tools, command-line tools, and
85d1e6
Python modules designed to facilitate SELinux policy analysis.
85d1e6
85d1e6
85d1e6
%prep
85d1e6
%autosetup -p 1 -S git -n setools-%{version}
85d1e6
85d1e6
85d1e6
%build
85d1e6
%py3_build
85d1e6
85d1e6
85d1e6
%install
85d1e6
%py3_install
85d1e6
85d1e6
%check
85d1e6
%if %{?_with_check:1}%{!?_with_check:0}
85d1e6
%{__python3} setup.py test
85d1e6
%endif
85d1e6
85d1e6
85d1e6
%files
85d1e6
85d1e6
%files console
97ab2e
%license COPYING.GPL
85d1e6
%{_bindir}/sechecker
85d1e6
%{_bindir}/sediff
85d1e6
%{_bindir}/seinfo
85d1e6
%{_bindir}/sesearch
85d1e6
%{_mandir}/man1/sechecker*
85d1e6
%{_mandir}/man1/sediff*
85d1e6
%{_mandir}/man1/seinfo*
85d1e6
%{_mandir}/man1/sesearch*
85d1e6
%{_mandir}/ru/man1/sediff*
85d1e6
%{_mandir}/ru/man1/seinfo*
85d1e6
%{_mandir}/ru/man1/sesearch*
85d1e6
85d1e6
%files console-analyses
97ab2e
%license COPYING.GPL
85d1e6
%{_bindir}/sedta
85d1e6
%{_bindir}/seinfoflow
85d1e6
%{_mandir}/man1/sedta*
85d1e6
%{_mandir}/man1/seinfoflow*
85d1e6
%{_mandir}/ru/man1/sedta*
85d1e6
%{_mandir}/ru/man1/seinfoflow*
85d1e6
85d1e6
%files -n python3-setools
97ab2e
%license COPYING COPYING.LGPL
85d1e6
%{python3_sitearch}/setools
85d1e6
%{python3_sitearch}/setools-*
85d1e6
85d1e6
%files gui
97ab2e
%license COPYING.GPL
85d1e6
%{_bindir}/apol
85d1e6
%{python3_sitearch}/setoolsgui
85d1e6
%{_mandir}/man1/apol*
85d1e6
%{_mandir}/ru/man1/apol*
85d1e6
85d1e6
%changelog
97ab2e
* Mon Feb  6 2023 Petr Lautrbach <lautrbach@redhat.com> - 4.4.1-1
97ab2e
- SETools 4.4.1 release
97ab2e
91f251
* Fri Jun 10 2022 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-5
91f251
- Update required userspace versions to 3.4
91f251
- Drop unnecessary Recommends
91f251
a4d343
* Fri Nov 19 2021 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-4
a4d343
- Make seinfo output predictable
a4d343
  https://github.com/SELinuxProject/setools/issues/65
a4d343
85d1e6
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.4.0-3
85d1e6
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
85d1e6
  Related: rhbz#1991688
85d1e6
85d1e6
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.4.0-2
85d1e6
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
85d1e6
85d1e6
* Mon Mar  8 2021 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-1
85d1e6
- SETools 4.4.0 release
85d1e6
85d1e6
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-0.3.20210121git16c0696
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
85d1e6
85d1e6
* Thu Jan 21 2021 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-0.2.20210121git16c0696
85d1e6
- Rebuild with SELinux userspace 3.2-rc1
85d1e6
- Update to 16c0696
85d1e6
85d1e6
* Thu Dec 10 2020 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-0.2.20201102git05e90ee
85d1e6
- Fix imports in /usr/bin/sedta
85d1e6
85d1e6
* Tue Nov  3 2020 Petr Lautrbach <plautrba@redhat.com> - 4.4.0-0.1.20201102git05e90ee
85d1e6
- Update to 05e90ee
85d1e6
- Add /usr/bin/sechecker
85d1e6
- Adapt to new libsepol filename transition structures
85d1e6
- Rebuild with libsepol.so.2
85d1e6
85d1e6
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.0-5
85d1e6
- Second attempt - Rebuilt for
85d1e6
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
85d1e6
85d1e6
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.3.0-4
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
85d1e6
85d1e6
* Thu Jul 16 2020 Petr Lautrbach <plautrba@redhat.com> - 4.3.0-3
85d1e6
- rebuild with SELinux userspace 3.1 release
85d1e6
85d1e6
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.3.0-2
85d1e6
- Rebuilt for Python 3.9
85d1e6
85d1e6
* Thu Apr  2 2020 Petr Lautrbach <plautrba@redhat.com> - 4.3.0-1
85d1e6
- SETools 4.3.0 release
85d1e6
- Revised sediff method for TE rules. This drastically reduced memory and run time.
85d1e6
- Added infiniband context support to seinfo, sediff, and apol.
85d1e6
- Added apol configuration for location of Qt assistant.
85d1e6
- Fixed sediff issue where properties header would display when not requested.
85d1e6
- Fixed sediff issue with type_transition file name comparison.
85d1e6
- Fixed permission map socket sendto information flow direction.
85d1e6
- Added methods to TypeAttribute class to make it a complete Python collection.
85d1e6
- Genfscon now will look up classes rather than using fixed values which
85d1e6
    were dropped from libsepol.
85d1e6
85d1e6
* Mon Mar 23 2020 Petr Lautrbach <plautrba@redhat.com> - 4.2.2-5
85d1e6
- setools requires -console, -console-analyses and -gui packages (#1794314)
85d1e6
85d1e6
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.2-4
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
85d1e6
85d1e6
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 4.2.2-3
85d1e6
- Rebuilt for Python 3.8.0rc1 (#1748018)
85d1e6
85d1e6
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 4.2.2-2
85d1e6
- Rebuilt for Python 3.8
85d1e6
85d1e6
* Mon Jul 08 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.2-1}
85d1e6
- SETools 4.2.2 release
85d1e6
85d1e6
* Mon May 13 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.1-3
85d1e6
- Use %set_build_flags instead of %optflags
85d1e6
85d1e6
* Mon May 06 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.1-2
85d1e6
- SELinuxPolicy: Create a map of aliases on policy load (#1672631)
85d1e6
85d1e6
* Tue Mar 26 2019 Petr Lautrbach <plautrba@redhat.com> - 4.2.1-1
85d1e6
- SETools 4.2.1 release (#1581761, #1595582)
85d1e6
85d1e6
* Wed Nov 14 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-1
85d1e6
- Update source to SETools 4.2.0 release
85d1e6
85d1e6
* Mon Oct 01 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-0.3.rc
85d1e6
- Update upstream source to 4.2.0-rc
85d1e6
85d1e6
* Wed Sep 19 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-0.2.beta
85d1e6
- Require userspace release 2.8
85d1e6
- setools-gui requires python3-setools
85d1e6
- Add Requires for python[23]-setuptools - no longer required (just recommended) by python[23] (#1623371)
85d1e6
- Drop python2 subpackage (4.2.0 no longer supports python2)
85d1e6
85d1e6
* Wed Aug 29 2018 Vit Mojzis <vmojzis@redhat.com> - 4.1.1-13
85d1e6
- Add Requires for python[23]-setuptools - no longer required (just recommended)
85d1e6
  by python[23] (#1623371)
85d1e6
85d1e6
* Wed Aug 22 2018 Petr Lautrbach <plautrba@redhat.com> - 4.1.1-12.1
85d1e6
- Fix SCTP patch - https://github.com/SELinuxProject/setools/issues/9
85d1e6
85d1e6
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-11
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
85d1e6
85d1e6
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 4.1.1-10
85d1e6
- Rebuilt for Python 3.7
85d1e6
85d1e6
* Thu Jun 14 2018 Petr Lautrbach <plautrba@redhat.com> - 4.1.1-9
85d1e6
- Move gui python files to -gui subpackage
85d1e6
85d1e6
* Thu Apr 26 2018 Vit Mojzis <vmojzis@redhat.com> - 4.1.1-8
85d1e6
- Add support for SCTP protocol (#1568333)
85d1e6
85d1e6
* Thu Apr 19 2018 Iryna Shcherbina <shcherbina.iryna@gmail.com> - 4.1.1-7
85d1e6
- Update Python 2 dependency declarations to new packaging standards
85d1e6
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
85d1e6
85d1e6
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-6
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
85d1e6
85d1e6
* Mon Sep 04 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.1-5
85d1e6
- setools-python2 requires python2-enum34
85d1e6
85d1e6
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.1-4
85d1e6
- Add Provides for the old name without %%_isa
85d1e6
85d1e6
* Thu Aug 10 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.1-3
85d1e6
- Python 2 binary package renamed to python2-setools
85d1e6
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
85d1e6
- Python 3 binary package renamed to python3-setools
85d1e6
85d1e6
* Thu Aug 10 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.1-2
85d1e6
- bswap_* macros are defined in byteswap.h
85d1e6
85d1e6
* Mon Aug 07 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.1-1
85d1e6
- New upstream release
85d1e6
85d1e6
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-5
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
85d1e6
85d1e6
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-4
85d1e6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
85d1e6
85d1e6
* Mon May 22 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.0-3
85d1e6
- setools-python{,3} packages should have a weak dependency on libselinux-python{,3}
85d1e6
  (#1447747)
85d1e6
85d1e6
* Thu Feb 23 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.0-2
85d1e6
- Move python networkx dependency to -gui and -console-analyses
85d1e6
- Ship sedta and seinfoflow in setools-console-analyses
85d1e6
85d1e6
* Wed Feb 15 2017 Petr Lautrbach <plautrba@redhat.com> - 4.1.0-1
85d1e6
- New upstream release.