[oe-commits] [openembedded-core] 05/13: encodings: Add dependency to mkfontdir-native

git at git.openembedded.org git at git.openembedded.org
Fri Sep 23 14:02:25 UTC 2016


rpurdie pushed a commit to branch master
in repository openembedded-core.

commit aa8a7b2962f9a77bdd347843c41f86dc291b783e
Author: Gratian Crisan <gratian.crisan at ni.com>
AuthorDate: Wed Sep 21 13:40:25 2016 -0500

    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
    
    Signed-off-by: Gratian Crisan <gratian.crisan at ni.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-graphics/xorg-font/encodings_1.0.4.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 90846d8..36766f2 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"
 PE = "1"
 PR = "${INC_PR}.1"
 
-DEPENDS = "mkfontscale-native font-util-native"
+DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
 RDEPENDS_${PN} = ""
 
 SRC_URI += "file://nocompiler.patch"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list