Hi,
today I have been preparing an update to perl-Math-Pari and came across a very strange build failure whilst doing a local mock build on a Fedora 13 x86_64 host. My package built successfully on x86_64 but when I tried to build for i386, the build failed during %setup but without any diagnostics. The SRPM was installed but no attempt to install its build requirements was made. The root.log showed an exit status of 0 for all commands that had been run.
After much experimentation bisecting the changes I had made, I discovered that a typo in the changelog entry was the culprit: I had set the year to 2100 instead of 2010. So it would appear that somewhere in the mock/yum/rpm stack there may be a year 2038 problem waiting to bite us (though I suspect there may not be too many 32-bit builds happening by then).
Seriously though, it would be nice to have better diagnostics for this and perhaps an rpmlint check for changelog entries in the future?
Paul.
On Friday 09 July 2010, Paul Howarth wrote:
After much experimentation bisecting the changes I had made, I discovered that a typo in the changelog entry was the culprit: I had set the year to 2100 instead of 2010. So it would appear that somewhere in the mock/yum/rpm stack there may be a year 2038 problem waiting to bite us (though I suspect there may not be too many 32-bit builds happening by then).
rpm(build?) 4.8.1 on my F-13 x86_64 box seems to overflow >= 2107 or something changelog timestamps so that they end up back in time starting from 1970.
Seriously though, it would be nice to have better diagnostics for this and perhaps an rpmlint check for changelog entries in the future?
Done in rpmlint upstream, will most likely be in 1.1. http://rpmlint.zarb.org/cgi-bin/trac.cgi/changeset/1827
buildsys@lists.fedoraproject.org