On Wed, 17 Oct 2007 22:56:39 -0400, Bryan Kadzban <[EMAIL PROTECTED]> wrote:

Thanks for the detailed analysis, Bryan (and also to others who confirmed these 
findings).

> /usr/bin/updatedb: Prints "tempfile failed" if the mktemp call fails.
> (Yes, it has the wrong program name.  Oh well.)

I'll push the trivial patch for this upstream.  Not worth holding back the 
change for though.

> /usr/sbin/grub-install: Checks whether /bin/tempfile is executable
> *first*, then /bin/mktemp, and uses names based on the script's PID if
> neither is executable.  (I think we should patch this anyway: if nothing
> else, to look in /usr/bin as well as /bin.  But preferably to look for
> mktemp first, as well.)

Agreed.  Note, though, that grub-0.9x is no longer being maintained, so 
upstream won't accept whatever patch we come up with.

Taking a quick look at the source[0] for 1.9x to see if it requires a similar 
patch (and therefore if/when we upgrade we'd avoid having the issue bite us 
again), it appears there's a couple of issues:

1. log_file is set to the result of whatever command & parameters are specified 
in "$mklog", but "$mklog" is never set
2. log_file isn't used anyway - in 0.9x it was used to log the output/errors 
resulting from the attempt to create the device map file.  In 1.9x, the 
redirection of such messages has been removed.

So, it looks like Grub2 could use a patch to correctly set log_file by first 
correctly setting mklog to call mktemp and then using log_file when attempting 
to create the device map file.  Or, the code could simply be cleaned up by 
removing the unused log_file variable and the comment immediately preceeding it.

Regards,

Matt

[0] 
http://cvs.savannah.gnu.org/viewvc/grub2/util/i386/pc/grub-install.in?revision=1.16&root=grub&view=markup

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to