Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 91470 - Unnecessary, slow font cache rebuilding
Summary: Unnecessary, slow font cache rebuilding
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
Keywords: Inclusion
Depends on:
Reported: 2005-05-04 12:05 UTC by Jim Dabell
Modified: 2006-11-16 19:39 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
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" ]
    ebegin "Updating FC cache"
    HOME="/root" /usr/bin/fc-cache -f
    eend 0

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 ]
    ebegin "Updating FC cache"
    HOME="/root" /usr/bin/fc-cache
    eend 0

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 Thanks!
Comment 4 Jim Dabell 2006-11-16 19:39:17 UTC