All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] encodings: Add dependency to mkfontdir-native
@ 2016-09-21 18:40 Gratian Crisan
  2016-09-21 20:48 ` Burton, Ross
  0 siblings, 1 reply; 3+ messages in thread
From: Gratian Crisan @ 2016-09-21 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: gratian

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@ni.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"
-- 
2.7.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] encodings: Add dependency to mkfontdir-native
  2016-09-21 18:40 [PATCH] encodings: Add dependency to mkfontdir-native Gratian Crisan
@ 2016-09-21 20:48 ` Burton, Ross
  2016-09-21 21:02   ` Gratian Crisan
  0 siblings, 1 reply; 3+ messages in thread
From: Burton, Ross @ 2016-09-21 20:48 UTC (permalink / raw)
  To: Gratian Crisan; +Cc: gratian, OE-core

[-- Attachment #1: Type: text/plain, Size: 437 bytes --]

On 21 September 2016 at 19:40, Gratian Crisan <gratian.crisan@ni.com> wrote:

> 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.
>

Have you tested this in a build where encodings isn't built, but pulled
from sstate?

Ross

[-- Attachment #2: Type: text/html, Size: 854 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] encodings: Add dependency to mkfontdir-native
  2016-09-21 20:48 ` Burton, Ross
@ 2016-09-21 21:02   ` Gratian Crisan
  0 siblings, 0 replies; 3+ messages in thread
From: Gratian Crisan @ 2016-09-21 21:02 UTC (permalink / raw)
  To: Burton, Ross; +Cc: gratian, OE-core


Burton, Ross writes:

> On 21 September 2016 at 19:40, Gratian Crisan <gratian.crisan@ni.com> wrote:
>
>> 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.
>>
>
> Have you tested this in a build where encodings isn't built, but pulled
> from sstate?

If I understand your question correctly the answer is yes. We use sstate
for our builds and this was tested in that configuration (i.e. with
sstate enabled).

Thanks,
    Gratian


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-21 22:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-21 18:40 [PATCH] encodings: Add dependency to mkfontdir-native Gratian Crisan
2016-09-21 20:48 ` Burton, Ross
2016-09-21 21:02   ` Gratian Crisan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.