[OE-core] [PATCH 3/3] base-files: profile: Simplify setting variables conditionally

Peter Kjellerstedt peter.kjellerstedt at axis.com
Tue Apr 4 07:50:06 UTC 2017


> -----Original Message-----
> From: Leonardo Sandoval
> [mailto:leonardo.sandoval.gonzalez at linux.intel.com]
> Sent: den 3 april 2017 17:45
> To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> Cc: openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 3/3] base-files: profile: Simplify
> setting variables conditionally
> 
> On Mon, 2017-04-03 at 14:48 +0200, Peter Kjellerstedt wrote:
> > It is preferred to use `[ "$FOO" ] || ...` instead of
> > `[ -z "$FOO" ] && ...` as the latter leaves $? set to 1.
> >
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> > ---
> >  meta/recipes-core/base-files/base-files/profile | 14 ++++++--------
> >  1 file changed, 6 insertions(+), 8 deletions(-)
> >
> > diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile
> > index ceaf15f799..a062028226 100644
> > --- a/meta/recipes-core/base-files/base-files/profile
> > +++ b/meta/recipes-core/base-files/base-files/profile
> > @@ -3,15 +3,13 @@
> >
> >  PATH="/usr/local/bin:/usr/bin:/bin"
> >  EDITOR="vi"			# needed for packages like cron, git-commit
> > -test -z "$TERM" && TERM="vt100"	# Basic terminal capab. For screen etc.
> > +[ "$TERM" ] || TERM="vt100"	# Basic terminal capab. For screen etc.
> >
> > -if [ "$HOME" = "ROOTHOME" ]; then
> > -	PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
> > -fi
> > -if [ "$PS1" ]; then
> > -	# works for bash and ash (no other shells known to be in use here)
> > -	PS1='\u@\h:\w\$ '
> > -fi
> > +# Add /sbin & co to $PATH for the root user
> > +[ "$HOME" != "ROOTHOME" ] || PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
> > +
> > +# Set the prompt for bash and ash (no other shells known to be in use here)
> > +[ -z "$PS1" ] || PS1='\u@\h:\w\$ '
> 
> Here you are using [ -z ] instead of [ ], is this intended? I do not
> think so based on your commit message.

Yes, it is intentional to maintain the original functionality. 
However, I may have to update the commit message a bit. It was 
written when I had only done the change for the $TERM variable.

> >
> >  if [ -d /etc/profile.d ]; then
> >  	for i in /etc/profile.d/*.sh; do
> > --
> > 2.12.0

//Peter



More information about the Openembedded-core mailing list