[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