From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754189Ab0A0NP1 (ORCPT ); Wed, 27 Jan 2010 08:15:27 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754088Ab0A0NP1 (ORCPT ); Wed, 27 Jan 2010 08:15:27 -0500 Received: from cantor2.suse.de ([195.135.220.15]:60383 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754026Ab0A0NP0 (ORCPT ); Wed, 27 Jan 2010 08:15:26 -0500 Message-ID: <4B603C6C.8060008@suse.cz> Date: Wed, 27 Jan 2010 14:15:24 +0100 From: Michal Marek User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091130 SUSE/3.0.0-1.2 Thunderbird/3.0 MIME-Version: 1.0 To: Glenn Sommer Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH] Use full path to dnsdomainname and domainname in scripts/mkcompile_h References: <2375c9f91001191926hc80dc50mb264f757295c1337@mail.gmail.com> <2375c9f91001251955s1dfc70f9p94054b7824a4c4b7@mail.gmail.com> <4B5F0452.1080306@suse.cz> <2375c9f91001261844q474b05a2k6d96237fc925b706@mail.gmail.com> <20100127085239.GA27660@sepie.suse.cz> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27.1.2010 11:14, Glenn Sommer wrote: > 2010/1/27 Michal Marek : >> 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 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: > > > Ohh, I didn't know that! We DO need to be compatible with busybox! :/ > > >> >> 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 >> Signed-off-by: Michal Marek >> --- >> 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 >> >> > > I tested above patch, and it seems to work fine. Thanks! I added a Tested-by: Glenn Sommer line to the patch and pushed to the kbuild tree. > Though, by looking a bit closer at the source - I found we actually > NEVER need to use 2> /dev/null. The redirecion was added by commit 9c3049c02c6142e166c9472237f1f60d86153682 Author: Felipe Contreras Date: Thu Sep 17 00:38:39 2009 +0300 kbuild: fix warning when domainname is not available and it suits me well because it hides the potential "command not found message" :). Michal