Subject: Re: bug#30655: xset(1) not accepting symlink to font path

From: Marco van Hulten <[email-masked]>
Date: Thu, 01 Mar 2018 22:17:09 +0100

Ludovic—

Je  1 mrt 17:52 skribis Ludovic:
> Marco van Hulten <[email-masked]> skribis:
> 
> > When I follow the manual at
> > https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#X11-Fonts ,
> > I get the message that there is something wrong with the directory I'm
> > trying to add it:
> >
> >
> > gast@graviton ~$ xset +fp ~/.guix-profile/share/fonts/truetype
> > xset:  bad font path element (#0), possible causes are:
> >     Directory does not exist or has wrong permissions
> >     Directory missing fonts.dir
> >     Incorrect font server address or syntax
> > gast@graviton ~$ ls -l ~/.guix-profile/share/fonts/truetype/fonts.dir 
> > lrwxrwxrwx 2 root root 84 Jan  1  1970 /home/gast/.guix-profile/share/fonts/truetype/fonts.dir -> /gnu/store/5kp6hj8mk6pgfl4x3cgabl7z379jyyrl-fonts-dir/share/fonts/truetype/fonts.dir
> > gast@graviton ~$ xset +fp /gnu/store/5kp6hj8mk6pgfl4x3cgabl7z379jyyrl-fonts-dir/share/fonts/truetype
> >
> >
> > The last command exits with code 0.  Apparently, xset(1) does not want
> > me to add symlink(2)s that point to valid directories.  
> 
> Would this be a good fix:

More or less, but it is fonts.dir that points to the right location
though we need the base dir of that, so the patch must be:

diff --git a/doc/guix.texi b/doc/guix.texi
index 24db16761..35221ff94 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1572,7 +1572,7 @@ To be able to use such full names for the
TrueType fonts installed in your Guix profile, you need to extend the
font path of the X server: 
 @example
-xset +fp ~/.guix-profile/share/fonts/truetype
+xset +fp $(dirname $(readlink -f
~/.guix-profile/share/fonts/truetype/fonts.dir)) @end example
 
 @cindex @code{xlsfonts}

The issue is apparently not really a bug but more of an obvious side
effect of the security improvement of libXfont as Alex Kost pointed out.
Changing the documentation as above handles this issue well.

—Marco

P.S. How do you make a patch appear as both a file *and* as text within
the body of an e-mail (that's how Claws Mail presented it to me)?