Skip to content

fontconfig: 2.12.6 -> 2.13.1#53759

Closed
Synthetica9 wants to merge 1 commit intoNixOS:masterfrom
Synthetica9:fontconfig_2.13.1
Closed

fontconfig: 2.12.6 -> 2.13.1#53759
Synthetica9 wants to merge 1 commit intoNixOS:masterfrom
Synthetica9:fontconfig_2.13.1

Conversation

@Synthetica9
Copy link
Member

@Synthetica9 Synthetica9 commented Jan 10, 2019

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg GrahamcOfBorg requested a review from vcunat January 10, 2019 15:07
@GrahamcOfBorg GrahamcOfBorg added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. labels Jan 10, 2019
@dtzWill
Copy link
Member

dtzWill commented Jan 11, 2019

Be careful updating fontconfig, has impact on font caches and the configurations generated, esp re:backwards compatibility.

@wedens
Copy link

wedens commented Jan 11, 2019

Yeah. I've had some problems trying to use Nix app that depends on fontconfig 2.12.6 on Arch host with fontconfig 2.13.1

errors from strace:

3651   │ access("/etc/fonts/fonts.conf", R_OK)   = 0
3652   │ stat("/etc/fonts/fonts.conf", {st_mode=S_IFREG|0644, st_size=2565, ...}) = 0
3653   │ openat(AT_FDCWD, "/etc/fonts/fonts.conf", O_RDONLY|O_CLOEXEC) = 7
3654   │ read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 2565
3655   │ read(7, "", 8192)                       = 0
3656   │ close(7)                                = 0
3657   │ getrandom("\xec\x48\xb3\x7c\x90\x24\x2a\x51", 8, GRND_NONBLOCK) = 8
3658   │ write(2, "Fontconfig warning: \"/etc/fonts/"..., 53Fontconfig warning: "/etc/fonts/fonts.conf", line 5: ) = 53
3659   │ write(2, "unknown element \"its:rules\"", 27unknown element "its:rules") = 27
3660   │ write(2, "\n", 1
3661   │ )                       = 1
3662   │ write(2, "Fontconfig warning: \"/etc/fonts/"..., 53Fontconfig warning: "/etc/fonts/fonts.conf", line 6: ) = 53
3663   │ write(2, "unknown element \"its:translateRu"..., 35unknown element "its:translateRule") = 35
3664   │ write(2, "\n", 1
3665   │ )                       = 1
3666   │ write(2, "Fontconfig error: \"/etc/fonts/fo"..., 51Fontconfig error: "/etc/fonts/fonts.conf", line 6: ) = 51
3667   │ write(2, "invalid attribute 'translate'", 29invalid attribute 'translate') = 29
3668   │ write(2, "\n", 1
3669   │ )                       = 1
3670   │ write(2, "Fontconfig error: \"/etc/fonts/fo"..., 51Fontconfig error: "/etc/fonts/fonts.conf", line 6: ) = 51
3671   │ write(2, "invalid attribute 'selector'", 28invalid attribute 'selector') = 28
3672   │ write(2, "\n", 1
3673   │ )                       = 1
3674   │ write(2, "Fontconfig error: \"/etc/fonts/fo"..., 51Fontconfig error: "/etc/fonts/fonts.conf", line 7: ) = 51
3675   │ write(2, "invalid attribute 'xmlns:its'", 29invalid attribute 'xmlns:its') = 29
3676   │ write(2, "\n", 1
3677   │ )                       = 1
3678   │ write(2, "Fontconfig error: \"/etc/fonts/fo"..., 51Fontconfig error: "/etc/fonts/fonts.conf", line 7: ) = 51
3679   │ write(2, "invalid attribute 'version'", 27invalid attribute 'version') = 27
3680   │ write(2, "\n", 1
3681   │ )                       = 1
3682   │ write(2, "Fontconfig warning: \"/etc/fonts/"..., 53Fontconfig warning: "/etc/fonts/fonts.conf", line 9: ) = 53
3683   │ write(2, "unknown element \"description\"", 29unknown element "description") = 29
3684   │ write(2, "\n", 1
3685   │ ) 

I'm not sure what kind of incompatibility it is, but perhaps upgrading is not just a version bump.

@infinisil infinisil added the 8.has: package (update) This PR updates a package to a newer version label Mar 30, 2019
@sauyon
Copy link
Member

sauyon commented Jul 15, 2019

Slightly cleaner errors, since most of those syscalls are writes:

Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/fonts.conf", line 6: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/fonts.conf", line 9: unknown element "description"
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf

https://cgit.freedesktop.org/fontconfig/commit/?id=9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f

I believe this is just Arch shipping an updated configuration for fontconfig which isn't supported by the old 2.12.x, which can be fixed by using an older config.

@worldofpeace
Copy link
Contributor

out of date #73795

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (update) This PR updates a package to a newer version 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants