[PATCH] fwts-frontend: v2 update to conditional logic to better detect if we're booted via casper and additional logic to toggle auto shutdown behaviour when testing
Colin Ian King
colin.king at canonical.com
Thu Feb 9 11:36:05 UTC 2012
On 30/01/12 15:10, Chris Van Hoof wrote:
> On 01/30/2012 04:49 AM, Keng-Yü Lin wrote:
>> On Fri, Jan 27, 2012 at 11:31 PM, Chris Van Hoof<vanhoof at canonical.com> wrote:
>>> * v2 use $EUID vs id to check for uid.
>>>
>>> Signed-off-by: Chris Van Hoof<vanhoof at canonical.com>
>>> ---
>>> live-image/fwts-frontend-text | 19 ++++++++++++++++---
>>> 1 files changed, 16 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/live-image/fwts-frontend-text b/live-image/fwts-frontend-text
>>> index dbf6635..fabdfb2 100755
>>> --- a/live-image/fwts-frontend-text
>>> +++ b/live-image/fwts-frontend-text
>>> @@ -25,12 +25,21 @@ FWTS_DATE=`date +%d%m%Y`
>>> FWTS_TIME=`date +%H%M`
>>>
>>> #
>>> +# Check if executed as root or with sudo
>>> +#
>>> +if [ $EUID -ne 0 ]; then
>>> + echo "`basename $0`: must be executed with sudo"
>>> + exit 1
>>> +fi
>>> +
>>> +#
>>> # for debugging, use:
>>> # - WORK_DIR=./fwts/$FWTS_DATE/$FWTS_TIME
>>> # if booting in fwts-live
>>> # - change FWTS_AUTO_SHUTDOWN= to alter default shutdown after testing completion
>>> #
>>> WORK_DIR=/fwts/$FWTS_DATE/$FWTS_TIME
>>> +FWTS_AUTO_SHUTDOWN="$1"
>>> SHUTDOWN_AT_END=1
>>>
>>> #
>>> @@ -42,10 +51,14 @@ if [ `grep -qs boot=casper /proc/cmdline; echo $?` -eq 0 ]; then
>>> fi
>>>
>>> #
>>> -# check /proc/cmdline for FWTS_AUTO_SHUTDOWN to toggle auto shutdown
>>> +# check /proc/cmdline and argv[1] for FWTS_AUTO_SHUTDOWN to toggle auto shutdown
>>> #
>>> -if [ `grep -qs FWTS_AUTO_SHUTDOWN=1 /proc/cmdline; echo $?` -ne 0 -a $CASPER_DETECTED -eq 1 ]; then
>>> - SHUTDOWN_AT_END=0
>>> +if [ `grep -qs FWTS_AUTO_SHUTDOWN=1 /proc/cmdline; echo $?` -ne 0 ]; then
>>> + if [ -n "${CASPER_DETECTED:+x}" ]; then
>>> + SHUTDOWN_AT_END=0
>>> + elif [ -n "${FWTS_AUTO_SHUTDOWN:+x}" ]; then
>>> + SHUTDOWN_AT_END=0
>>
>> Hope I understand this correctly: this means when executing
>> fwts-frontend-text plus anything in argv[1] it does not shut down the
>> machine in the end.
>
> Correct argv[1] is just a flag to toggle SHUTDOWN_AT_END when testing
> the script, without having to edit it.
>
>> But what is this used for if we can change the auto-shutdown behaviour
>> with FWTS_AUTO_SHUTDOWN in cmdline?
>
> FWTS_AUTO_SHUTDOWN= is used at boot in fwts-live to toggle the same
> behaviour since /usr/bin/fwts-frontend-text is read-only in a casper
> only boot environment, and the script is automatically executed upon
> boot, so you have no time to pass argv[1] before it executes.
>
>> From the source-level, when $FWTS_AUTO_SHUTDOWN has a value,
>> SHUTDOWN_AT_END=0. Shall it be named by FWTS_NO_AUTO_SHUTDOWN instead?
>
> I'm happy with how things are named now, but if you think
> FWTS_NO_AUTO_SHUTDOWN is a more clean approach, I'm happy to go that route.
I've no opinion either way. I'm happy enough as it stands.
Colin
>
> --chris
>
>
>
More information about the fwts-devel
mailing list