Fedora rawhide rebuild in mock status 2009-07-10 x86_64

Mamoru Tasaka mtasaka at ioa.s.u-tokyo.ac.jp
Thu Jul 16 04:52:08 UTC 2009


Christoph Wickert wrote, at 07/16/2009 07:58 AM +9:00:
> Am Mittwoch, den 15.07.2009, 16:22 -0500 schrieb Matt Domsch:
> 
>> I wonder...  My build systems are running F11 using ext4 file system,
>> while the koji buildsystems will still be using ext3.  It seems like
>> make is getting confused as to whether or not something got created;
>> timestamps may not be getting updated correctly.
> 
> Indeed. Builds fine in my homdir, which is ext3, but when I build it
> inside /usr/src/ it goes into an infinite loop. Weird. Where is the bug,
> or where to file it?
> 
> Regards,
> Christoph

I only tried to rebuild lxappearance-0.2.1-1.fc12 and the infinite loop
on po/ directory can be reproduced on Kevin's 64 bits machine (however
not reproducible on i586 machine).

What is the problem here is that po/Makefile (after po/Makefile is created)
says:
-------------------------------------------------------------
   212  Makefile POTFILES: stamp-it
   213          @if test ! -f $@; then \
   214            rm -f stamp-it; \
   215            $(MAKE) stamp-it; \
   216          fi
   217  
   218  stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
   219          cd $(top_builddir) \
   220            && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
   221                 $(SHELL) ./config.status
-------------------------------------------------------------
So, po/Makefile expects that po/stamp-it exists and po/stamp-it expects
that it is created by config.status, however config.status does not create
po/stamp-it, which will cause occasional infinite loop.

Note that config.status is created by configure. Then configure.in
says:
-------------------------------------------------------------
    29  dnl Add the languages which your application supports here.
    30  ALL_LINGUAS="af ar cs da de es et eu fa fi fr gl hr hu id it ja ko lt ml ms nb nl nn pl ps pt pt_BR ru sk sl sv tr uk ur ur_PK vi zh_CN zh_TW"
    31  AM_GLIB_GNU_GETTEXT
-------------------------------------------------------------
So this configure uses glib's gettext method, however po/ directory
uses "stamp-it" method Makefile.in.in, which is actually based
on /usr/share/intltool/Makefile.in.in in intltool and not 
/usr/share/glib-2.0/gettext/po/Makefile.in.in in glib2-devel.

So po/Makefile.in.in needs fixing, however the easiest workaround is:
--------------------------------------------------------------
%build
%configure
touch -r po/Makefile po/stamp-it
make %{?_smp_mflags}
--------------------------------------------------------------

Regards,
Mamoru




More information about the fedora-devel-list mailing list