%global _python_bytecompile_extra 0 Name: policycoreutils Version: 2.8 Release: 10 Summary: Policy core utilities of selinux License: GPLv2 URL: https://github.com/SELinuxProject Source0: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/policycoreutils-2.8.tar.gz Source1: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/selinux-python-2.8.tar.gz Source2: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/selinux-gui-2.8.tar.gz Source3: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/selinux-sandbox-2.8.tar.gz Source4: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/selinux-dbus-2.8.tar.gz Source5: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/semodule-utils-2.8.tar.gz Source6: https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/restorecond-2.8.tar.gz Source7: policycoreutils_man_ru2.tar.bz2 Source8: system-config-selinux.png Source9: sepolicy-icons.tgz Source10: selinux-autorelabel Source11: selinux-autorelabel.service Source12: selinux-autorelabel-mark.service Source13: selinux-autorelabel.target Source14: selinux-autorelabel-generator.sh Source15: policycoreutils-po.tgz Source16: python-po.tgz Source17: gui-po.tgz Source18: sandbox-po.tgz Patch0: policycoreutils-fedora.patch Patch1: selinux-python-fedora.patch Patch2: selinux-gui-fedora.patch Patch3: selinux-sandbox-fedora.patch Patch4: selinux-dbus-fedora.patch Patch6000: python-sepolgen-fix-typo-in-PathChoooser-name.patch Patch6001: policycoreutils-secon-free-scon_trans-before-returni.patch Patch6002: python-sepolicy-fix-procotol-misspelling.patch Patch6003: restorecond-Do-not-ignore-the-f-option.patch Patch6004: python-sepolicy-Fix-info-to-search-aliases-as-well.patch Patch6005: python-sepolicy-Stop-rejecting-aliases-in-sepolicy-c.patch Patch6006: python-semanage-Stop-rejecting-aliases-in-semanage-c.patch Patch6007: python-chcat-use-check_call-instead-of-getstatusoutp.patch Patch6008: python-chcat-fix-removing-categories-on-users-with-F.patch Patch6009: python-sepolicy-search-also-for-dontaudit-rules.patch Patch6010: python-semanage-move-valid_types-initialisations-to-.patch Patch6011: python-sepolicy-Add-sepolicy.load_store_policy-store.patch Patch6012: python-semanage-Load-a-store-policy-and-set-the-stor.patch Patch6013: python-sepolgen-close-etc-selinux-sepolgen.conf-afte.patch Patch6014: python-audit2allow-allow-using-audit2why-as-non-root.patch Patch6015: python-sepolgen-refpolicy-installs-its-Makefile-in-i.patch Patch6016: setsebool-support-use-of-P-on-SELinux-disabled-hosts.patch Patch6017: python-use-or-when-comparing-a-variable-with-a-strin.patch Patch6018: python-sepolicy-fix-variable-name.patch Patch6019: python-semanage-seobject-Fix-listing-boolean-values.patch Patch6020: python-semanage-module-Fix-handling-of-a-e-d-r-optio.patch Patch9021: fix-fixfiles-N-date-function.patch Patch9022: fix-fixfiles-N-date-function-two.patch BuildRequires: pam-devel libsepol-static libsemanage-static libselinux-devel libcap-devel audit-libs-devel gettext BuildRequires: desktop-file-utils dbus-devel dbus-glib-devel python2-devel python3-devel BuildRequires: systemd systemd-units Requires: libsepol libselinux-utils util-linux grep gawk diffutils rpm sed coreutils Provides: %{name}-restorecond Obsoletes: %{name}-restorecond Provides: %{name}-newrole Obsoletes: %{name}-newrole Provides: /sbin/fixfiles Provides: /sbin/restorecon %description It contains the selinux policy core utilities %package -n python2-policycoreutils Summary: python2 utilities for seLinux policy core %{?python_provide:%python_provide python2-policycoreutils} Requires: policycoreutils = %{version}-%{release} Requires: python2-libselinux python2-libsemanage Requires: audit-libs-python2 Requires: python2-IPy Requires: checkpolicy Requires: python2-setools >= 4.1.1 BuildArch: noarch Provides: %{name}-python = %{version}-%{release} Obsoletes: %{name}-python < %{version}-%{release} Obsoletes: policycoreutils < 2.0.61-2 %description -n python2-policycoreutils It contains the python2 policy core utilities for selinux %package -n python3-policycoreutils Summary: python3 utilities for seLinux policy core %{?python_provide:%python_provide python3-policycoreutils} Requires: policycoreutils = %{version}-%{release} Requires: python3-libselinux python3-libsemanage Requires: audit-libs-python3 Requires: python3-IPy Requires: checkpolicy Requires: python3-setools >= 4.1.1 BuildArch: noarch Provides: %{name}-python3 = %{version}-%{release} Obsoletes: %{name}-python3 < %{version}-%{release} %description -n python3-policycoreutils It contains the python3 policy core utilities for selinux %package python-utils Summary: Policy core python utilities for selinux Requires: python3-policycoreutils = %{version}-%{release} Obsoletes: policycoreutils-python <= 2.4-4 BuildArch: noarch %description python-utils It contains the python utilities for selinux %package dbus Summary: Policy core DBUS for selinux Requires: python3-policycoreutils = %{version}-%{release} python3-slip-dbus BuildArch: noarch %description dbus It contains policy core DBUS for selinux %package devel Summary: Policy core devel utilities for selinux Requires: policycoreutils-python-utils = %{version}-%{release} Requires: /usr/bin/make Requires: selinux-policy-devel %description devel It contains policy core devel utilities for selinux %package gui Summary: configuration gui for selinux BuildRequires: desktop-file-utils Requires: policycoreutils-devel = %{version}-%{release}, python3-policycoreutils = %{version}-%{release} Requires: policycoreutils-dbus = %{version}-%{release} Requires: gtk3, python3-gobject BuildArch: noarch %description gui It contains configuration gui for selinux %package sandbox Summary: Sandbox utilities for selinux BuildRequires: libcap-ng-devel Requires: python3-policycoreutils = %{version}-%{release} Requires: xorg-x11-server-Xephyr >= 1.14.1-2 /usr/bin/rsync /usr/bin/xmodmap Requires: openbox %description sandbox It contains sandbox utilities for selinux %package help Summary: Including man files for selinux Requires: man %description help This contains man files for the using of selinux. %prep %setup -q -c -n selinux %setup -q -T -D -a 1 -n selinux %setup -q -T -D -a 2 -n selinux %setup -q -T -D -a 3 -n selinux %setup -q -T -D -a 4 -n selinux %setup -q -T -D -a 5 -n selinux %setup -q -T -D -a 6 -n selinux %patch0 -p0 -b .policycoreutils-fedora cp %{SOURCE8} selinux-gui-2.8/ tar -xvf %{SOURCE9} -C selinux-python-2.8/sepolicy/ %patch1 -p0 -b .selinux-python %patch2 -p0 -b .selinux-gui %patch3 -p0 -b .selinux-sandbox %patch4 -p0 -b .selinux-dbus %patch6000 -p1 %patch6001 -p1 %patch6002 -p1 %patch6003 -p1 %patch6004 -p1 %patch6005 -p1 %patch6006 -p1 %patch6007 -p1 %patch6008 -p1 %patch6009 -p1 %patch6010 -p1 %patch6011 -p1 %patch6012 -p1 %patch6013 -p1 %patch6014 -p1 %patch6015 -p1 %patch6016 -p1 %patch6017 -p1 %patch6018 -p1 %patch6019 -p1 %patch6020 -p1 %patch9021 -p1 %patch9022 -p1 tar -x -f %{SOURCE15} -C policycoreutils-2.8 -z tar -x -f %{SOURCE16} -C selinux-python-2.8 -z tar -x -f %{SOURCE17} -C selinux-gui-2.8 -z tar -x -f %{SOURCE18} -C selinux-sandbox-2.8 -z %build export PYTHON=%{__python3} make -C policycoreutils-2.8 LSPP_PRIV=y SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" SEMODULE_PATH="%{_sbindir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C semodule-utils-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C restorecond-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C selinux-python-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C selinux-gui-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C selinux-sandbox-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all make -C selinux-dbus-2.8 SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all %install mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}/ make -C policycoreutils-2.8 LSPP_PRIV=y DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" SEMODULE_PATH="/usr/sbin" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C selinux-python-2.8 PYTHON=%{__python2} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C selinux-python-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C semodule-utils-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C restorecond-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C selinux-gui-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C selinux-sandbox-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install make -C selinux-dbus-2.8 PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install rm -rf %{buildroot}/%{_sysconfdir}/rc.d/init.d/restorecond tar -jxf %{SOURCE7} -C %{buildroot}/ rm -f %{buildroot}/%{_sbindir}/open_init_pty rm -f %{buildroot}/%{_sbindir}/run_init rm -f %{buildroot}/%{_mandir}/man8/open_init_pty.8 rm -f %{buildroot}/%{_mandir}/ru/man8/run_init.8* rm -f %{buildroot}/%{_mandir}/man8/run_init.8* rm -f %{buildroot}/etc/pam.d/run_init* ln -sf %{_datarootdir}/system-config-selinux/polgengui.py %{buildroot}%{_bindir}/selinux-polgengui desktop-file-install --dir %{buildroot}%{_datadir}/applications --add-category Settings \ %{buildroot}%{_datadir}/system-config-selinux/sepolicy.desktop desktop-file-install --dir %{buildroot}%{_datadir}/applications --add-category Settings \ %{buildroot}%{_datadir}/system-config-selinux/system-config-selinux.desktop desktop-file-install --dir %{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/system-config-selinux/selinux-polgengui.desktop rm -f %{buildroot}%{python2_sitelib}/sepolicy/gui.* rm -f %{buildroot}%{python2_sitelib}/sepolicy/sepolicy.glade rm -rf %{buildroot}%{python2_sitelib}/sepolicy/help install -m 644 -p %{SOURCE11} %{buildroot}/%{_unitdir}/ install -m 644 -p %{SOURCE12} %{buildroot}/%{_unitdir}/ install -m 644 -p %{SOURCE13} %{buildroot}/%{_unitdir}/ install -D -m 755 -p %{SOURCE14} %{buildroot}/%{_systemdgeneratordir}/%{basename:%{SOURCE14}} install -m 755 -p %{SOURCE10} %{buildroot}/%{_libexecdir}/selinux/ pathfix.py -i "%{__python2} -Es" -p %{buildroot}%{python2_sitelib} pathfix.py -i "%{__python3} -Es" -p %{buildroot}%{python3_sitelib} pathfix.py -i "%{__python3} -Es" -p %{buildroot}%{_sbindir}/semanage %{buildroot}%{_bindir}/sandbox \ %{buildroot}%{_bindir}/chcat %{buildroot}%{_bindir}/audit2allow \ %{buildroot}%{_bindir}/sepolicy %{buildroot}%{_bindir}/sepolgen-ifgen \ %{buildroot}%{_datadir}/sandbox/start \ %{buildroot}%{_datadir}/system-config-selinux/system-config-selinux.py \ %{buildroot}%{_datadir}/system-config-selinux/selinux_server.py \ %{buildroot}%{_datadir}/system-config-selinux/polgengui.py find %{buildroot}%{python2_sitelib} %{buildroot}%{python3_sitelib} %{buildroot}%{python2_sitearch} %{buildroot}%{python3_sitearch} \ %{buildroot}%{_sbindir} %{buildroot}%{_bindir} %{buildroot}%{_datadir} -type f -name '*~' | xargs rm -f %py_byte_compile %{__python3} %{buildroot}%{_datadir}/system-config-selinux %find_lang selinux-gui %find_lang selinux-sandbox %find_lang policycoreutils %find_lang selinux-python %post %systemd_post selinux-autorelabel-mark.service restorecond.service %preun %systemd_preun selinux-autorelabel-mark.service restorecond.service %postun %systemd_postun_with_restart restorecond.service %files -f %{name}.lang %license policycoreutils-2.8/COPYING %doc %{_usr}/share/doc/%{name} %config(noreplace) %{_sysconfdir}/sestatus.conf %config(noreplace) %{_sysconfdir}/pam.d/newrole %config(noreplace) %{_sysconfdir}/selinux/restorecond.conf %config(noreplace) %{_sysconfdir}/selinux/restorecond_user.conf %{_sbindir}/* %exclude %{_sbindir}/{seunshare,semanage} %{_bindir}/secon %{_bindir}/semodule_expand %{_bindir}/semodule_link %{_bindir}/semodule_package %{_bindir}/semodule_unpackage %{_libexecdir}/selinux/hll %{_libexecdir}/selinux/selinux-autorelabel %{_unitdir}/selinux-autorelabel-mark.service %{_unitdir}/selinux-autorelabel.service %{_unitdir}/selinux-autorelabel.target %{_unitdir}/restorecond.service %{_systemdgeneratordir}/selinux-autorelabel-generator.sh %{_sysconfdir}/xdg/autostart/restorecond.desktop %dir %{_datadir}/bash-completion %{_datadir}/bash-completion/completions/setsebool %{_datadir}/dbus-1/services/org.selinux.Restorecond.service %attr(0755,root,root) %caps(cap_dac_read_search,cap_setpcap,cap_audit_write,cap_sys_admin,cap_fowner,cap_chown,cap_dac_override=pe) %{_bindir}/newrole %files python-utils %{_bindir}/audit2allow %{_bindir}/audit2why %{_sbindir}/semanage %{_bindir}/chcat %{_bindir}/sandbox %{_sysconfdir}/dbus-1/system.d/org.selinux.conf %{_datadir}/bash-completion/completions/semanage %files dbus %{_datadir}/system-config-selinux/selinux_server.py %{_datadir}/polkit-1/actions/org.selinux.policy %{_datadir}/polkit-1/actions/org.selinux.config.policy %{_sysconfdir}/dbus-1/system.d/org.selinux.conf %{_datadir}/dbus-1/system-services/org.selinux.service %dir %{_datadir}/system-config-selinux/__pycache__ %{_datadir}/system-config-selinux/__pycache__/selinux_server.* %exclude %{_datadir}/system-config-selinux/{selinux-polgengui.desktop,sepolicy.desktop,system-config-selinux.desktop} %files -n python2-policycoreutils %{python2_sitelib}/seobject.py* %{python2_sitelib}/sepolgen %dir %{python2_sitelib}/sepolicy %{python2_sitelib}/sepolicy/__init__.py* %{python2_sitelib}/sepolicy/booleans.py* %{python2_sitelib}/sepolicy/communicate.py* %{python2_sitelib}/sepolicy/network.py* %{python2_sitelib}/sepolicy/transition.py* %{python2_sitelib}/sepolicy/sedbus.py* %{python2_sitelib}/sepolicy*.egg-info %{python2_sitelib}/sepolicy/generate.py* %{python2_sitelib}/sepolicy/interface.py* %{python2_sitelib}/sepolicy/manpage.py* %{python2_sitelib}/sepolicy/templates %files -f selinux-python.lang -n python3-policycoreutils %{python3_sitelib}/__pycache__ %{python3_sitelib}/sepolgen %dir %{python3_sitelib}/sepolicy %{python3_sitelib}/sepolicy/templates %dir %{python3_sitelib}/sepolicy/help %{python3_sitelib}/sepolicy/help/* %{python3_sitelib}/sepolicy/__init__.py* %{python3_sitelib}/sepolicy/__pycache__ %{python3_sitelib}/sepolicy/manpage.py* %{python3_sitelib}/sepolicy/network.py* %{python3_sitelib}/sepolicy/transition.py* %{python3_sitelib}/sepolicy/sedbus.py* %{python3_sitelib}/sepolicy*.egg-info %{python3_sitelib}/sepolicy/booleans.py* %{python3_sitelib}/sepolicy/communicate.py* %{python3_sitelib}/sepolicy/generate.py* %{python3_sitelib}/sepolicy/interface.py* %{python3_sitelib}/seobject.py* %files devel %{_bindir}/sepolicy %{_bindir}/sepolgen %{_bindir}/sepolgen-* %{_usr}/share/bash-completion/completions/sepolicy %dir /var/lib/sepolgen /var/lib/sepolgen/perm_map %files -f selinux-sandbox.lang sandbox %config(noreplace) %{_sysconfdir}/sysconfig/sandbox %{_datadir}/sandbox/{start,sandboxX.sh} %caps(cap_setpcap,cap_setuid,cap_fowner,cap_dac_override,cap_sys_admin,cap_sys_nice=pe) %{_sbindir}/seunshare %files -f selinux-gui.lang gui %{_bindir}/system-config-selinux %{_bindir}/selinux-polgengui %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/system-config-selinux.png %{_datadir}/icons/hicolor/24x24/apps/*.png %dir %{_datadir}/system-config-selinux %dir %{_datadir}/system-config-selinux/__pycache__ %{_datadir}/system-config-selinux/system-config-selinux.png %{_datadir}/system-config-selinux/*Page.py %{_datadir}/system-config-selinux/__pycache__/polgengui.* %{_datadir}/system-config-selinux/system-config-selinux.py %{_datadir}/system-config-selinux/__pycache__/*Page.* %{_datadir}/system-config-selinux/html_util.py %{_datadir}/system-config-selinux/__pycache__/system-config-selinux.* %{_datadir}/system-config-selinux/*.ui %{_datadir}/system-config-selinux/__pycache__/html_util.* %{_datadir}/system-config-selinux/polgengui.py %{python3_sitelib}/sepolicy/gui.py* %{python3_sitelib}/sepolicy/sepolicy.glade %{_datadir}/pixmaps/sepolicy.png %{_datadir}/icons/hicolor/*/apps/sepolicy.png %files help %{_mandir}/* %exclude %{_mandir}/ru/man8/{genhomedircon.8.gz,open_init_pty.8.gz,semodule_deps.8.gz} %changelog * Fri Dec 20 2019 openEuler Buildteam - 2.8-10 - Delete unused patch * Wed Sep 11 2019 zhanghaibo - 2.8-9 - Package init