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 <rrakus@redhat.com>
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
if [ "x$bootonce" != "x" ]; then
foundlabel=`sed s/\#.*// $bootconf | grep "label=$bootonce$" | wc -l`
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`
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
echo 1>&2 "$PRG: Could not nvsetenv boot-once $bootonce"
exit 1
fi