Skip to contentSkip to conversation

glibc: Fix locale DEPENDS

PATCH In review Joshua Watt 2 participants 3 messages Aug 27, 2019 – Aug 28, 2019

lore
Share & tools
lore
#0 lore raw

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
index 252fd56c13c..f1a6ae2a245 100644
@@ -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
#1 lore raw
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.

---
 meta/recipes-core/glibc/glibc.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/glibc/glibc.inc +0 -0
index 252fd56c13c..f1a6ae2a245 100644

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

#2 lore raw
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.

---
  meta/recipes-core/glibc/glibc.inc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/glibc/glibc.inc +0 -0
index 252fd56c13c..f1a6ae2a245 100644
@@ -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 -1
  PROVIDES = "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_DEPS which 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