svn commit: r433087 - in head/x11-fonts: linux-c6-fontconfig linux-c7-fontconfig

Tijl Coosemans tijl at FreeBSD.org
Thu Feb 2 12:55:37 UTC 2017


On Thu, 02 Feb 2017 10:09:56 +0100 Alexander Leidinger <Alexander at leidinger.net> wrote:
> Quoting Tijl Coosemans <tijl at freebsd.org> (from Wed, 1 Feb 2017  
> 20:10:41 +0000 (UTC)):
>> Author: tijl
>> Date: Wed Feb  1 20:10:41 2017
>> New Revision: 433087
>> URL: https://svnweb.freebsd.org/changeset/ports/433087
>>
>> Log:
>>   Generate fontconfig cache on installation.  This prevents cache creation
>>   in every user's home directory when they first run an X11 Linux program.  
> 
> The idea behind the previous version was that the linux code doesn't  
> create it's own cache (to not have to run the linux fc-cache on each  
> change in the fonts directories) but to use the FreeBSD cache via  
> fall-through. This only works when the linux fontconfig and the  
> FreeBSD fontconfig are compatible enough in terms of cache directory  
> file format. I remember to have updated the linux fontconfig port with  
> a own hand-rolled linux-version of fontconfig in the past as the  
> linux_base at that time didn't had a compatible enough fontconfig  
> version (but I don't remember if the config file was incompatible or  
> the cache...).
> 
> Could it be that a simple ln of the linux /var/db/fontconfig to the  
> FreeBSD location would solve this issue without the need to run the  
> linux fc-cache on each font directory change?

The config files aren't fully compatible and the Linux fc-cache prints
some errors about that but they can be ignored it seems.

The cache files have names ending in -<arch>.cache-<version> where <arch>
is le32d4 on i386 and le64 on amd64 and <version> is 7 on FreeBSD, 3 on
CentOS 6 and 4 on CentOS 7, so a simple link doesn't work.

The commit also doesn't fully solve the problem.  The amd64 package only
generates le64 cache files so running an i386 Linux program may still
create cache files in the user home directory.  This also happens when
users update their fonts because font ports don't run Linux fc-cache on
installation.

The only real solution is to build our own Linux fontconfig package using
devel/linux-*-devtools.


More information about the svn-ports-all mailing list