On Sun, 2006-06-11 at 17:12 -0400, Paul W. Frields wrote:
Tommy,
I think I have a problem nailed down and was hoping you could confirm my
results. If I do a 'make distclean' on a module and then 'make
html-${LANG}' where $LANG is one of the $OTHERS, usually the build fails
because of a missing entity. This happens, I believe, because the
translation runs against the totally sanitized $PRI_LANG/ version, which
does not include fully built $PRI_LANG/fdp-entities.ent and
$PRI_LANG/${DOC_ENTITIES}.ent files. The local $LANG/*.ent files do get
built, but since the $PRI_LANG/*.xml files are parsed before translation
and the $PRI_LANG/*.ent files don't exist, there are no calls to them in
the internal subset of the translated $LANG/*.xml files.
In case I have been very confus{ing,ed} above, here's the example I ran,
using the translation-quick-start-guide module:
$ make distclean html-it # fails to validate, no FCMINVER entity
(Hmm, check it/doc-entities.{xml,ent} and it's there, sho 'nuff...)
(Hmm, read the it/translation-quick-start-guide.xml file... Aha! Note
the end of the internal subset where you would normally see the entities
in doc-entities.ent, and the content is missing.)
So in short, any building of *anything* requires that
${PRI_LANG}/${DOC_ENTITIES}.ent be built, in addition to
${1}/${DOC_ENTITIES}.ent . Would the best way to fix this be to change
this rule:
set-locale-${1}:: ${1}/${FDP_ENTITIES} ${PRI_LANG}/${DOC_ENTITIES}.ent
...? Or am I barking up the wrong rule?
Addendum: It also appears that the set-locale dependency needs to be
moved *before* the XMLFILES-${1} and XMLDEPFILES-${1} dependencies for
everything to work properly, since you have to build
${PRI_LANG}/${DOC_ENTITIES}.ent before translating the documents from
the PO files. I think this is the case for any and all targets
depending on set-locale-${1}.
--
Paul W. Frields, RHCE
http://paul.frields.org/
gpg fingerprint: 3DA6 A0AC 6D58 FEC4 0233 5906 ACDB C937 BD11 3717
Fedora Documentation Project:
http://fedora.redhat.com/projects/docs/