diff options
author | Gratian Crisan <gratian.crisan@ni.com> | 2016-09-21 13:40:25 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-23 14:56:39 +0100 |
commit | d2259ac280bd93be3b0c9779dad1d43bb0b798a2 (patch) | |
tree | cd77e7cd2538697fa08394f79b0c5a35fac9e725 /meta | |
parent | 65a7b15b44d4273a560d95ecbfd65cd4265024b3 (diff) | |
download | poky-d2259ac280bd93be3b0c9779dad1d43bb0b798a2.tar.gz |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-graphics/xorg-font/encodings_1.0.4.bb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb index 90846d8185..36766f2f42 100644 --- a/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb +++ b/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76" | |||
9 | PE = "1" | 9 | PE = "1" |
10 | PR = "${INC_PR}.1" | 10 | PR = "${INC_PR}.1" |
11 | 11 | ||
12 | DEPENDS = "mkfontscale-native font-util-native" | 12 | DEPENDS = "mkfontscale-native mkfontdir-native font-util-native" |
13 | RDEPENDS_${PN} = "" | 13 | RDEPENDS_${PN} = "" |
14 | 14 | ||
15 | SRC_URI += "file://nocompiler.patch" | 15 | SRC_URI += "file://nocompiler.patch" |