Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 91470

Summary: Unnecessary, slow font cache rebuilding
Product: Gentoo Linux Reporter: Jim Dabell <jim>
Component: New packagesAssignee: Gentoo X packagers <x11>
Status: VERIFIED FIXED    
Severity: normal Keywords: Inclusion
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jim Dabell 2005-05-04 12:05:43 UTC
xorg-x11 supplies the /etc/init.d/xfs script.  This script contains the following:

# While we at it, update fontconfig's cache as well
if [ -x /usr/bin/fc-cache -a "${changed}" = "yes" ]
then
    ebegin "Updating FC cache"
    HOME="/root" /usr/bin/fc-cache -f
    eend 0
fi

It appears that the -f flag rebuilds all the font caches even if they are up to date.  When there are a lot of fonts installed, this is a big waste of time, and significantly slows down boot-up time (the code always executes on boot-up).  On my system, fc-cache -f takes 2 minutes to execute, while fc-cache takes under a second, both in the typical scenario of no caches to update.

Since fc-cache can apparently detect for itself when rebuilding a cache is necessary, why is the shell-script check there, when you can just omit the -f flag instead?

I would rewrite the above code as:

# While we at it, ensure fontconfig's cache is up to date
if [ -x /usr/bin/fc-cache ]
then
    ebegin "Updating FC cache"
    HOME="/root" /usr/bin/fc-cache
    eend 0
fi



Reproducible: Always
Steps to Reproduce:
Comment 1 Donnie Berkholz (RETIRED) gentoo-dev 2005-05-04 17:39:41 UTC
You're clearly correct that the -f is a bad idea on a number of levels. But since we already have ${changed}, why waste the time of even running fc-cache if it's unnecessary?
Comment 2 foser (RETIRED) gentoo-dev 2005-05-05 04:30:52 UTC
I didn't know it was there, 'fc-cache -f' was bad for the fonts eclass (altough that will change). But I think there is indeed little point in having it.
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2005-05-23 20:13:01 UTC
Fixed in 6.8.2-r2 and 6.8.99.5. Thanks!
Comment 4 Jim Dabell 2006-11-16 19:39:17 UTC
Closing.