On Tue, Mar 26, 2019 at 9:09 AM Alexander Larsson <alexander.larsson@xxxxxxxxx> wrote: > > On Tue, Mar 26, 2019 at 7:15 AM Akira TAGOH <akira@xxxxxxxxx> wrote: > > > > Hi Alex, > > > > Have you tried new implementation yet? I believe it should be > > reflected our discussion though, I want to see some comment from you > > because flatpak is only customer for salt thing so far. if it works, I > > can commit it to master and make a release for them. > > I have not, but I will put it on the list, will have a look later this week. So, i'm trying to test this, but I'm running into a weird issue I don't understand. I started by creating a new flatpak runtime, deriving from gnome 3.30, adding just the fontconfig from your branch. All the files requred are here: https://gist.github.com/alexlarsson/8912637dd6173591a8dec7c043cfa01d Including a build.sh which will build the entire thing. The weird thing is that i'm failing to create the cache in one of two cases. What happens is that flatpak-builder first builds the SDK, and after building that it runs the "cleanup-commands", which (see the gist for the commands) produces this output: CLEANUP SDK created /etc/fonts/conf.d/50-flatpak-salted.conf: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <dir salt="qgVrnz2LCleEbiNkHl5936ZRZAu1zHAN">/usr/share/fonts</dir> </fontconfig> regenerating system caches for sdk Fontconfig warning: "/usr/etc/fonts/fonts.conf", line 33: empty font directory name ignored Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 7: empty font directory name ignored /usr/share/fonts: caching, new cache contents: 0 fonts, 7 dirs /usr/share/fonts/cantarell: caching, new cache contents: 5 fonts, 0 dirs /usr/share/fonts/dejavu: caching, new cache contents: 22 fonts, 0 dirs /usr/share/fonts/eosrei-emojione: caching, new cache contents: 1 fonts, 0 dirs /usr/share/fonts/gnu-free: caching, new cache contents: 12 fonts, 0 dirs /usr/share/fonts/google-crosextra-caladea: caching, new cache contents: 4 fonts, 0 dirs /usr/share/fonts/google-crosextra-carlito: caching, new cache contents: 4 fonts, 0 dirs /usr/share/fonts/liberation-fonts: caching, new cache contents: 12 fonts, 0 dirs /run/host/fonts: skipping, no such directory /run/host/user-fonts: skipping, no such directory /usr/share/fonts/cantarell: skipping, looped directory detected /usr/share/fonts/dejavu: skipping, looped directory detected /usr/share/fonts/eosrei-emojione: skipping, looped directory detected /usr/share/fonts/gnu-free: skipping, looped directory detected /usr/share/fonts/google-crosextra-caladea: skipping, looped directory detected /usr/share/fonts/google-crosextra-carlito: skipping, looped directory detected /usr/share/fonts/liberation-fonts: skipping, looped directory detected /usr/cache/fontconfig: cleaning cache directory /app/cache/fontconfig: not cleaning non-existent cache directory /run/host/fonts-cache: not cleaning non-existent cache directory /run/host/user-fonts-cache: not cleaning non-existent cache directory /usr/var/cache/fontconfig: cleaning cache directory fc-cache: succeeded resulting /usr/cache/fontconfig: total 184 -rw-rw-r-- 1 1000 1000 2536 Apr 1 14:25 240592bdd7bdf1b16d89e7edeb4d2486-le64.cache-7 -rw-rw-r-- 1 1000 1000 77096 Apr 1 14:25 38abaa55af3aedbc13e8d17a987f8026-le64.cache-7 -rw-rw-r-- 1 1000 1000 47104 Apr 1 14:25 46df990863fe9cfbed3fe21e89696ec6-le64.cache-7 -rw-rw-r-- 1 1000 1000 6936 Apr 1 14:25 612dd7798ef7fe64f776a6e49f128560-le64.cache-7 -rw-rw-r-- 1 1000 1000 8376 Apr 1 14:25 b599ef9b1adc87dbcc1c41de14b1d733-le64.cache-7 -rw-rw-r-- 1 1000 1000 6312 Apr 1 14:25 b5aefa49b91159320ae79a3bc3a8ec09-le64.cache-7 -rw-r--r-- 1 1000 1000 200 Apr 1 14:25 CACHEDIR.TAG -rw-rw-r-- 1 1000 1000 424 Apr 1 14:25 e9903abff2d89c54a7d6bfcd0dde9b25-le64.cache-7 -rw-rw-r-- 1 1000 1000 19928 Apr 1 14:25 e9b75eee6795385ae3f53a200406b963-le64.cache-7 Then it starts over with the platform (non-devel runtime) and does something similar to it. This produces the following output: CLEANUP PLATFORM created /etc/fonts/conf.d/50-flatpak-salted.conf: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <dir salt="PuTGYxt52HAPvmas5WLHWop2OrTheh5g">/usr/share/fonts</dir> </fontconfig> regenerating system caches for platform Fontconfig warning: "/usr/etc/fonts/fonts.conf", line 33: empty font directory name ignored Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 7: empty font directory name ignored /usr/share/fonts: caching, new cache contents: 0 fonts, 7 dirs /usr/share/fonts/cantarell: caching, new cache contents: 5 fonts, 0 dirs /usr/share/fonts/dejavu: caching, new cache contents: 22 fonts, 0 dirs /usr/share/fonts/eosrei-emojione: caching, new cache contents: 1 fonts, 0 dirs /usr/share/fonts/gnu-free: caching, new cache contents: 12 fonts, 0 dirs /usr/share/fonts/google-crosextra-caladea: caching, new cache contents: 4 fonts, 0 dirs /usr/share/fonts/google-crosextra-carlito: caching, new cache contents: 4 fonts, 0 dirs /usr/share/fonts/liberation-fonts: caching, new cache contents: 12 fonts, 0 dirs /run/host/fonts: skipping, no such directory /run/host/user-fonts: skipping, no such directory /usr/share/fonts/cantarell: skipping, looped directory detected /usr/share/fonts/dejavu: skipping, looped directory detected /usr/share/fonts/eosrei-emojione: skipping, looped directory detected /usr/share/fonts/gnu-free: skipping, looped directory detected /usr/share/fonts/google-crosextra-caladea: skipping, looped directory detected /usr/share/fonts/google-crosextra-carlito: skipping, looped directory detected /usr/share/fonts/liberation-fonts: skipping, looped directory detected /usr/cache/fontconfig: cleaning cache directory /usr/cache/fontconfig: invalid cache file: 240592bdd7bdf1b16d89e7edeb4d2486-le64.cache-7 /usr/cache/fontconfig: invalid cache file: 38abaa55af3aedbc13e8d17a987f8026-le64.cache-7 /usr/cache/fontconfig: invalid cache file: b5aefa49b91159320ae79a3bc3a8ec09-le64.cache-7 /usr/cache/fontconfig: invalid cache file: 612dd7798ef7fe64f776a6e49f128560-le64.cache-7 /usr/cache/fontconfig: invalid cache file: e9b75eee6795385ae3f53a200406b963-le64.cache-7 /usr/cache/fontconfig: invalid cache file: e9903abff2d89c54a7d6bfcd0dde9b25-le64.cache-7 /usr/cache/fontconfig: invalid cache file: b599ef9b1adc87dbcc1c41de14b1d733-le64.cache-7 /usr/cache/fontconfig: invalid cache file: 46df990863fe9cfbed3fe21e89696ec6-le64.cache-7 /app/cache/fontconfig: not cleaning non-existent cache directory /run/host/fonts-cache: not cleaning non-existent cache directory /run/host/user-fonts-cache: not cleaning non-existent cache directory /usr/var/cache/fontconfig: cleaning cache directory fc-cache: succeeded resulting /usr/cache/fontconfig: total 4 -rw-r--r-- 1 1000 1000 200 Apr 1 14:27 CACHEDIR.TAG I don't understand why its generating cache files with the same filenames, even though the salt for /usr/share/fonts is different. And why does it think they are invalid after having just generated them? (The script that generates the 50-flatpak-salted.conf removes all caches, so the claimed to be invalid files are definitely created by fc-cache...) Also, i worry about the fact that it seems to list all the fonts in /usr/share/fonts twice, the second time complaining about looping. Maybe the reset-dirs is not working in fc-cache, so its picking up the first instance of /usr/share/fonts? Also, why is it warning about "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf"? Why is it even trying to parse this file? It should not be used? _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig