Merge branch 'master' of ssh://git.onelab.eu/git/myplc
Thierry Parmentelat [Tue, 27 Mar 2012 11:13:17 +0000 (13:13 +0200)]
myplc.spec
plc.d/functions
plc.init
plc.service [new file with mode: 0644]

index 1c72870..f655b87 100644 (file)
@@ -114,6 +114,7 @@ chmod 755 ${RPM_BUILD_ROOT}/usr/bin/*
 # 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"
@@ -240,6 +241,7 @@ fi
 /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,-)
index e2e128c..5f52e10 100644 (file)
@@ -109,6 +109,47 @@ upper ()
     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
index 999a1ec..c98b0c1 100755 (executable)
--- a/plc.init
+++ b/plc.init
@@ -45,46 +45,6 @@ done | sort -n | cut -d' ' -f2
 ))
 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]..."
diff --git a/plc.service b/plc.service
new file mode 100644 (file)
index 0000000..59f7391
--- /dev/null
@@ -0,0 +1,12 @@
+[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