Add script for setting recovery action in configuration file 48/155548/8 accepted/tizen/unified/20171019.145721 submit/tizen/20171019.053213
authorPaweł Szewczyk <p.szewczyk@samsung.com>
Fri, 13 Oct 2017 12:25:22 +0000 (14:25 +0200)
committerPaweł Szewczyk <p.szewczyk@samsung.com>
Mon, 16 Oct 2017 13:43:02 +0000 (15:43 +0200)
Change-Id: Iaabe92b731d39af19252e20b351f2293009091bf
Signed-off-by: Paweł Szewczyk <p.szewczyk@samsung.com>
Makefile.am
packaging/initrd-recovery.spec
src/system-recovery/recovery-action-set.in [new file with mode: 0755]

index 086a7e7..945538d 100644 (file)
@@ -170,18 +170,23 @@ system_recovery_data_DATA = \
 system_recovery_libexec_SCRIPTS = \
        src/system-recovery/recovery-init
 
+sbin_SCRIPTS = \
+       src/system-recovery/recovery-action-set
+
 initrd_recovery_install_dropin_DATA += \
        src/system-recovery/50-system-recovery.list
 
 EXTRA_DIST += \
        src/system-recovery/50-system-recovery.list.m4 \
        src/system-recovery/recovery-init.in \
+       src/system-recovery/recovery-action-set.in \
        src/system-recovery/system-recovery.cfg.m4.in
 
 CLEANFILES += \
        src/system-recovery/50-system-recovery.list \
        src/system-recovery/recovery-init \
-       src/system-recovery/system-recovery.cfg.m4
+       src/system-recovery/system-recovery.cfg.m4 \
+       src/system-recovery/recovery-action-set
 
 # ------------------------------------------------------------------------------
 substitutions = \
@@ -196,6 +201,7 @@ substitutions = \
        '|SYSTEM_RECOVERY_IMAGE_DIR=$(SYSTEM_RECOVERY_IMAGE_DIR)|' \
        '|SYSTEM_RECOVERY_LIBEXEC_DIR=$(SYSTEM_RECOVERY_LIBEXEC_DIR)|' \
        '|SYSTEM_RECOVERY_DATA_DIR=$(SYSTEM_RECOVERY_DATA_DIR)|' \
+       '|SYSTEM_RECOVERY_ACTION_FILE=$(SYSTEM_RECOVERY_ACTION_FILE)|' \
        '|RECOVERY_GUI=$(RECOVERY_GUI)|'
 
 SED_PROCESS = \
index 01636ec..698db14 100644 (file)
@@ -139,6 +139,7 @@ ln -s ../mnt-inform.mount %{buildroot}%{_unitdir}/local-fs.target.wants
 %manifest initrd-recovery.manifest
 %{_datadir}/system-recovery/system-recovery.cfg
 %{_libexecdir}/system-recovery/recovery-init
+%{_sbindir}/recovery-action-set
 
 %files -n system-recovery-non_gui
 %{_datadir}/initrd-recovery/initrd.list.d/50-system-recovery-non_gui.list
diff --git a/src/system-recovery/recovery-action-set.in b/src/system-recovery/recovery-action-set.in
new file mode 100755 (executable)
index 0000000..a6ddf8c
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+CONFIG_FILE="@SYSTEM_RECOVERY_DATA_DIR@/system-recovery.cfg"
+ACTION_FILE="@SYSTEM_RECOVERY_ACTION_FILE@"
+
+actions=`cat $CONFIG_FILE | sed -ne '/^action_handlers[[:space:]]*=[[:space:]]*{/,/}/ p' | sed -ne 's/[[:space:]]*\(.*\)[[:space:]]*=[[:space:]]*\".*/\1/ p'`
+
+for a in ${actions}
+do
+       if [ "$a" = "${1}" ]
+       then
+               echo "${1}" > $ACTION_FILE
+               echo "Action changed to ${1}"
+               exit
+       fi
+done
+
+echo "Action ${1} is not specified in configuration."