Prev: sata_via: Correctly setup PIO/DMA for pata slave on vt6421.
Next: [cleanup][PATCH] Kill anon local variable from migrate_page_copy
From: Américo Wang on 19 Jan 2010 22:30 On Wed, Jan 20, 2010 at 2:29 AM, Glenn Sommer <glemsom(a)gmail.com> wrote: > With reference to: http://bugzilla.kernel.org/show_bug.cgi?id=14920 > I'll post my suggestion here. > > Currently scripts/mkcompile_h checks for "/bin/dnsdomainname" and > "/bin/domainname" when trying to find the DNS name. > Though, when running the executable - the full path isn't used! > > IMO if we check for "/bin/dnsdomainname", we should also use > "/bin/dnsdomainname" - and not blindly trust /bin is the first directory in > $PATH which contains a executable named "dnsdomainname" > > > I propose to use the full path, that we know is valid. Here's my proposed patch: > > > --- scripts/mkcompile_h.orig 2009-12-28 23:02:34.000000000 +0100 > +++ scripts/mkcompile_h 2009-12-28 23:03:12.000000000 +0100 > @@ -66,9 +66,9 @@ > echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" > > if [ -x /bin/dnsdomainname ]; then > - echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" > + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/dnsdomainname | $UTS_TRUNCATE`\" > elif [ -x /bin/domainname ]; then > - echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" > + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/domainname | $UTS_TRUNCATE`\" > else > echo \#define LINUX_COMPILE_DOMAIN > fi > > > Signed-off-by: Glenn Sommer <glemsom(a)gmail.com> Makes sense, but is that possible we have 'domainname' installed in two different directories? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Glenn Sommer on 20 Jan 2010 10:10 2010/1/20 Américo Wang <xiyou.wangcong(a)gmail.com>: > On Wed, Jan 20, 2010 at 2:29 AM, Glenn Sommer <glemsom(a)gmail.com> wrote: >> With reference to: http://bugzilla.kernel.org/show_bug.cgi?id=14920 >> I'll post my suggestion here. >> >> Currently scripts/mkcompile_h checks for "/bin/dnsdomainname" and >> "/bin/domainname" when trying to find the DNS name. >> Though, when running the executable - the full path isn't used! >> >> IMO if we check for "/bin/dnsdomainname", we should also use >> "/bin/dnsdomainname" - and not blindly trust /bin is the first directory in >> $PATH which contains a executable named "dnsdomainname" >> >> >> I propose to use the full path, that we know is valid. Here's my proposed patch: >> >> >> --- scripts/mkcompile_h.orig 2009-12-28 23:02:34.000000000 +0100 >> +++ scripts/mkcompile_h 2009-12-28 23:03:12.000000000 +0100 >> @@ -66,9 +66,9 @@ >> echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" >> >> if [ -x /bin/dnsdomainname ]; then >> - echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" >> + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/dnsdomainname | $UTS_TRUNCATE`\" >> elif [ -x /bin/domainname ]; then >> - echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" >> + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/domainname | $UTS_TRUNCATE`\" >> else >> echo \#define LINUX_COMPILE_DOMAIN >> fi >> >> >> Signed-off-by: Glenn Sommer <glemsom(a)gmail.com> > > Makes sense, but is that possible we have 'domainname' installed in two > different directories? > Usually "domainname" should be installed in /bin. I'm just thinking if one does something like this: * Place shellscript named "domainname" in /home/stupiduser/scripts (This shellscript should output some text... Let's say "my-stupid-shell-script") * Set PATH=/home/stupiduser/scripts:$PATH * Compile Linux kernel Doing the above will result in scripts/mkcompile_h testing for /bin/domainname, but actually using /home/stupiduser/scripts/domainname - which is this case will output something wrong. One could argue it's your own fault then - and I agree! Doing the above is stupid! Anyway, if we test for the executable using a complete path - we should also use that complete path when running the executable! 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Américo Wang on 25 Jan 2010 23:00 On Wed, Jan 20, 2010 at 11:06 PM, Glenn Sommer <glemsom(a)gmail.com> wrote: > 2010/1/20 Américo Wang <xiyou.wangcong(a)gmail.com>: >> On Wed, Jan 20, 2010 at 2:29 AM, Glenn Sommer <glemsom(a)gmail.com> wrote: >>> With reference to: http://bugzilla.kernel.org/show_bug.cgi?id=14920 >>> I'll post my suggestion here. >>> >>> Currently scripts/mkcompile_h checks for "/bin/dnsdomainname" and >>> "/bin/domainname" when trying to find the DNS name. >>> Though, when running the executable - the full path isn't used! >>> >>> IMO if we check for "/bin/dnsdomainname", we should also use >>> "/bin/dnsdomainname" - and not blindly trust /bin is the first directory in >>> $PATH which contains a executable named "dnsdomainname" >>> >>> >>> I propose to use the full path, that we know is valid. Here's my proposed patch: >>> >>> >>> --- scripts/mkcompile_h.orig 2009-12-28 23:02:34.000000000 +0100 >>> +++ scripts/mkcompile_h 2009-12-28 23:03:12.000000000 +0100 >>> @@ -66,9 +66,9 @@ >>> echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" >>> >>> if [ -x /bin/dnsdomainname ]; then >>> - echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" >>> + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/dnsdomainname | $UTS_TRUNCATE`\" >>> elif [ -x /bin/domainname ]; then >>> - echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" >>> + echo \#define LINUX_COMPILE_DOMAIN \"`/bin/domainname | $UTS_TRUNCATE`\" >>> else >>> echo \#define LINUX_COMPILE_DOMAIN >>> fi >>> >>> >>> Signed-off-by: Glenn Sommer <glemsom(a)gmail.com> >> >> Makes sense, but is that possible we have 'domainname' installed in two >> different directories? >> > > Usually "domainname" should be installed in /bin. > I'm just thinking if one does something like this: > > * Place shellscript named "domainname" in /home/stupiduser/scripts > (This shellscript should output some text... Let's say > "my-stupid-shell-script") > * Set PATH=/home/stupiduser/scripts:$PATH > * Compile Linux kernel > > Doing the above will result in scripts/mkcompile_h testing for > /bin/domainname, but actually using > /home/stupiduser/scripts/domainname - which is this case will output > something wrong. > One could argue it's your own fault then - and I agree! Doing the > above is stupid! > > Anyway, if we test for the executable using a complete path - we > should also use that complete path when running the executable! > > > 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 > Yeah, this seems better for me. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Glenn Sommer on 26 Jan 2010 14:20 2010/1/26 Michal Marek <mmarek(a)suse.cz>: > On 26.1.2010 04:55, Américo Wang wrote: >> On Wed, Jan 20, 2010 at 11:06 PM, Glenn Sommer <glemsom(a)gmail.com> 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 Signed-off-by: Glenn Sommer <glemsom(a)gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Américo Wang on 26 Jan 2010 21:50
On Wed, Jan 27, 2010 at 3:10 AM, Glenn Sommer <glemsom(a)gmail.com> wrote: > 2010/1/26 Michal Marek <mmarek(a)suse.cz>: >> On 26.1.2010 04:55, Américo Wang wrote: >>> On Wed, Jan 20, 2010 at 11:06 PM, Glenn Sommer <glemsom(a)gmail.com> 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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |