[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

if 'missing makeinfo' then is zero sized

From: Bob Proulx
Subject: if 'missing makeinfo' then is zero sized
Date: Mon, 9 May 2005 00:43:52 -0600
User-agent: Mutt/1.5.9i

It seems that if 'makeinfo' is missing from the system but that the
timestamp of the .texi file is newer than the .info file that the
.info file is removed and replaced with a zero size file.  I tested
this with automake 1.9.5.

I am trying to understand why what is happening is happening.  I was
led down this trail by problems with a Debian package that included a
.diff.gz file that patched both the .texi and the .info files.  Of
course patch does not preserve timestamps.  If patch ran fast then
these files had the same timestamp.  But there is a race and they
might not have the same timestamp.

In at least one case patch left the timestamps different.  That caused
the automake generated texi-to-info rule to run which removed the
target .info file.  The 'missing makeinfo' command ran and finding
makeinfo missing it ran 'touch $file' creating a zero sized file.
This was then packaged up.  Everything appeared successful.  I knew
that 'missing makeinfo' had been called but I also knew that the patch
also patched up the .info file directly so I expected the target file
to be okay regardless.  It was only later when I tried to install the
package that install-info failed because of the zero sized .info file.
Then I needed to peel the layers away until I could find out why.

I can see that both the texi-to-info rule and the missing script are
working together to keep going in this case by creating a zero sized
target info file.  So this is clearly intentional behavior.  But why?
It caused me a lot of work to debug why the package would fail the
installation.  It would have been a lot easier if the build had simply
failed due to a missing makeinfo.  Then I would have known right up
front the problem and fixed it directly.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]