From: Will Woods Date: Fri, 14 Nov 2008 04:55:53 +0000 (+0000) Subject: ybin --bootonce doesn't work X-Git-Tag: yaboot-1.3.15-rc~1 X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=commitdiff_plain;h=a7c4b1a66755ef12faa46e3548e6bb4d3aef9bcb;ds=sidebyside ybin --bootonce doesn't work 1) It inverts the logic of a test to see if nvram is available, and 2) It assumes the output of 'nvsetenv VARNAME' will be 'VARNAME=VALUE', rather than just 'VALUE' (as it is when using the "nvram" utility). From bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=471425 The attached patch fixes these problems and makes --bootonce work as expected. Signed-off-by: Roman Rakus Signed-off-by: Tony Breeds --- diff --git a/ybin/ybin b/ybin/ybin index cf58db9..d883622 100755 --- a/ybin/ybin +++ b/ybin/ybin @@ -1659,14 +1659,15 @@ checkconf || exit 1 if [ "x$bootonce" != "x" ]; then foundlabel=`sed s/\#.*// $bootconf | grep "label=$bootonce$" | wc -l` - if [ "$nonvram" = 0 ]; then + if [ "$nonvram" = 1 ]; then echo 1>&2 "$PRG: --bootonce specified, but nvsetenv not available." exit 1 fi if [ "$foundlabel" = 1 ]; then nvsetenv boot-once "$bootonce" foundlabel=`nvsetenv boot-once` - if [ "$foundlabel" != "boot-once=$bootonce" ]; then + if [ "$foundlabel" != "boot-once=$bootonce" -a \ + "$foundlabel" != "$bootonce" ]; then echo 1>&2 "$PRG: Could not nvsetenv boot-once $bootonce" exit 1 fi