On Tue, Jun 8, 2021 at 2:57 PM Luigi Toscano <[email protected]> wrote: > > Heiko Becker ha scritto: > > On Tuesday, 8 June 2021 13:27:08 CEST, Antonio Rojas wrote: > >> kturtle fails to build here: > >> > >> file:///usr/share/kf5/kdoctools/customization/entities/l10n.entities:530: > >> warning: failed to load external entity > >> "file:///usr/share/kf5/kdoctools/customization/sq/lang.entities" > >> %kde.l10n.ents; > >> ^ > >> index.docbook:18: parser error : Entity 'language' not defined > >> <book lang="&language;"> > >> ^ > >> index.docbook:18: element book: validity error : Syntax of value for > >> attribute lang of book is not valid > >> <book lang="&language;"> > >> ^ > >> index.docbook:18: element book: validity error : Value "" for attribute > >> lang > >> of book is not among the enumerated set > >> <book lang="&language;"> > >> ^ > >> index.docbook:103: parser error : Entity 'FDLNotice' not defined > >>> &FDLNotice;</legalnotice> > > > > Hmm, my understanding is that after [1] the newly added languages should be > > added to [2] if they actually have defined entities, which only leaves sq. > > > > As that would mean an implicit requirement on kdoctools >= 5.83 (or even > > 5.84) > > I'll respin kturtle in the next days with the Albanian doc removed, if my > > understanding isn't wrong and nobody has a better idea. It wasn't present > > in < > > 21.04.2, so at least it wouldn't be a regression. > > > > That is correct, thanks Heiko - I wonder if that list should become dynamic (I > remember something advising about not using or relying on glob on files with > cmake, but in this case it may make sense to just use all languages).
file(GLOB...) is only evaluated when cmake itself is run in configure mode (i.e. on `make all` the glob isn't run again unless something else triggers a reconfigure so make implicitly runs cmake again) this can then result in the cache'd data during the build not being in sync with the actual data on disk and thus lead to slightly unexpected results. I'm not exactly sure that is a problem here as git builds generally won't contain docs l10n anyway, and release builds likely don't recycle the cache from an earlier (differently versioned) release build, and I expect the language list doesn't change that often to begin with. we could probably just use a glob. other possibly more appropriate options: - since cmake 3.12 there's a CONFIGURE_DEPENDS flag which forces re-globbing during builds to then potentially cause automatic reconfiguration (downside: support depends on generator + useless globs every build) - Aleix came up with a pretty neat system for ki18n where instead of globbing at configure time we do it at build time (similar to CONFIGURE_DEPENDS but without triggering reconfiguration) HS
