fwts-frontend: update to conditional logic to better detect if we're booted via casper and additional logic to toggle auto shutdown behaviour when testing

Submitted by Chris Van Hoof on Jan. 26, 2012, 8:06 p.m.

Details

Message ID 1327608411-722-1-git-send-email-vanhoof@canonical.com
State Rejected
Headers show

Commit Message

Chris Van Hoof Jan. 26, 2012, 8:06 p.m.
Signed-off-by: Chris Van Hoof <vanhoof@canonical.com>
---
 live-image/fwts-frontend-text |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

Comments

Colin King Jan. 27, 2012, 9:44 a.m.
On 26/01/12 20:06, Chris Van Hoof wrote:
> Signed-off-by: Chris Van Hoof<vanhoof@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..02b01f7 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 [ `id -u` -ne 0 ]; then
> +	echo "`basename $0`: must be executed with sudo"
> +	exit 1
> +fi

/me being picky but how about using?

if [ $EUID -ne 0 ]; then
...

> +
> +#
>   # 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
> +	fi
>   fi
>
>   do_help()

Otherwise, it looks good.

Colin
Chris Van Hoof Jan. 27, 2012, 3:34 p.m.
On 01/27/2012 04:44 AM, Colin Ian King wrote:
> 
> 
> On 26/01/12 20:06, Chris Van Hoof wrote:
>> Signed-off-by: Chris Van Hoof<vanhoof@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..02b01f7 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 [ `id -u` -ne 0 ]; then
>> +    echo "`basename $0`: must be executed with sudo"
>> +    exit 1
>> +fi
> 
> /me being picky but how about using?
> 
> if [ $EUID -ne 0 ]; then
> ...

Completely reasonable -- Sent over v2 for review

>> +
>> +#
>>   # 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
>> +    fi
>>   fi
>>
>>   do_help()
> 
> Otherwise, it looks good.
> 
> Colin
>

Patch hide | download patch | download mbox

diff --git a/live-image/fwts-frontend-text b/live-image/fwts-frontend-text
index dbf6635..02b01f7 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 [ `id -u` -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
+	fi
 fi
 
 do_help()