[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

Keng-Yü Lin kengyu at canonical.com
Mon Feb 13 09:08:41 UTC 2012


On Sat, Feb 11, 2012 at 5:19 AM, Chris Van Hoof <vanhoof at canonical.com> wrote:
> On 02/09/2012 06:36 AM, Colin Ian King wrote:
>>
>> 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.
>
>
> acks? :D

Acked-by: Keng-Yu Lin <kengyu at canonical.com>




More information about the fwts-devel mailing list