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>