# Install initscript
echo "* Installing plc initscript"
install -D -m 755 plc.init ${RPM_BUILD_ROOT}/etc/init.d/plc
+install -D -m 644 plc.service ${RPM_BUILD_ROOT}/lib/systemd/system/plc.service
# Install initscripts
echo "* Installing plc.d initscripts"
/usr/bin/plc-orphan-accounts.py*
/usr/bin/spot-aliens.py*
/usr/bin/spot-dup-accounts.sh
+/lib/systemd/system/plc.service
%files config
%defattr(-,root,root,-)
fi
}
+# Regenerate configuration files
+reload ()
+{
+ force=$1
+
+ # Regenerate the main configuration file from default values
+ # overlaid with site-specific and current values.
+ # Thierry -- 2007-07-05 : values in plc_config.xml are *not* taken into account here
+ files=(
+ /etc/planetlab/default_config.xml
+ /etc/planetlab/configs/site.xml
+ )
+
+ for file in "${files[@]}" ; do
+ if [ -n "$force" -o $file -nt /etc/planetlab/plc_config.xml ] ; then
+ tmp=$(mktemp /tmp/plc_config.xml.XXXXXX)
+ plc-config --xml "${files[@]}" >$tmp
+ if [ $? -eq 0 ] ; then
+ mv $tmp /etc/planetlab/plc_config.xml
+ chmod 444 /etc/planetlab/plc_config.xml
+ else
+ echo "PLC: Warning: Invalid configuration file(s) detected"
+ rm -f $tmp
+ fi
+ break
+ fi
+ done
+
+ # Convert configuration to various formats
+ if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/plc_config ] ; then
+ plc-config --shell >/etc/planetlab/plc_config
+ fi
+ if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/plc_config.py ] ; then
+ plc-config --python >/etc/planetlab/plc_config.py
+ fi
+ if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/php/plc_config.php ] ; then
+ mkdir -p /etc/planetlab/php
+ plc-config --php >/etc/planetlab/php/plc_config.php
+ fi
+}
+
# Make copies of stdout and stderr. The plc initscript redirects
# stdout and stderr to a logfile if -v is not specified.
[ ! -e /proc/self/fd/3 ] && exec 3>&1
))
nsteps=${#steps[@]}
-# Regenerate configuration files
-reload ()
-{
- force=$1
-
- # Regenerate the main configuration file from default values
- # overlaid with site-specific and current values.
- # Thierry -- 2007-07-05 : values in plc_config.xml are *not* taken into account here
- files=(
- /etc/planetlab/default_config.xml
- /etc/planetlab/configs/site.xml
- )
- for file in "${files[@]}" ; do
- if [ -n "$force" -o $file -nt /etc/planetlab/plc_config.xml ] ; then
- tmp=$(mktemp /tmp/plc_config.xml.XXXXXX)
- plc-config --xml "${files[@]}" >$tmp
- if [ $? -eq 0 ] ; then
- mv $tmp /etc/planetlab/plc_config.xml
- chmod 444 /etc/planetlab/plc_config.xml
- else
- echo "PLC: Warning: Invalid configuration file(s) detected"
- rm -f $tmp
- fi
- break
- fi
- done
-
- # Convert configuration to various formats
- if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/plc_config ] ; then
- plc-config --shell >/etc/planetlab/plc_config
- fi
- if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/plc_config.py ] ; then
- plc-config --python >/etc/planetlab/plc_config.py
- fi
- if [ -n "$force" -o /etc/planetlab/plc_config.xml -nt /etc/planetlab/php/plc_config.php ] ; then
- mkdir -p /etc/planetlab/php
- plc-config --php >/etc/planetlab/php/plc_config.php
- fi
-}
-
usage()
{
echo "Usage: $0 [OPTION]... [COMMAND] [STEP]..."
--- /dev/null
+[Unit]
+Description=PLC Service
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/etc/init.d/plc start
+ExecStop=/etc/init.d/plc stop
+ExecReload=/etc/init.d/plc reload
+
+[Install]
+WantedBy=multi-user.target