Add systemd support
This commit is contained in:
parent
b833a80033
commit
797f465467
12
openwsman.service
Normal file
12
openwsman.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Openwsman WS-Management Service
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/openwsmand
|
||||
ExecStartPre=/etc/openwsman/owsmantestcert.sh
|
||||
PIDFile=/var/run/wsmand.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -13,8 +13,9 @@ BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel
|
||||
BuildRequires: python python-devel perl
|
||||
BuildRequires: perl-devel pkgconfig openssl-devel
|
||||
BuildRequires: cmake
|
||||
BuildRequires: systemd-units
|
||||
Version: 2.3.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Url: http://www.openwsman.org/
|
||||
License: BSD
|
||||
Group: Applications/System
|
||||
@ -22,8 +23,11 @@ Summary: Open source Implementation of WS-Management
|
||||
Source: http://downloads.sourceforge.net/project/openwsman/%{name}/%{version}/%{name}-%{version}.tar.bz2
|
||||
# help2man generated manpage for openwsmand binary
|
||||
Source1: openwsmand.8.gz
|
||||
# service file for systemd
|
||||
Source2: openwsman.service
|
||||
# script for testing presence of the certificates in ExecStartPre
|
||||
Source3: owsmantestcert.sh
|
||||
Patch0: %{name}-sitelibdir.patch
|
||||
Patch1: openwsman-2.2.3-initscript.patch
|
||||
Patch2: openwsman-2.2.7-disable-ruby.patch
|
||||
Patch3: openwsman-2.2.7-libssl.patch
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXXX)
|
||||
@ -138,7 +142,6 @@ This package provides Perl bindings to access the openwsman client API.
|
||||
%setup -q
|
||||
# don't make backup of file patched by patch0, it'll be installed...
|
||||
%patch0 -p1
|
||||
%patch1 -p1 -b .initscript
|
||||
%patch2 -p1
|
||||
%patch3 -p1 -b .libssl
|
||||
|
||||
@ -179,10 +182,10 @@ rm -f %{buildroot}/%{_libdir}/openwsman/authenticators/*.la
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/init.d
|
||||
install -m 644 etc/openwsman.conf %{buildroot}/%{_sysconfdir}/openwsman
|
||||
install -m 644 etc/openwsman_client.conf %{buildroot}/%{_sysconfdir}/openwsman
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/init.d
|
||||
install -m 755 build/etc/init/openwsmand.sh %{buildroot}/%{_sysconfdir}/rc.d/init.d/openwsmand
|
||||
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -p -m 644 %{SOURCE2} %{buildroot}/%{_unitdir}/openwsman.service
|
||||
install -m 644 etc/ssleay.cnf %{buildroot}/%{_sysconfdir}/openwsman
|
||||
ln -sf %{_sysconfdir}/rc.d/init.d/openwsmand %{buildroot}/%{_sbindir}/rcopenwsmand
|
||||
install -p -m 755 %{SOURCE3} %{buildroot}/%{_sysconfdir}/openwsman
|
||||
# install manpage
|
||||
mkdir -p %{buildroot}/%{_mandir}/man8/
|
||||
cp %SOURCE1 %{buildroot}/%{_mandir}/man8/
|
||||
@ -200,19 +203,23 @@ rm -rf %{buildroot}
|
||||
|
||||
%post server
|
||||
/sbin/ldconfig
|
||||
/sbin/chkconfig --add openwsmand
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Initial installation
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun server
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/service %{name}d stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del openwsmand
|
||||
/bin/systemctl --no-reload disable openwsman.service > /dev/null 2>&1 || :
|
||||
/bin/systemctl stop openwsman.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun server
|
||||
rm -f /var/log/wsmand.log
|
||||
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
/sbin/service %{name}d condrestart >/dev/null 2>&1 || :
|
||||
/bin/systemctl try-restart openwsman.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
/sbin/ldconfig
|
||||
|
||||
@ -264,8 +271,9 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/openwsman/openwsman.conf
|
||||
%config(noreplace) %{_sysconfdir}/openwsman/ssleay.cnf
|
||||
%attr(0755,root,root) %{_sysconfdir}/openwsman/owsmangencert.sh
|
||||
%attr(0755,root,root) %{_sysconfdir}/openwsman/owsmantestcert.sh
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/openwsman
|
||||
%attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/openwsmand
|
||||
%{_unitdir}/openwsman.service
|
||||
%dir %{_libdir}/openwsman
|
||||
%dir %{_libdir}/openwsman/authenticators
|
||||
%{_libdir}/openwsman/authenticators/*.so
|
||||
@ -274,7 +282,6 @@ fi
|
||||
%{_libdir}/openwsman/plugins/*.so
|
||||
%{_libdir}/openwsman/plugins/*.so.*
|
||||
%{_sbindir}/openwsmand
|
||||
%{_sbindir}/rcopenwsmand
|
||||
%{_libdir}/libwsman_server.so.*
|
||||
%{_mandir}/man8/*
|
||||
%doc AUTHORS COPYING ChangeLog README.md
|
||||
@ -287,6 +294,9 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed May 23 2012 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.3.0-2
|
||||
- Add systemd support
|
||||
|
||||
* Tue Mar 27 2012 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.3.0-1
|
||||
- Update to openwsman-2.3.0
|
||||
|
||||
|
21
owsmantestcert.sh
Normal file
21
owsmantestcert.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f "/etc/openwsman/serverkey.pem" ]; then
|
||||
if [ -f "/etc/ssl/servercerts/servercert.pem" \
|
||||
-a -f "/etc/ssl/servercerts/serverkey.pem" ]; then
|
||||
echo "Using common server certificate /etc/ssl/servercerts/servercert.pem"
|
||||
ln -s /etc/ssl/servercerts/server{cert,key}.pem /etc/openwsman
|
||||
exit 0
|
||||
else
|
||||
echo "FAILED: Starting openwsman server"
|
||||
echo "There is no ssl server key available for openwsman server to use."
|
||||
echo -e "Please generate one with the following script and start the openwsman service again:\n"
|
||||
echo "##################################"
|
||||
echo "/etc/openwsman/owsmangencert.sh"
|
||||
echo "================================="
|
||||
|
||||
echo "NOTE: The script uses /dev/random device for generating some random bits while generating the server key."
|
||||
echo " If this takes too long, you can replace the value of \"RANDFILE\" in /etc/openwsman/ssleay.cnf with /dev/urandom. Please understand the implications of replacing the RNADFILE."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
Loading…
Reference in New Issue
Block a user