generic-poky/meta/recipes-graphics
Gratian Crisan d2259ac280 encodings: Add dependency to mkfontdir-native
Currently adding a font recipe to an image doesn't have enough
dependencies to cause mkfontdir-native to be included in the native
sysroot. This creates problems with the postinstall scripts for fonts
which call mkfontdir to create font index files: font.dir. The end
result is missing font.dir files in the built image and a malfunctioning
font system.

Dependencies for the relevant recipes currently look like this:

  * <font.bb>   [D ] -> font-util-native
                [R ] -> encodings, font-util
                [RN] -> font-util-native

  * font-util   [D ] -> encodings
                [R ] -> mkfontdir, mkfontscale, encodings
                [RN] -> mkfontdir-native, mkfontscale-native

  * encodings   [D ] -> mkfontscale-native, font-util-native

  * mkfontdir   [R ] -> mkfontscale
                [RN] -> mkfontscale-native

  * mkfontscale [D ] -> libfontenc

  * libfontenc  [D ] -> font-util

Where:
  * D = DEPENDS
  * R = RDEPENDS
  * RN = RDEPENDS_class-native
  * <font.bb> e.g. font-adobe-100dpi*.bb
Some details where omitted for clarity e.g. dependencies on util-macros.

I believe the intent behind the RDEPENDS_class-native chain:
  * <font.bb> -> font-util-native -> mkfontdir-native
was to provide the necessary dependency on mkfontdir. However because
the native sysroot is not built from packages this RDEPENDS_class-native
chain doesn't have the desire effect (i.e. it doesn't pull in
mkfontdir-native).

Changing the RDEPENDS_class-native chain into a DEPENDS_class-native
chain is a non-starter because of the build time dependency loop it
creates:
  * font-util-native -> mkfontscale-native -> libfontenc-native -> font-util-native

Having upstream remove the build time dependency of libfontenc on
font-util is also a non-starter[1] even though it does create problems
in other distributions, for example on Debian see [2], [3].

Instead add a DEPENDS on mkfontdir-native in the encodings recipe in
addition to the mkfontscale-native dependency it already contains. This
solves the missing mkfontdir in the native sysroot problem without
introducing a build dependency loop.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=97631
[2] https://wiki.debian.org/CircularBuildDependencies
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717843

(From OE-Core rev: aa8a7b2962f9a77bdd347843c41f86dc291b783e)

Signed-off-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23 14:56:39 +01:00
..
builder leafpad: Replace with L3afpad 2016-06-15 18:05:23 +01:00
cairo cairo: enable gtk-doc 2016-09-09 12:12:23 +01:00
cantarell-fonts cantarell-fonts: update to 0.0.24 2016-06-04 14:13:34 +01:00
clutter clutter-1.0: do not use the prepackaged clutter.types file when generating gtk-doc 2016-09-09 12:12:23 +01:00
cogl cogl-1.0: set COMPATIBLE_HOST_armv4 to null 2016-05-17 14:43:29 +01:00
drm libdrm: Explicitly disable cunit tests 2016-09-14 22:22:13 +01:00
eglinfo eglinfo: Fix build on raspberrypi 2016-01-24 09:40:31 +00:00
fontconfig fontconfig: Upgrade 2.12.0 -> 2.12.1 2016-08-23 17:44:41 +01:00
freetype recipes-graphics: Added native and nativesdk support for some libraries 2016-07-20 10:28:51 +01:00
fstests recipes: add x11 to required DISTRO_FEATURES 2015-03-10 10:47:38 +00:00
glew glew: upgrade to 2.0.0 2016-08-04 15:22:21 +01:00
harfbuzz harfbuzz: enable gtk-doc 2016-09-09 12:12:23 +01:00
images remove core-image-directfb.bb 2016-07-10 14:12:17 +01:00
jpeg libjpeg-turbo: update to 1.5.0 2016-06-12 23:47:18 +01:00
libepoxy recipes: add distro_features_check for some packages 2015-11-16 11:39:27 +00:00
libfakekey recipes-graphics: add x11 to REQUIRED_DISTRO_FEATURES 2015-05-14 11:43:58 +01:00
libmatchbox libmatchbox: Upgrade 1.11 -> 1.12 2016-07-20 10:28:50 +01:00
libsdl libsdl: expand PACKAGECONFIG and enable native builds 2015-12-12 23:42:53 +00:00
libsdl2 libsdl2: Add missing comma typo 2016-07-01 16:22:42 +01:00
matchbox-session Replace one-line DESCRIPTION with SUMMARY 2014-01-02 12:50:18 +00:00
matchbox-wm matchbox-wm: Upgrade to 1.2.1 2016-06-15 18:05:23 +01:00
menu-cache menu-cache: remove spurious dependency on intltool 2016-08-01 11:47:11 +01:00
mesa mesa: Fix build when cross compiling with clang 2016-08-04 15:22:21 +01:00
mini-x-session Replace one-line DESCRIPTION with SUMMARY 2014-01-02 12:50:18 +00:00
mx mx: move to autotools instead of autotools-brokensep 2016-04-29 07:58:45 +01:00
packagegroups packagegroup-core-x11-base.bb: remove pointercal 2016-08-25 23:03:44 +01:00
pango pango: fix gtk-doc build when x11 is not in use 2016-09-09 12:12:23 +01:00
piglit piglit: Backport linker flag patch 2016-09-14 22:22:13 +01:00
pong-clock pong-clock: obey CFLAGS, LDFLAGS 2016-05-14 23:05:11 +01:00
startup-notification recipes: add x11 to required DISTRO_FEATURES 2015-03-10 10:47:38 +00:00
ttf-fonts upstream_tracking.inc: deprecate and move contents to recipes 2015-09-01 11:44:01 +01:00
waffle waffle: update to 1.5.2 2016-01-26 22:49:39 +00:00
wayland wayland-protocols: 1.5 -> 1.7 2016-08-23 17:44:42 +01:00
x11-common x11-common: Remove Xserver script 2016-09-09 11:53:36 +01:00
xcursor-transparent-theme xcursor-transparent-theme: upgrade to latest git revision 2016-03-28 15:55:50 +01:00
xinput-calibrator pointercal-xinput: add a dummy calibration file for qemu 2016-08-25 23:03:44 +01:00
xorg-app xhost: control ipv6 support based on DISTRO_FEATURES 2016-09-03 23:45:53 +01:00
xorg-driver xf86-input-libinput: Upgrade 0.16.0 -> 0.19.0 2016-07-20 10:28:53 +01:00
xorg-font encodings: Add dependency to mkfontdir-native 2016-09-23 14:56:39 +01:00
xorg-lib libxmu: control ipv6 support based on DISTRO_FEATURES 2016-09-03 23:45:53 +01:00
xorg-proto xorg-proto: remove stale git recipes 2016-08-23 17:44:40 +01:00
xorg-util gccmakedep: fix buildpaths qa check 2016-01-07 13:40:20 +00:00
xorg-xserver xserver-xorg: fix qa warnings 2016-09-23 14:56:39 +01:00
xrestop recipes: add x11 to required DISTRO_FEATURES 2015-03-10 10:47:38 +00:00
xvideo-tests xvideo-tests: move to the latest release 2015-12-08 10:20:47 +00:00