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