%define selinuxtype targeted

Name:       openvpn-plugin-arachne
Version:    0.1.4.git_2501151105_0d33bc4
Release:    1
Summary:    An openVPN plugin for arachne

License:    GPL-2.0+
URL:        http://www.nieslony.site/arachne
Source0:    %{name}-%{version}.tar.gz

BuildRequires:  gcc-c++
BuildRequires:  openvpn-devel, boost-devel, openssl-devel, sdbus-cpp-devel
BuildRequires:  selinux-policy-devel, selinux-policy
Requires:       boost

%description
openVPN plugin needed by arachne
 - authentication via HTTP(S) url
 - setup firewall rules based on user/groups

%prep
%setup -q

%build
%configure
%{__make} %{?_smp_mflags}
make -f /usr/share/selinux/devel/Makefile %{name}.pp

%install
%make_install
mkdir -pv %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}
install -m 0644 %{name}.pp %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}

%files
%license LICENSE
%{_libdir}/openvpn/plugins
%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp

%pre
if %{_sbindir}/selinuxenabled 2>/dev/null; then
    %selinux_relabel_pre -s %{selinuxtype}
fi

%post
if [ -x %{_sbindir}/selinuxenabled ]; then
    %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp
    %selinux_relabel_post -s %{selinuxtype}
fi

%postun
if [ -x %{_sbindir}/selinuxenabled ]; then
    %selinux_modules_uninstall -s %{selinuxtype} %{name}
    %selinux_relabel_post -s %{selinuxtype}
fi

%changelog
* Sun Nov 19 2017 Claas Nieslony <claas@nieslony.at> 0.1.0
- Initial version