[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100127085239.GA27660@sepie.suse.cz>
Date: Wed, 27 Jan 2010 09:52:39 +0100
From: Michal Marek <mmarek@...e.cz>
To: Américo Wang <xiyou.wangcong@...il.com>
Cc: Glenn Sommer <glemsom@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Use full path to dnsdomainname and domainname in
scripts/mkcompile_h
On Wed, Jan 27, 2010 at 10:44:29AM +0800, Américo Wang wrote:
> On Wed, Jan 27, 2010 at 3:10 AM, Glenn Sommer <glemsom@...il.com> wrote:
> > --- scripts/mkcompile_h.orig 2010-01-26 18:59:37.000000000 +0100
> > +++ scripts/mkcompile_h 2010-01-26 20:03:42.000000000 +0100
> > @@ -67,9 +67,9 @@
> > echo \#define LINUX_COMPILE_BY \"`whoami`\"
> > echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
> >
> > - if [ -x /bin/dnsdomainname ]; then
> > + if [ `command -v dnsdomainname 2> /dev/null` ]; then
> > domain=`dnsdomainname 2> /dev/null`
> > - elif [ -x /bin/domainname ]; then
> > + elif [ `command -v domainname 2> /dev/null` ]; then
> > domain=`domainname 2> /dev/null`
> > fi
> >
>
> No, this doesn't look good.
>
> First, you don't need to redirect stderr for 'command'.
>
> Second, 'command' also searches in shell built-in commands, aliases,
> so I prefer 'whereis -b'.
Well, 'command -v domainname' returns success iff 'domainname' can be
executed (be it an external command, builtin, function, whatever), which
is exactly what we do on the next line. But, there is no need to capture
the output of 'command -v domainname' and pass it to [ ... ], just test
the return code.
... crap, now I learned that busybox doesn't support 'command' :-(
So what about simply trying 'dnsdomainname' and falling back to
domainname if it fails? Like this:
Subject: [PATCH] scripts/mkcompile_h: don't test for hardcoded paths
Don't test for /bin/{dnsdomainname,domainname}, simply try to execute
the command and check if it returned something.
Reported-by: Glenn Sommer <glemsom@...il.com>
Signed-off-by: Michal Marek <mmarek@...e.cz>
---
scripts/mkcompile_h | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index 23dbad8..50ad317 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -67,9 +67,8 @@ UTS_TRUNCATE="cut -b -$UTS_LEN"
echo \#define LINUX_COMPILE_BY \"`whoami`\"
echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
- if [ -x /bin/dnsdomainname ]; then
- domain=`dnsdomainname 2> /dev/null`
- elif [ -x /bin/domainname ]; then
+ domain=`dnsdomainname 2> /dev/null`
+ if [ -z "$domain" ]; then
domain=`domainname 2> /dev/null`
fi
--
1.6.5.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists