fonts spec template scriptlets and fontconfig dependencies/conflicts

Nicolas Mailhot nicolas.mailhot at laposte.net
Sun May 18 10:49:07 UTC 2008


Hi,

Fontconfig will regenerate its caches at install and update time. It
has to because its cache format changes (thus the old cache files may
not be in the right format) and it can be installed on a system with
pre-existing fonts (thus they may not have any associated cache
before). If there is a hole in this re-generation step it needs to be
fixed in the fontconfig package. I'll assume it works for now.

Also it does not matter if any fontconfig-oriented content like config
or cache files is left on-disk if there is not fontconfig to
misinterpret it (and the scriptlets protect against no fc-cache
available to use)

Thus the only question to ask oneself when considering

Conflicts: fontconfig<xxx

is whether one can imagine a case where at the end of a yum/rpm
transaction
A. a fontconfig with the wrong version is installed on-system, or
B. a fontconfig with the right version is installed but some files
were generated using a bad version.

Conflict trivially protects from A.

To get B., taking the Conflict into account, you'd need to both
install/update the font package and install/update fontconfig in the
same transaction. One would assume rpm/yum uses sane ordering so at no
time scriptlets from the font package are processed by files from the
conflicting fontconfig package. But even if that's not the case it
does not matter. If the font-package-triggered fc-cache is run before
the new fc-cache is on disk, that means the new fc-cache will be
installed later in the transaction, followed by the fc-cache refresh
the fontconfig package does itself. And this fc-cache will stomp on
the previously mis-generated files.

And that's all assuming our fontconfig configuration files have any
effect on fc-cache which is far from being certain. They're probably
totally orthogonal to cache files and only used in conjuction with
them at font resolution time.

The font spec template is not complex and has been massively audited.
We may have missed something but I wouldn't be on it.

I hope your fears have been allayed. Now you've made me write all this
you owe the SIG at least one new font package;).

-- 
Nicolas Mailhot




More information about the fonts mailing list