-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 New approch,
since Xorg server only accepts FontPath from the last loaded xorg.conf.d file, this would be 90-font.conf. It's created/updated during pkg_postinst and pkg_postrm, so outside the scope of CONFIG_PROTECT. To allow users/admins to add out-of-portage fonts dir permanently, (/usr/local et al), a file 90-font.conf.in is sourced if present. Explanation is moved to 90-font.conf, no explicit warning to restart Xserver or `xset fp+` is given on the portage output. Better/Fine/Feedback/Any? - -- Michael Weber Gentoo Developer web: https://xmw.de/ mailto: Michael Weber <[email protected]> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iF4EAREIAAYFAlHVh84ACgkQknrdDGLu8JBKWwD/aRjT/oKeL9uyKqMWLxObmRyG +VidocTtQ0JqERWyD4QA/jb89tV3rAbiOwaXHS/zBxA9qvh43GtU5Hjt38paQeOb =E1Xp -----END PGP SIGNATURE-----
Index: font.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/font.eclass,v
retrieving revision 1.56
diff -u -B -r1.56 font.eclass
--- font.eclass 9 Jun 2013 02:08:23 -0000 1.56
+++ font.eclass 4 Jul 2013 14:28:33 -0000
@@ -35,6 +35,13 @@
# Full path to installation directory.
FONTDIR=${FONTDIR:-/usr/share/fonts/${FONT_PN}}
+# @ECLASS-VARIABLE: FONT_X11_CONF
+# @DEFAULT_UNSET
+# @REQUIRED
+# @DESCRIPTION:
+# X11 config file containing the additional fontpath elements.
+FONT_X11_CONF=${FONT_X11_CONF:-${EROOT}etc/X11/xorg.conf.d/90-font.conf}
+
# @ECLASS-VARIABLE: FONT_CONF
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -188,6 +195,38 @@
done
}
+# @FUNCTION: font_update_x11_conf
+# @DESCRIPTION:
+# Update the FontPath lines in FONT_X11_CONF file
+# Do this regardless of USE=X on a particular font package
+font_update_x11_conf() {
+ if [ -z "${FONT_X11_CONF}" ] ; then
+ einfo "FONT_X11_CONF is empty"
+ return
+ fi
+ ebegin "collecting X11 FontPath elements for ${FONT_X11_CONF}."
+ mkdir -p "$(basename ${FONT_X11_CONF})"
+ {
+ echo "# Changes to this file need Xserver restart or"
+ echo "# xset fp default ; xset fp rehash."
+ echo "# Add custom paths to ${FONT_X11_CONF}.in."
+ echo "# See font.eclass/font_update_x11_conf for implementation."
+ echo "Section \"Files\""
+ # installed directories
+ local cand
+ for cand in $(find "${EROOT}usr/share/fonts" -name fonts.dir | sort)
+ do
+ echo " FontPath \"$(dirname "${cand}")\""
+ done
+ # user supplied lines
+ echo "# begin of ${FONT_X11_CONF}.in"
+ [ -r "${FONT_X11_CONF}.in" ] && cat "${FONT_X11_CONF}.in"
+ echo "# end of ${FONT_X11_CONF}.in"
+ echo "EndSection"
+ } > "${FONT_X11_CONF}"
+ eend
+}
+
# @FUNCTION: font_pkg_postinst
# @DESCRIPTION:
# The font pkg_postinst function.
@@ -216,6 +255,8 @@
fc-cache -fs
eend $?
fi
+
+ font_update_x11_conf
}
# @FUNCTION: font_pkg_postrm
@@ -233,4 +274,6 @@
fc-cache -fs
eend $?
fi
+
+ font_update_x11_conf
}
font.eclass.patch.sig
Description: PGP signature
