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 = \
'|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 = \
%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
--- /dev/null
+#!/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."