Re: [PATCH] Use full path to dnsdomainname and domainname in scripts/mkcompile_h

From: AmÃrico Wang
Date: Tue Jan 26 2010 - 21:44:35 EST


On Wed, Jan 27, 2010 at 3:10 AM, Glenn Sommer <glemsom@xxxxxxxxx> wrote:
> 2010/1/26 Michal Marek <mmarek@xxxxxxx>:
>> On 26.1.2010 04:55, AmÃrico Wang wrote:
>>> On Wed, Jan 20, 2010 at 11:06 PM, Glenn Sommer <glemsom@xxxxxxxxx> wrote:
>>>> Alternatively, if we want it to be more flexible(and allow the above)
>>>> - we should do something like:
>>>>
>>>> domainname_executable=`which domainname`
>>>> if [ ! -z "$domainname_executable" ] && [ -x "$domainname_executable" ]; then
>>>>
>>
>> (or 'if command -v domainname >/dev/null 2>&1; then domainname ...')
>>
>>
>>> Yeah, this seems better for me.
>>
>> Me too. Glenn, could you send a complete patch doing this? I'll add it
>> to the kbuild tree then.
>>
>> Thanks,
>> Michal
>>
>
> Yeah, good idea with "command -v" ! :)
> ( note: `command -v` will return true if the executable is found -
> else it will return false. )
>
> mkcompile_h is changed slightly in 2.6.32. Here's my new proposed patch:
>
>
> --- 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'.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/