Skip to contentSkip to conversation

tclibc-musl: use musl's virtual/gettext implementation

RFC PATCH In review André Draszik 3 participants 5 messages Jun 19, 2017 – Jun 22, 2017

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 tclibc-musl: use musl's virtual/gettext implementation

From: André Draszik <[email protected]>

musl implements the GNU gettext API version 1 and 2
http://www.openwall.com/lists/musl/2015/04/16/3

Generally, there should be no need need for the actual GNU/gettext in systems using musl, so with this change systems using musl can avoid a needless dependency on a GPLv3+ tool.

If an application ever appears that needs GNU/gettext API version 3, we can think about a way to support it at that time.

---
 meta/conf/distro/include/tclibc-musl.inc | 1 +
 meta/recipes-core/musl/musl_git.bb       | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
meta/conf/distro/include/tclibc-musl.inc +1 -0
index 3d3f6ac4f4..172b09ab20 100644
@@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "musl"
 PREFERRED_PROVIDER_virtual/libintl ?= "musl"
 PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
 PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
+PREFERRED_PROVIDER_virtual/gettext ?= "musl"
 
 #USE_NLS ?= "no"
 
meta/recipes-core/musl/musl_git.bb +1 -1
index fba47096f5..9cf097d067 100644
@@ -15,7 +15,7 @@ SRC_URI = "git://git.musl-libc.org/musl \
 
 S = "${WORKDIR}/git"
 
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/libiconv virtual/libintl"
+PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/gettext virtual/libiconv virtual/libintl"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            virtual/${TARGET_PREFIX}gcc-initial \
Signature · 1 line
2.11.0
#1 lore raw
Quoted 5 lines · André Draszik

From: André Draszik <[email protected] <javascript:;>>

musl implements the GNU gettext API version 1 and 2
http://www.openwall.com/lists/musl/2015/04/16/3

Quoted 8 lines

Generally, there should be no need need for the actual GNU/gettext in systems using musl, so with this change systems using musl can avoid a needless dependency on a GPLv3+ tool.

If an application ever appears that needs GNU/gettext API version 3, we can think about a way to support it at that time.

Thanks for doing this it has been pending for long time We have to run through some extended builds e.g. Using meta OE Layers and see for any major regressions

I will cherry pick this into my master and see how it does

Quoted 41 lines
Signed-off-by André Draszik <[email protected] <javascript:;>>
Acked-by Sylvain Lemieux <[email protected] <javascript:;>>
---
 meta/conf/distro/include/tclibc-musl.inc | 1 +
 meta/recipes-core/musl/musl_git.bb       | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
meta/conf/distro/include/tclibc-musl.inc +1 -0
index 3d3f6ac4f4..172b09ab20 100644
@@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "musl"
 PREFERRED_PROVIDER_virtual/libintl ?= "musl"
 PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
 PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
+PREFERRED_PROVIDER_virtual/gettext ?= "musl"
 
 #USE_NLS ?= "no"
 
meta/recipes-core/musl/ renamed from meta/recipes-core/musl/musl_git.bb +0 -0

musl_git.bb
index fba47096f5..9cf097d067 100644

meta/recipes-core/musl/musl_git.bb +0 -1
@@ -15,7 +15,7 @@ SRC_URI = "git://git.musl-libc.org/musl \
 
 S = "${WORKDIR}/git"
 
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc

virtual/libiconv virtual/libintl"
+PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc virtual/gettext virtual/libiconv virtual/libintl"

 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            virtual/${TARGET_PREFIX}gcc-initial \

--
2.11.0

#2 lore raw
In reply to André Draszik
$ bitbake -k core-image-minimal core-image-full-cmdline core-image-sato
world
That seems to fail with musl on the autobuilder with "Nothing RPROVIDES
'gettext-runtime' "

https://autobuilder.yocto.io/builders/nightly-musl/builds/313/steps/BuildImages/logs/stdio

Cheers,
Jussi

Quoted 15 lines · André Draszik

From: André Draszik <[email protected]>

musl implements the GNU gettext API version 1 and 2
http://www.openwall.com/lists/musl/2015/04/16/3

Generally, there should be no need need for the actual GNU/gettext in systems using musl, so with this change systems using musl can avoid a needless dependency on a GPLv3+ tool.

If an application ever appears that needs GNU/gettext API version 3, we can think about a way to support it at that time.

Review

Quoted 8 lines
---
 meta/conf/distro/include/tclibc-musl.inc | 1 +
 meta/recipes-core/musl/musl_git.bb       | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
(quoted diff) +0 -0

b/meta/conf/distro/include/tclibc-musl.inc

meta/recipes-core/musl/

Quoted 12 lines

index 3d3f6ac4f4..172b09ab20 100644

meta/conf/distro/include/tclibc-musl.inc +1 -0
@@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "musl"
 PREFERRED_PROVIDER_virtual/libintl ?= "musl"
 PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
 PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
+PREFERRED_PROVIDER_virtual/gettext ?= "musl"
 
 #USE_NLS ?= "no"
 
meta/recipes-core/musl/ renamed from meta/recipes-core/musl/musl_git.bb +0 -0

musl_git.bb

meta/recipes-core/musl/musl_git.bb SRC_URI = "git://git.musl-libc.org/musl \ · line 18

Quoted 8 lines

index fba47096f5..9cf097d067 100644

meta/recipes-core/musl/musl_git.bb +0 -1
@@ -15,7 +15,7 @@ SRC_URI = "git://git.musl-libc.org/musl \
 
 S = "${WORKDIR}/git"
 
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc

virtual/libiconv virtual/libintl"

meta/recipes-core/musl/musl_git.bb SRC_URI = "git://git.musl-libc.org/musl \ · line 18

Quoted 1 line
meta/recipes-core/musl/musl_git.bb +1 -0
+PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc

virtual/gettext virtual/libiconv virtual/libintl"

Quoted 11 lines
meta/recipes-core/musl/musl_git.bb +0 -1
 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            virtual/${TARGET_PREFIX}gcc-initial \
--

2.11.0

--
_______________________________________________
Openembedded-core mailing list [email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#3 lore raw
Quoted 8 lines · Jussi Kukkonen
$ bitbake -k core-image-minimal core-image-full-cmdline core-image-sato
world
That seems to fail with musl on the autobuilder with "Nothing RPROVIDES
'gettext-runtime' "

https://autobuilder.yocto.io/builders/nightly-musl/builds/313/steps/BuildImages/logs/stdio

Andre can you take care of adding it

Quoted 72 lines

Cheers,
Jussi

Quoted 15 lines · André Draszik

From: André Draszik <[email protected]>

musl implements the GNU gettext API version 1 and 2
http://www.openwall.com/lists/musl/2015/04/16/3

Generally, there should be no need need for the actual GNU/gettext in systems using musl, so with this change systems using musl can avoid a needless dependency on a GPLv3+ tool.

If an application ever appears that needs GNU/gettext API version 3, we can think about a way to support it at that time.

Review

Quoted 8 lines
---
 meta/conf/distro/include/tclibc-musl.inc | 1 +
 meta/recipes-core/musl/musl_git.bb       | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
(quoted diff) +0 -0

b/meta/conf/distro/include/tclibc-musl.inc

Review

Quoted 12 lines

index 3d3f6ac4f4..172b09ab20 100644

meta/conf/distro/include/tclibc-musl.inc +1 -0
@@ -13,6 +13,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "musl"
 PREFERRED_PROVIDER_virtual/libintl ?= "musl"
 PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-glibc"
 PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-glibc"
+PREFERRED_PROVIDER_virtual/gettext ?= "musl"
 
 #USE_NLS ?= "no"
 
(quoted diff) +0 -0

b/meta/recipes-core/musl/musl_git.bb

meta/recipes-core/musl/musl_git.bb SRC_URI = "git://git.musl-libc.org/musl \ · line 18

Quoted 8 lines

index fba47096f5..9cf097d067 100644

meta/recipes-core/musl/musl_git.bb +0 -1
@@ -15,7 +15,7 @@ SRC_URI = "git://git.musl-libc.org/musl \
 
 S = "${WORKDIR}/git"
 
-PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc

virtual/libiconv virtual/libintl"

meta/recipes-core/musl/musl_git.bb SRC_URI = "git://git.musl-libc.org/musl \ · line 18

Quoted 1 line
meta/recipes-core/musl/musl_git.bb +1 -0
+PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc

virtual/gettext virtual/libiconv virtual/libintl"

Quoted 11 lines
meta/recipes-core/musl/musl_git.bb +0 -1
 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            virtual/${TARGET_PREFIX}gcc-initial \
--

2.11.0

--
_______________________________________________
Openembedded-core mailing list [email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#4 lore raw
Quoted 9 lines · Khem Raj
Quoted 6 lines · Jussi Kukkonen
$ bitbake -k core-image-minimal core-image-full-cmdline core-image-sato
world
That seems to fail with musl on the autobuilder with "Nothing RPROVIDES
'gettext-runtime' "
Quoted 5 lines
Quoted 3 lines

https://autobuilder.yocto.io/builders/nightly-musl/builds/313/steps/Buil
dImages/logs/stdio

Andre can you take care of adding it

OK, I'll have a look. core-image-minimal works fine, the other targets require GPLv3 & X11, which might take me a few days to set up to reproduce.

Cheers,
Andre'