Description of Problem:
"service xfs restart" does not always update the font directories correctly
if new fonts have been added. Specifically, if new font files are added
from an archive which preserves timestamps, then the font directories will
not be updated. This is due to the /etc/rc.d/init.d/xfs script:
elif [ "x$(find . -type f -newer fonts.dir 2>/dev/null)" != "x" ];then
"find -newer" returns true if the mtime of any font file is newer than the
mtime of the fonts.dir directory file. However, many methods of copying
files across will preserve mtime of the original file, so that the mtime of
the new font file will be older than that of fonts.dir despite the fact
that the file has been recently installed. Testing the ctime of the font
files would be much more reliable, via "find -cnewer"
I discovered this after running the commonly-available "webFonts.sh" script
to install the Microsoft TrueType Webfonts into
/usr/share/fonts/default/TrueType: the "cabextract" utility which extracts
those font files preserves the mtime of the original font files, and so xfs
failed to rebuild the font directories until I manually removed fonts.dir.
That should not be necessary.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Run webFonts.sh, or use "cp -p" to copy a font file into an xfs font
dir, or use "tar" to unpack a font archive, or any other way of creating a
new font file which preserves mtime.
2. Restart xfs.
fonts.dir is not updated so the new fonts are not served by XFS.
The new fonts should be available to X: fonts.dir should be rebuilt.
Thanks sct. Fixed internally, will be in future release.