feature/buster FTBR: differing fonts .uuid files
usr/local/share/fonts/.uuid and friends differ. I’ve verified that our custom fontconfig package is installed.
|Blocks Tails - Feature #16209: Core work: Foundations Team||Confirmed|
#3 Updated by lamby 2019-05-23 10:21:11
Can confirm that
fontconfig 2.13.1-2.0tails1 is being used, and that should include my f098adac54ab86b75a38f2d23fa706a1348f55ba that landed upstream (see https://gist.githubusercontent.com/lamby/9669e74490122e8a1ebd3cfd1bbc1db5/raw)
#6 Updated by lamby 2019-05-23 14:47:39
> List of package changes attached.
And, of course,
ttf-dejava (the “source” or close according to the diffoscope…) is not in the list but other font packages are.
-fonts-arphic-ukai 0.2.20080216.2-4 -fonts-arphic-uming 0.2.20080216.2-10 -fonts-beng 2:1.2 -fonts-beng-extra 1.0-6 fonts-cantarell 0.111-2 fonts-dejavu 2.37-1 fonts-dejavu-core 2.37-1 fonts-dejavu-extra 2.37-1 -fonts-deva 2:1.2 -fonts-deva-extra 3.0-4
#8 Updated by lamby 2019-05-23 15:11:55
Seems like I can reproduce part of this in sid:
$ create-throwaway-sid-docker-container-and-run zsh -i -c 'sudo env SOURCE_DATE_EPOCH=1558623932 apt install -y fontconfig; sha1sum /usr/share/fonts/.uuid; dpkg -l fontconfig'
3fd53b98187b1d4978a7c7f3b7fab2ce2e5d9db0 /usr/share/fonts/.uuid Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================================== === ii fontconfig 2.13.1-2 amd64 generic font configuration library - support binar ies
#9 Updated by lamby 2019-05-24 14:34:00
Okay, this took a while. After quite a bit of investigation the picture appears to be that Akira Tagoh initially added support to remove .uuid files when no font files exist in a directory (in
f5dd8512bdf9fd8e01c30ae36f593758b29385cf) but due to Debian bugs #897040, #909728, #909841 and #909818 Laurent Bigonville reverted this in
debian/patches in 2.13.1-2.
I believe this is surfacing now as, due to changes in buster, we are installing different font packages due to differing dependencies.
Anyway, the uuid generation process was then replaced with a new, better process in
c4324f54ee16e648ba91f3e9c66af13ab3b1754c. Ideally, we would simply cherry-pick this (large) commit but this is not possible without also cherry-picking a whole bunch of adjacent misc/fixup commits (eg.
9177cf2c3814f1f23fe207d4be3876111d272d60, plus at least 2 others). I think this makes it too invasive to backport.
However, we could “just” revert the application of Keith’s patch via:
--- a/debian/patches/series +++ b/debian/patches/series @@ -2,4 +2,3 @@ 04_mgopen_fonts.patch skip-dpkg-tmp-files.patch path_max.patch -do_not_remove_uuid.patch
… but I’m not emotionally prepared for this yet due to the time invested getting here and, as mentioned, it might have serious problems (see, in particular, Debian bug #909818).
Summary: Either apply the above (with potential side effects listed in the aforementioned Debian bugs) or wait for the next version of fontconfig after
2.13.1. I recommend the latter.
#10 Updated by lamby 2019-05-27 08:16:08
- File openscad_2019.01_RC2-2.diffoscope.txt.gz added
(.txt attached for posterity)
#11 Updated by intrigeri 2019-06-01 06:03:13
Uh, this problem vanished: https://jenkins.tails.boum.org/view/RM/job/reproducibly_build_Tails_ISO_feature-buster/ has been passing consistently since May 27 (unfortunately we have no older data so I can’t tell exactly when this started working again). I’ve taken a look at the diff between a
.packages file from feature/buster built on May 22 and today’s and could spot no obvious explanation. Let’s keep this ticket open until our next Buster sprint, keep an eye on Jenkins results, and close this if the problem does not reappear.
#12 Updated by intrigeri 2019-06-17 07:33:19
- Status changed from Confirmed to Resolved
- Assignee deleted (
> Let’s keep this ticket open until our next Buster sprint, keep an eye on Jenkins results, and close this if the problem does not reappear.
It did not reappear. @lamby, you’re of course welcome to work on this in Debian / upstream, but as discussed during last sprint, I’m afraid it’s now out of scope of Tails work.