File rubygem-webyast-system.spec of Package rubygem-webyast-system
#
# spec file for package rubygem-webyast-system
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: rubygem-webyast-system
Version: 0.3.8
Release: 0
%define mod_name webyast-system
%define mod_full_name %{mod_name}-%{version}
#
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: rubygems_with_buildroot_patch
%rubygems_requires
BuildRequires: rubygem-restility
BuildRequires: webyast-base >= 0.3.31
BuildRequires: webyast-base-testsuite
PreReq: webyast-base >= 0.3.31
Obsoletes: webyast-reboot-ui < %{version}
Obsoletes: webyast-reboot-ws < %{version}
Provides: webyast-reboot-ui = %{version}
Provides: webyast-reboot-ws = %{version}
Summary: WebYaST - reboot/shutdown
License: GPL-2.0
Group: Productivity/Networking/Web/Utilities
Source: %{mod_full_name}.gem
Source1: org.opensuse.yast.modules.yapi.system.policy
Source2: 40-default-webyast-system.rules
%package doc
Summary: RDoc documentation for %{mod_name}
Group: Development/Languages/Ruby
Requires: %{name} = %{version}
%description doc
Documentation generated at gem installation time.
Usually in RDoc and RI formats.
%package testsuite
Summary: Test suite for %{mod_name}
Group: Development/Languages/Ruby
Requires: %{name} = %{version}
%description
WebYaST - Plugin providing REST based interface for system reboot/shutdown.
Authors:
--------
Ladislav Slezak <lslezak@novell.com>
%description testsuite
Testsuite for webyast-reboot package.
%prep
%build
%create_restart_script
%check
%webyast_run_plugin_tests
%install
%gem_install %{S:0}
# Policies
mkdir -p $RPM_BUILD_ROOT/usr/share/%{webyast_polkit_dir}
install -m 0644 %SOURCE1 $RPM_BUILD_ROOT/usr/share/%{webyast_polkit_dir}
%if %suse_version >= 1230
mkdir -p $RPM_BUILD_ROOT/etc/polkit-1/rules.d/
install -m 0644 %SOURCE2 $RPM_BUILD_ROOT/etc/polkit-1/rules.d/
%endif
%webyast_build_restdoc
%clean
%{__rm} -rf $RPM_BUILD_ROOT
# posttrans is used instead of post so it ensures the rights are
# granted even after upgrading from old package (before renaming) (bnc#645310)
# (see https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax )
%posttrans
%if %suse_version < 1230
# granting all permissions for the web user
#FIXME don't silently fail
/usr/sbin/grantwebyastrights --user %{webyast_user} --action grant --policy org.freedesktop.consolekit.system.stop >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action grant --policy org.freedesktop.consolekit.system.stop-multiple-users >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action grant --policy org.freedesktop.consolekit.system.restart >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action grant --policy org.freedesktop.consolekit.system.restart-multiple-users >& /dev/null || true
## granting all permissions for root
/usr/sbin/grantwebyastrights --user root --action grant --policy org.freedesktop.consolekit.system.stop >& /dev/null || true
/usr/sbin/grantwebyastrights --user root --action grant --policy org.freedesktop.consolekit.system.stop-multiple-users >& /dev/null || true
/usr/sbin/grantwebyastrights --user root --action grant --policy org.freedesktop.consolekit.system.restart >& /dev/null || true
/usr/sbin/grantwebyastrights --user root --action grant --policy org.freedesktop.consolekit.system.restart-multiple-users >& /dev/null || true
%endif
%restart_webyast
%postun
%if %suse_version < 1230
# don't remove the rights during package update ($1 > 0)
# see https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax for details
if [ $1 -eq 0 ] ; then
/usr/sbin/grantwebyastrights --user %{webyast_user} --action revoke --policy org.freedesktop.consolekit.system.stop >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action revoke --policy org.freedesktop.consolekit.system.stop-multiple-users >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action revoke --policy org.freedesktop.consolekit.system.restart >& /dev/null || true
/usr/sbin/grantwebyastrights --user %{webyast_user} --action revoke --policy org.freedesktop.consolekit.system.restart-multiple-users >& /dev/null || true
fi
%endif
%webyast_plugin_postun
%files
%defattr(-,root,root,-)
%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem
%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/
%exclude %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/test
%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec
%dir /usr/share/%{webyast_polkit_dir}
%attr(644,root,root) %config /usr/share/%{webyast_polkit_dir}/org.opensuse.yast.modules.yapi.system.policy
%if %suse_version >= 1230
/etc/polkit-1/rules.d/40-default-webyast-system.rules
%endif
%restart_script_name
%files doc
%defattr(-,root,root,-)
%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/
%files testsuite
%defattr(-,root,root,-)
%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/test
%changelog