add systemd support

This commit is contained in:
Arif Ali 2015-06-09 22:09:25 +01:00
parent 32345bc57c
commit ad5b605528
2 changed files with 52 additions and 7 deletions

View File

@ -0,0 +1,12 @@
[Unit]
Description=xCAT Management Service
After=network.target syslog.target sshd.service
[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/xcat
ExecStart=/opt/xcat/sbin/xcatd -p /var/run/xcatd.pid
PIDFile=/var/run/xcatd.pid
[Install]
WantedBy=multi-user.target

View File

@ -55,6 +55,16 @@ Requires: xCAT-client >= %{epoch}:%(cat Version|cut -d. -f 1,2)
Provides: xCAT-server = %{epoch}:%{version}
%if 0%{!?initscripttype:1}
# initscripttype not explicitly defined in some macro file or on commandline
# use presence of systemd_post macro to determine the initscripttype
%if %{?systemd_post:1}%{!?systemd_post:0}
%global initscripttype systemd
%else
%global initscripttype sysv
%endif
%endif
%description
xCAT-server provides the core server and configuration management components of xCAT. This package should be installed on your management server
@ -128,8 +138,6 @@ chmod -h 755 $RPM_BUILD_ROOT/%{prefix}/sbin/*
cp -h bin/* $RPM_BUILD_ROOT/%{prefix}/bin
chmod -h 755 $RPM_BUILD_ROOT/%{prefix}/bin/*
%endif
#cp rc.d/* $RPM_BUILD_ROOT/%{prefix}/rc.d
#chmod 755 $RPM_BUILD_ROOT/%{prefix}/rc.d/*
cp share/xcat/ca/* $RPM_BUILD_ROOT/%{prefix}/share/xcat/ca
chmod 644 $RPM_BUILD_ROOT/%{prefix}/share/xcat/ca/*
@ -217,7 +225,6 @@ rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/aixinstall.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/slpdiscover.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/remoteimmsetup.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/IMMUtils.pm
#rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT/RShellAPI.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/bmcconfig.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/bpa.pm
rm $RPM_BUILD_ROOT/%{prefix}/lib/perl/xCAT_plugin/esx.pm
@ -313,9 +320,14 @@ cp lib/xcat/shfunctions $RPM_BUILD_ROOT/%{prefix}/lib
chmod 644 $RPM_BUILD_ROOT/%{prefix}/lib/shfunctions
%if %fsm
%else
%if %{initscripttype} == "systemd"
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/system
cp usr/lib/systemd/system/xcatd.service $RPM_BUILD_ROOT/usr/lib/systemd/system
%else
mkdir -p $RPM_BUILD_ROOT/etc/init.d
cp etc/init.d/xcatd $RPM_BUILD_ROOT/etc/init.d
%endif
%endif
#TODO: the next has to me moved to postscript, to detect /etc/xcat vs /etc/opt/xcat
mkdir -p $RPM_BUILD_ROOT/etc/xcat
@ -369,7 +381,11 @@ rm -rf $RPM_BUILD_ROOT
/etc/xcat
%if %fsm
%else
%if %{initscripttype} == "systemd"
/usr/lib/systemd/system/xcatd.service
%else
/etc/init.d/xcatd
%endif
#/etc/xcat/conf.orig/xcat-ws.conf.apache24
#/etc/xcat/conf.orig/xcat-ws.conf.apache22
/etc/apache2/conf.d/xcat-ws.conf
@ -377,6 +393,9 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Thu Jun 11 2015 - Arif Ali <aali@ocf.co.uk>
- Add systemd support
* Fri Nov 20 2007 - Jarrod Johnson <jbjohnso@us.ibm.com>
- Changes for relocatible rpm.
@ -410,6 +429,9 @@ if [ "$1" = "1" ]; then #Only if installing for the first time..
/usr/lib/lsb/install_initd /etc/init.d/xcatd
elif [ -x /sbin/chkconfig ]; then
/sbin/chkconfig --add xcatd
elif [ -x /usr/bin/systemctl ]; then
/usr/bin/systemctl daemon-reload
/usr/bin/systemctl enable xcatd
else
echo "Unable to register init scripts on this system"
fi
@ -453,16 +475,27 @@ exit 0
%preun
%ifos linux
if [ $1 == 0 ]; then #This means only on -e
if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image
/etc/init.d/xcatd stop
fi
if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image
/etc/init.d/xcatd stop
fi
if [ -x /usr/lib/lsb/remove_initd ]; then
/usr/lib/lsb/remove_initd /etc/init.d/xcatd
/usr/lib/lsb/remove_initd /etc/init.d/xcatd
elif [ -x /sbin/chkconfig ]; then
/sbin/chkconfig --del xcatd
elif [ -x /usr/bin/systemctl ]; then
/usr/bin/systemctl daemon-reload
/usr/bin/systemctl disable xcatd
fi
rm -f /usr/sbin/xcatd #remove the symbolic
fi
%endif
%postun
%ifos linux
if [ $1 == 0 ]; then #This means only on -e
if [ -x /usr/bin/systemctl ]; then
/usr/bin/systemctl daemon-reload
fi
fi