glibc: Fix locale DEPENDS
PATCH 1/1 glibc: Fix locale DEPENDS
gettext is required to generate the glibc locales in do_compile. If not present, glibc will skip the generation which isn't reproducible.
--- meta/recipes-core/glibc/glibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/glibc/glibc.inc +1 -1
@@ -6,7 +6,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" -inherit autotools texinfo distro_features_check systemd +inherit autotools texinfo distro_features_check systemd gettext LEAD_SONAME = "libc.so"
Signature · 1 line
2.21.0
Quoted 13 lines · Joshua Watt
gettext is required to generate the glibc locales in
do_compile. If not present, glibc will skip the generation which isn't reproducible.Signed-off-by Joshua Watt <[email protected]>--- meta/recipes-core/glibc/glibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)meta/recipes-core/glibc/glibc.inc +0
-0
meta/recipes-core/glibc/glibc.inc DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" · line 9
Quoted 5 lines
meta/recipes-core/glibc/glibc.inc +1
-1@@ -6,7 +6,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" -inherit autotools texinfo distro_features_check systemd +inherit autotools texinfo distro_features_check systemd gettext
I suspect this may not do what you expect.
At least as I read the class and recipes, glibc sets INHIBIT_DEFAULT_DEPS which means no gettext-native dependency is added, instead, configure has --disable-nls added.
Is that what we want?
I'm curious to understand how glibc locales are ever generated correctly and what we're aiming to add here (a gettext-native dependency?)
FWIW gettext-native is a very heavy thing to add in as a dependency from a build time perspective.
Cheers,
Richard
Quoted 15 lines · Richard Purdie
Quoted 14 lines · Joshua Watt
gettext is required to generate the glibc locales in
do_compile. If not present, glibc will skip the generation which isn't reproducible.Signed-off-by Joshua Watt <[email protected]>--- meta/recipes-core/glibc/glibc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)meta/recipes-core/glibc/glibc.inc +0
-0@@ -6,7 +6,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers"
Quoted 4 lines
meta/recipes-core/glibc/glibc.inc DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" · line 9
Quoted 4 lines
meta/recipes-core/glibc/glibc.inc +1
-1PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" -inherit autotools texinfo distro_features_check systemd +inherit autotools texinfo distro_features_check systemd gettext
FYI: I forgot to send this one in-reply-to a previous patch. There is more history here: http://lists.openembedded.org/pipermail/openembedded-core/2019-June/284158.html
Quoted 5 lines
I suspect this may not do what you expect.
At least as I read the class and recipes, glibc sets
INHIBIT_DEFAULT_DEPSwhich means no gettext-native dependency is added, instead, configure has --disable-nls added.
Ah, yes I see that also.
Quoted 2 lines
Is that what we want?
I guess I'm not sure exactly what we want; It was a while ago so I don't remember exactly what glibc was doing, but it looks like it was sometimes generating locales (e.g. the first time it built) and sometimes not (when rebuilding) depending on the presence of gettext.
Quoted 4 lines
I'm curious to understand how glibc locales are ever generated correctly and what we're aiming to add here (a gettext-native dependency?)
I'm not sure how it ever works correctly :). Perhaps it would be best to just drop this patch for now until we take a more serious look at reproducible in the presence of partial recipe rebuilds. I'd rather focus on getting the existing QA test running ATM.
Quoted 3 lines
FWIW gettext-native is a very heavy thing to add in as a dependency from a build time perspective.
Yes, that was discussed which is what led to using gettext.bbclass that might use gettext-minimal-native, but as you pointed out this isn't whats happening.
Quoted 5 lines
Cheers,
Richard