diff --git a/.gitignore b/.gitignore index 552dc4b..f939940 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /Radicale-0.8.tar.gz /Radicale-0.9.tar.gz /Radicale-0.10.tar.gz +/Radicale-1.0.tar.gz diff --git a/radicale.spec b/radicale.spec index 130a85d..6dad0c3 100644 --- a/radicale.spec +++ b/radicale.spec @@ -1,6 +1,9 @@ +%global selinux_types %(%{__awk} '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null) +%global selinux_variants %([ -z "%{selinux_types}" ] && echo mls targeted || echo %{selinux_types}) + Name: radicale -Version: 0.10 -Release: 7%{?dist} +Version: 1.0 +Release: 1%{?dist} Summary: A simple CalDAV (calendar) and CardDAV (contact) server Group: Applications/Internet License: GPLv3+ @@ -15,18 +18,26 @@ Source6: %{name}.if Source7: %{name}-tmpfiles.conf # Patch0: config adjustments for systemwide installation Patch0: %{name}-0.10-systemwide.patch -# Patch1: https://github.com/Kozea/Radicale/issues/117#issuecomment-84588704 -Patch1: %{name}-0.10-fix_delete_entry.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: systemd +BuildRequires: checkpolicy +BuildRequires: selinux-policy-devel +BuildRequires: /usr/share/selinux/devel/policyhelp +%if "%{_selinux_policy_version}" != "" +Requires: selinux-policy >= %{_selinux_policy_version} +%endif +Requires: python3-pam Requires(pre): shadow-utils Requires(post): systemd +Requires(post): /usr/sbin/semodule, /sbin/fixfiles, policycoreutils-python-utils Requires(preun): systemd Requires(postun): systemd -Requires: %{name}-selinux = %{version}-%{release} -Requires: python3-pam +Requires(postun): /usr/sbin/semodule, /sbin/fixfiles, policycoreutils-python-utils + +Provides: radicale-selinux = %{version}-%{release} +Obsoletes: radicale-selinux <= 0.10-8 %description The Radicale Project is a CalDAV (calendar) and CardDAV (contact) server. It @@ -51,31 +62,15 @@ Requires: mod_wsgi %description httpd httpd config for Radicale -%package selinux -%global selinux_types %(%{__awk} '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null) -%global selinux_variants %([ -z "%{selinux_types}" ] && echo mls targeted || echo %{selinux_types}) - -Summary: Selinux policy for Radicale -Requires: %{name} = %{version}-%{release} -%if "%{_selinux_policy_version}" != "" -Requires: selinux-policy >= %{_selinux_policy_version} -%endif -Requires(post): /usr/sbin/semodule, /sbin/fixfiles, policycoreutils-python-utils -Requires(postun): /usr/sbin/semodule, /sbin/fixfiles, policycoreutils-python-utils -BuildRequires: checkpolicy, selinux-policy-devel, /usr/share/selinux/devel/policyhelp - -%description selinux -Selinux policy for Radicale %prep -%setup -q -n Radicale-%{version} -%patch0 -p1 -%patch1 -p1 +%autosetup -n Radicale-%{version} mkdir SELinux cp -p %{SOURCE4} %{SOURCE5} %{SOURCE6} SELinux + %build -%{__python3} setup.py build +%py3_build cd SELinux for selinuxvariant in %{selinux_variants} do @@ -86,7 +81,7 @@ done cd - %install -%{__python3} setup.py install --skip-build --root %{buildroot} +%py3_install # Install configuration files mkdir -p %{buildroot}%{_sysconfdir}/%{name}/ @@ -130,14 +125,6 @@ exit 0 %post %systemd_post %{name}.service - -%preun -%systemd_preun %{name}.service - -%postun -%systemd_postun_with_restart %{name}.service - -%post selinux for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ @@ -148,7 +135,11 @@ semanage port -a -t radicale_port_t -p tcp 5232 > /dev/null 2>&1 || : /sbin/fixfiles -R %{name} restore > /dev/null 2>&1 || : /sbin/fixfiles -R %{name}-httpd restore > /dev/null 2>&1 || : -%postun selinux +%preun +%systemd_preun %{name}.service + +%postun +%systemd_postun_with_restart %{name}.service if [ $1 -eq 0 ] ; then semanage port -d -p tcp 5232 > /dev/null 2>&1 || : for selinuxvariant in %{selinux_variants} @@ -179,16 +170,17 @@ fi %dir %{_datadir}/%{name} %{_datadir}/%{name}/%{name}.wsgi %{_datadir}/%{name}/%{name}.fcgi +%doc SELinux/* +%{_datadir}/selinux/*/%{name}.pp %files httpd %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf -%files selinux -%defattr(-,root,root,0755) -%doc SELinux/* -%{_datadir}/selinux/*/%{name}.pp - %changelog +* Tue Sep 15 2015 Juan Orti Alcaine - 1.0-1 +- Version 1.0 +- Merge SELinux subpackage into the main package + * Mon Sep 07 2015 Juan Orti Alcaine - 0.10-7 - Drop old _selinux_policy_version hack - Require radicale-selinux diff --git a/sources b/sources index 8ff8e00..4ccffa4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -32655d8893962956ead0ad690cca6044 Radicale-0.10.tar.gz +e6de93af463eecaa882c309e370e8e72 Radicale-1.0.tar.gz