Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Oct 2016 16:45:21 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        Warner Losh <imp@freebsd.org>, src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r307469 - head/etc
Message-ID:  <CANCZdfoWHcWAc-=9ZuxVFK73BHpvth2Rmuzc8etO=s3A_F1QMQ@mail.gmail.com>
In-Reply-To: <20161019202656.GA58917@stack.nl>
References:  <201610170407.u9H47D5n033011@repo.freebsd.org> <20161019202656.GA58917@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
What missing quotes? It seemed to work find on the system I brought up...

I didn't do the case statement because it would be three extra big
useless syntactical boogers in the code :)

I do like the idea of using checkyesno.

Warner

On Wed, Oct 19, 2016 at 2:26 PM, Jilles Tjoelker <jilles@stack.nl> wrote:
> On Mon, Oct 17, 2016 at 04:07:13AM +0000, Warner Losh wrote:
>> Author: imp
>> Date: Mon Oct 17 04:07:13 2016
>> New Revision: 307469
>> URL: https://svnweb.freebsd.org/changeset/base/307469
>
>> Log:
>>   Allow root_rw_mount to be both lower and upper case. Before, if it was
>>   upper case, you'd wind up with a read-only filesystem when you should
>>   sometimes.
>
>>   PR: 213549
>
>> Modified:
>>   head/etc/rc
>
>> Modified: head/etc/rc
>> ==============================================================================
>> --- head/etc/rc       Mon Oct 17 04:07:12 2016        (r307468)
>> +++ head/etc/rc       Mon Oct 17 04:07:13 2016        (r307469)
>> @@ -135,16 +135,16 @@ done
>>  # Note: this assumes firstboot_sentinel is on / when we have
>>  # a read-only /, or that it is on media that's writable.
>>  if [ -e ${firstboot_sentinel} ]; then
>> -     [ ${root_rw_mount} = "yes" ] || mount -uw /
>> +     [ ${root_rw_mount#[Yy][Ee][Ss]} = "" ] || mount -uw /
>>       chflags -R 0 ${firstboot_sentinel}
>>       rm -rf ${firstboot_sentinel}
>>       if [ -e ${firstboot_sentinel}-reboot ]; then
>>               chflags -R 0 ${firstboot_sentinel}-reboot
>>               rm -rf ${firstboot_sentinel}-reboot
>> -             [ ${root_rw_mount} = "yes" ] || mount -ur /
>> +             [ ${root_rw_mount#[Yy][Ee][Ss]} = "" ] || mount -ur /
>>               kill -INT 1
>>       fi
>> -     [ ${root_rw_mount} = "yes" ] || mount -ur /
>> +     [ ${root_rw_mount#[Yy][Ee][Ss]} = "" ] || mount -ur /
>>  fi
>>
>>  echo ''
>
> Although I have not tested this, it looks like this will always do the
> remounts since the condition is either false or invalid due to missing
> quotes.
>
> Perhaps we can use the checkyesno function from rc.subr or use the same
> check that rc.d/root uses (case statement where [Nn][Oo] and the empty
> string are no and the rest is yes).
>
> --
> Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoWHcWAc-=9ZuxVFK73BHpvth2Rmuzc8etO=s3A_F1QMQ>