policycoreutils/policycoreutils.spec

307 lines
11 KiB
RPMSpec
Raw Normal View History

2019-12-25 17:13:11 +08:00
%global _python_bytecompile_extra 0
2020-03-05 16:39:43 +08:00
%bcond_with sandbox
2019-12-25 17:13:11 +08:00
Name: policycoreutils
Version: 3.3
2022-06-30 15:51:00 +08:00
Release: 2
2019-12-25 17:13:11 +08:00
Summary: Policy core utilities of selinux
License: GPLv2
URL: https://github.com/SELinuxProject
2022-06-30 15:51:00 +08:00
Source0: https://github.com/SELinuxProject/selinux/archive/refs/tags/policycoreutils-%{version}.tar.gz
2020-02-14 16:11:26 +08:00
Source7: selinux-autorelabel
Source8: selinux-autorelabel.service
Source9: selinux-autorelabel-mark.service
Source10: selinux-autorelabel.target
Source11: selinux-autorelabel-generator.sh
Patch0: fix-fixfiles-N-date-function.patch
Patch1: fix-fixfiles-N-date-function-two.patch
BuildRequires: gcc
BuildRequires: pam-devel libsepol-static >= 3.3 libsemanage-static >= 3.3 libselinux-devel >= 3.3 libcap-devel audit-libs-devel gettext
2020-10-29 16:26:33 +08:00
BuildRequires: desktop-file-utils dbus-devel dbus-glib-devel python3-devel libcap-ng-devel
2019-12-25 17:13:11 +08:00
BuildRequires: systemd systemd-units
Requires: libsepol >= 3.3 libselinux-utils util-linux grep gawk diffutils rpm sed coreutils
2019-12-25 17:13:11 +08:00
2020-07-22 20:54:37 +08:00
Provides: %{name}-restorecond = %{version}-%{release}
Obsoletes: %{name}-restorecond < %{version}-%{release}
Provides: %{name}-newrole = %{version}-%{release}
Obsoletes: %{name}-newrole < %{version}-%{release}
2020-12-13 13:35:24 +08:00
Obsoletes: python2-policycoreutils
2019-12-25 17:13:11 +08:00
Provides: /sbin/fixfiles
Provides: /sbin/restorecon
%description
It contains the selinux policy core utilities
%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 >= 3.3
2020-12-01 14:33:45 +08:00
Requires: audit-libs-python3 >= 2.8.5
2019-12-25 17:13:11 +08:00
Requires: python3-IPy
Requires: checkpolicy
2020-12-01 14:33:45 +08:00
Requires: python3-setools >= 4.3.0
2019-12-25 17:13:11 +08:00
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
2020-03-05 16:39:43 +08:00
%if %{with sandbox}
2019-12-25 17:13:11 +08:00
%package sandbox
Summary: Sandbox utilities for selinux
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
2020-03-05 16:39:43 +08:00
%endif
2019-12-25 17:13:11 +08:00
%package help
Summary: Including man files for selinux
Requires: man
%description help
This contains man files for the using of selinux.
%prep
2022-06-30 15:51:00 +08:00
%autosetup -p 1 -n selinux-policycoreutils-%{version}
2019-12-25 17:13:11 +08:00
%build
%set_build_flags
2019-12-25 17:13:11 +08:00
export PYTHON=%{__python3}
2022-06-30 15:51:00 +08:00
make -C policycoreutils LSPP_PRIV=y SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" SEMODULE_PATH="%{_sbindir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
make -C python SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
make -C semodule-utils SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
make -C restorecond SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
2020-03-05 16:39:43 +08:00
%if %{with sandbox}
2022-06-30 15:51:00 +08:00
make -C sandbox SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
2020-03-05 16:39:43 +08:00
%endif
2022-06-30 15:51:00 +08:00
make -C dbus SBINDIR="%{_sbindir}" LSPP_PRIV=y LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" all
2019-12-25 17:13:11 +08:00
%install
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}/
2022-06-30 15:51:00 +08:00
make -C policycoreutils LSPP_PRIV=y DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" SEMODULE_PATH="/usr/sbin" LIBSEPOLA="%{_libdir}/libsepol.a" install
make -C python PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install
make -C semodule-utils PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install
make -C restorecond PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install
2020-03-05 16:39:43 +08:00
%if %{with sandbox}
2022-06-30 15:51:00 +08:00
make -C sandbox PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install
2020-03-05 16:39:43 +08:00
%endif
2022-06-30 15:51:00 +08:00
make -C dbus PYTHON=%{__python3} DESTDIR="%{buildroot}" SBINDIR="%{_sbindir}" LIBDIR="%{_libdir}" LIBSEPOLA="%{_libdir}/libsepol.a" install
2019-12-25 17:13:11 +08:00
rm -rf %{buildroot}/%{_sysconfdir}/rc.d/init.d/restorecond
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*
2020-01-18 14:47:42 +08:00
rm -f %{buildroot}%{python3_sitelib}/sepolicy/gui.*
rm -f %{buildroot}%{python3_sitelib}/sepolicy/sepolicy.glade
2019-12-25 17:13:11 +08:00
2020-02-14 16:11:26 +08:00
install -m 644 -p %{SOURCE8} %{buildroot}/%{_unitdir}/
install -m 644 -p %{SOURCE9} %{buildroot}/%{_unitdir}/
install -m 644 -p %{SOURCE10} %{buildroot}/%{_unitdir}/
install -D -m 755 -p %{SOURCE11} %{buildroot}/%{_systemdgeneratordir}/%{basename:%{SOURCE11}}
install -m 755 -p %{SOURCE7} %{buildroot}/%{_libexecdir}/selinux/
2019-12-25 17:13:11 +08:00
pathfix.py -i "%{__python3} -Es" -p %{buildroot}%{python3_sitelib}
2020-03-05 16:39:43 +08:00
pathfix.py -i "%{__python3} -Es" -p %{buildroot}%{_sbindir}/semanage \
%if %{with sandbox}
%{buildroot}%{_bindir}/sandbox \
%{buildroot}%{_datadir}/sandbox/start \
%endif
2019-12-25 17:13:11 +08:00
%{buildroot}%{_bindir}/chcat %{buildroot}%{_bindir}/audit2allow \
%{buildroot}%{_bindir}/sepolicy %{buildroot}%{_bindir}/sepolgen-ifgen \
2020-01-18 14:47:42 +08:00
%{buildroot}%{_datadir}/system-config-selinux/selinux_server.py
2019-12-25 17:13:11 +08:00
2020-10-29 16:26:33 +08:00
find %{buildroot}%{python3_sitelib} %{buildroot}%{python3_sitearch} \
2019-12-25 17:13:11 +08:00
%{buildroot}%{_sbindir} %{buildroot}%{_bindir} %{buildroot}%{_datadir} -type f -name '*~' | xargs rm -f
%py_byte_compile %{__python3} %{buildroot}%{_datadir}/system-config-selinux
%find_lang policycoreutils
%post
%systemd_post selinux-autorelabel-mark.service restorecond.service
2019-12-25 17:13:11 +08:00
%preun
%systemd_preun selinux-autorelabel-mark.service restorecond.service
2019-12-25 17:13:11 +08:00
%postun
%systemd_postun_with_restart restorecond.service
%files -f %{name}.lang
2022-06-30 15:51:00 +08:00
%license policycoreutils/COPYING
2019-12-25 17:13:11 +08:00
%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
%{_bindir}/sestatus
2019-12-25 17:13:11 +08:00
%{_libexecdir}/selinux/hll
2020-01-16 00:18:45 +08:00
%dir %{_datadir}/bash-completion
%{_datadir}/bash-completion/completions/setsebool
2020-01-18 14:47:42 +08:00
%{_unitdir}/restorecond.service
2020-07-22 20:54:37 +08:00
%{_userunitdir}/restorecond_user.service
2020-01-18 14:47:42 +08:00
%{_sysconfdir}/xdg/autostart/restorecond.desktop
2019-12-25 17:13:11 +08:00
%{_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
2020-02-17 18:16:50 +08:00
%{_libexecdir}/selinux/selinux-autorelabel
%{_unitdir}/selinux-autorelabel-mark.service
%{_unitdir}/selinux-autorelabel.service
%{_unitdir}/selinux-autorelabel.target
%{_systemdgeneratordir}/selinux-autorelabel-generator.sh
2019-12-25 17:13:11 +08:00
%files python-utils
%{_bindir}/audit2allow
%{_bindir}/audit2why
%{_sbindir}/semanage
%{_bindir}/chcat
2020-03-05 16:39:43 +08:00
%if %{with sandbox}
2019-12-25 17:13:11 +08:00
%{_bindir}/sandbox
2020-03-05 16:39:43 +08:00
%endif
2019-12-25 17:13:11 +08:00
%{_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
%{_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.*
2020-01-18 14:47:42 +08:00
%files -n python3-policycoreutils
2019-12-25 17:13:11 +08:00
%{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
2020-03-05 16:39:43 +08:00
%if %{with sandbox}
2020-01-18 14:47:42 +08:00
%files sandbox
2019-12-25 17:13:11 +08:00
%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
2020-03-05 16:39:43 +08:00
%endif
2019-12-25 17:13:11 +08:00
%files help
%{_mandir}/*
2020-01-10 16:09:40 +08:00
2020-01-16 00:18:45 +08:00
%changelog
2022-06-30 15:51:00 +08:00
* Thu Jun 30 2022 lujie <lujie54@huawei.com> - 3.3-2
- update policycoreutils tar.gz
* Thu Feb 17 2022 panxiaohe <panxh.life@foxmail.com> - 3.3-1
- update to 3.3
2022-06-30 15:51:00 +08:00
* Tue Sep 7 2021 yangzhuangzhuang <yangzhuangzhuang1@huawei.com> - 3.1-8
- add "%%set_build_flags" for security build flags
* Fri Jun 4 2021 panxiaohe <panxiaohe@huawei.com> - 3.1-7
- add gcc to BuildRequires
- fix fixfiles -N date function
2020-12-13 13:35:24 +08:00
* Sun Dec 13 2020 luhuaxin <1539327763@qq.com> - 3.1-6
- add obsoletes of python2-policycoreutils
2020-12-01 14:33:45 +08:00
* Tue Dec 1 2020 Liquor <lirui130@huawei.com> - 3.1-5
- add the necessary version dependencies
2020-11-30 19:39:37 +08:00
* Mon Nov 30 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.1-4
- add version require of libsepol
* Mon Nov 2 2020 yixiangzhike <zhangxingliang3@huawei.com> - 3.1-3
- add selinux-autorelabel-mark.service to systemd_preun and systemd_post
2020-10-29 16:26:33 +08:00
* Thu Oct 29 2020 Hugel <gengqihu1@huawei.com> - 3.1-2
- remove the dependency on python2
2020-07-22 20:54:37 +08:00
* Fri Jul 17 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.1-1
- update to 3.1
2020-03-05 16:39:43 +08:00
* Thu Mar 5 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.8-14
- Build without sandbox
2020-02-17 18:16:50 +08:00
* Mon Feb 17 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.8-13
- Add unpackaged files
2020-02-14 16:11:26 +08:00
* Fri Feb 14 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.8-12
- Add selinux-autorelabel
2020-01-18 14:47:42 +08:00
* Fri Dec 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8-11
- Simplify functions
2019-12-25 17:13:11 +08:00
* Fri Dec 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.8-10
- Delete unused patch
* Wed Sep 11 2019 zhanghaibo <ted.zhang@huawei.com> - 2.8-9
- Package init