All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] gcompat: Add recipe
@ 2021-06-12 19:43 Khem Raj
  2021-06-12 19:43 ` [PATCH 2/2] musl: Do not package glibc loader Khem Raj
  2021-06-12 20:23 ` [OE-core] [PATCH 1/2] gcompat: Add recipe Alexander Kanavin
  0 siblings, 2 replies; 4+ messages in thread
From: Khem Raj @ 2021-06-12 19:43 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj, Andrea Adami

This is a compat library which helps running pre-compiled binaries which were
compiled for glibc but needs to run on musl systems, this is quite
common case where pre-existing binaries are supplied and can not be
recompiled immediately

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrea Adami <andrea.adami@gmail.com>
---
 meta/conf/distro/include/maintainers.inc |  1 +
 meta/recipes-core/musl/gcompat_git.bb    | 42 ++++++++++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 meta/recipes-core/musl/gcompat_git.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 71943ffe26..e59f01d66a 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -229,6 +229,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gm
 RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/recipes-core/musl/gcompat_git.bb b/meta/recipes-core/musl/gcompat_git.bb
new file mode 100644
index 0000000000..6792c0be70
--- /dev/null
+++ b/meta/recipes-core/musl/gcompat_git.bb
@@ -0,0 +1,42 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A library which provides glibc-compatible APIs for use on musl libc systems"
+HOMEPAGE = "https://git.adelielinux.org/adelie/gcompat"
+
+LICENSE = "NCSA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792"
+
+SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
+
+PV = "1.0.0+1.1+git${SRCPV}"
+SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig linuxloader
+
+DEPENDS += "musl-obstack"
+
+GLIBC_LDSO = "${@get_glibc_loader(d)}"
+MUSL_LDSO = "${@get_musl_loader(d)}"
+
+EXTRA_OEMAKE = "LINKER_PATH=${MUSL_LDSO} LOADER_NAME=`basename ${@get_glibc_loader(d)}`"
+
+do_configure () {
+	:
+}
+
+do_compile () {
+	oe_runmake
+}
+
+do_install () {
+	oe_runmake install 'DESTDIR=${D}'
+}
+#
+# We will skip parsing for non-musl systems
+#
+COMPATIBLE_HOST = ".*-musl.*"
+
+UPSTREAM_CHECK_COMMITS = "1"
-- 
2.32.0


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

* [PATCH 2/2] musl: Do not package glibc loader
  2021-06-12 19:43 [PATCH 1/2] gcompat: Add recipe Khem Raj
@ 2021-06-12 19:43 ` Khem Raj
  2021-06-12 20:23 ` [OE-core] [PATCH 1/2] gcompat: Add recipe Alexander Kanavin
  1 sibling, 0 replies; 4+ messages in thread
From: Khem Raj @ 2021-06-12 19:43 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

This was a ad-hoc solution which did not really work in all cases, now
gcompat is provided to deal with glibc based prebuilts, therefore there
is no need to provide this package

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/gcompat_git.bb | 2 ++
 meta/recipes-core/musl/musl_git.bb    | 4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/musl/gcompat_git.bb b/meta/recipes-core/musl/gcompat_git.bb
index 6792c0be70..e1ae052c44 100644
--- a/meta/recipes-core/musl/gcompat_git.bb
+++ b/meta/recipes-core/musl/gcompat_git.bb
@@ -34,6 +34,8 @@ do_compile () {
 do_install () {
 	oe_runmake install 'DESTDIR=${D}'
 }
+
+RPROVIDES_${PN} += "musl-glibc-compat"
 #
 # We will skip parsing for non-musl systems
 #
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index 795b888bb3..6569d1b37b 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -68,13 +68,9 @@ do_install() {
         echo "${libdir}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path
 	rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
 	lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
-	lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
 }
 
-PACKAGES =+ "${PN}-glibc-compat"
-
 FILES_${PN} += "/lib/ld-musl-${MUSL_LDSO_ARCH}.so.1 ${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path"
-FILES_${PN}-glibc-compat += "${GLIBC_LDSO}"
 FILES_${PN}-staticdev = "${libdir}/libc.a"
 FILES_${PN}-dev =+ "${libdir}/libcrypt.a ${libdir}/libdl.a ${libdir}/libm.a \
                     ${libdir}/libpthread.a ${libdir}/libresolv.a \
-- 
2.32.0


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

* Re: [OE-core] [PATCH 1/2] gcompat: Add recipe
  2021-06-12 19:43 [PATCH 1/2] gcompat: Add recipe Khem Raj
  2021-06-12 19:43 ` [PATCH 2/2] musl: Do not package glibc loader Khem Raj
@ 2021-06-12 20:23 ` Alexander Kanavin
  2021-06-12 22:09   ` Khem Raj
  1 sibling, 1 reply; 4+ messages in thread
From: Alexander Kanavin @ 2021-06-12 20:23 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core, Andrea Adami

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

Please ensure that PV is set so that upstream version check works (I'm not
sure if it does, looking at it):

devtool check-upgrade-status gcompat


Alex

On Sat, 12 Jun 2021 at 21:43, Khem Raj <raj.khem@gmail.com> wrote:

> This is a compat library which helps running pre-compiled binaries which
> were
> compiled for glibc but needs to run on musl systems, this is quite
> common case where pre-existing binaries are supplied and can not be
> recompiled immediately
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Andrea Adami <andrea.adami@gmail.com>
> ---
>  meta/conf/distro/include/maintainers.inc |  1 +
>  meta/recipes-core/musl/gcompat_git.bb    | 42 ++++++++++++++++++++++++
>  2 files changed, 43 insertions(+)
>  create mode 100644 meta/recipes-core/musl/gcompat_git.bb
>
> diff --git a/meta/conf/distro/include/maintainers.inc
> b/meta/conf/distro/include/maintainers.inc
> index 71943ffe26..e59f01d66a 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -229,6 +229,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection =
> "Alexander Kanavin <alex.kanavin@gm
>  RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
>  RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <
> alex.kanavin@gmail.com>"
> +RECIPE_MAINTAINER_pn-gcompat = "Khem Raj <raj.khem@gmail.com>"
>  RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
>  RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
> diff --git a/meta/recipes-core/musl/gcompat_git.bb
> b/meta/recipes-core/musl/gcompat_git.bb
> new file mode 100644
> index 0000000000..6792c0be70
> --- /dev/null
> +++ b/meta/recipes-core/musl/gcompat_git.bb
> @@ -0,0 +1,42 @@
> +# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "A library which provides glibc-compatible APIs for use on musl
> libc systems"
> +HOMEPAGE = "https://git.adelielinux.org/adelie/gcompat"
> +
> +LICENSE = "NCSA"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792"
> +
> +SRC_URI = "git://
> git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
> +
> +PV = "1.0.0+1.1+git${SRCPV}"
> +SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit pkgconfig linuxloader
> +
> +DEPENDS += "musl-obstack"
> +
> +GLIBC_LDSO = "${@get_glibc_loader(d)}"
> +MUSL_LDSO = "${@get_musl_loader(d)}"
> +
> +EXTRA_OEMAKE = "LINKER_PATH=${MUSL_LDSO} LOADER_NAME=`basename
> ${@get_glibc_loader(d)}`"
> +
> +do_configure () {
> +       :
> +}
> +
> +do_compile () {
> +       oe_runmake
> +}
> +
> +do_install () {
> +       oe_runmake install 'DESTDIR=${D}'
> +}
> +#
> +# We will skip parsing for non-musl systems
> +#
> +COMPATIBLE_HOST = ".*-musl.*"
> +
> +UPSTREAM_CHECK_COMMITS = "1"
> --
> 2.32.0
>
>
> 
>
>

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

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

* Re: [OE-core] [PATCH 1/2] gcompat: Add recipe
  2021-06-12 20:23 ` [OE-core] [PATCH 1/2] gcompat: Add recipe Alexander Kanavin
@ 2021-06-12 22:09   ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2021-06-12 22:09 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core, Andrea Adami



On 6/12/21 1:23 PM, Alexander Kanavin wrote:
> Please ensure that PV is set so that upstream version check works (I'm 
> not sure if it does, looking at it):
> 
> devtool check-upgrade-status gcompat

its working fine, PV is set ( just below SRC_URI),

> 
> 
> Alex
> 
> On Sat, 12 Jun 2021 at 21:43, Khem Raj <raj.khem@gmail.com 
> <mailto:raj.khem@gmail.com>> wrote:
> 
>     This is a compat library which helps running pre-compiled binaries
>     which were
>     compiled for glibc but needs to run on musl systems, this is quite
>     common case where pre-existing binaries are supplied and can not be
>     recompiled immediately
> 
>     Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
>     Cc: Andrea Adami <andrea.adami@gmail.com
>     <mailto:andrea.adami@gmail.com>>
>     ---
>       meta/conf/distro/include/maintainers.inc |  1 +
>       meta/recipes-core/musl/gcompat_git.bb <http://gcompat_git.bb>    |
>     42 ++++++++++++++++++++++++
>       2 files changed, 43 insertions(+)
>       create mode 100644 meta/recipes-core/musl/gcompat_git.bb
>     <http://gcompat_git.bb>
> 
>     diff --git a/meta/conf/distro/include/maintainers.inc
>     b/meta/conf/distro/include/maintainers.inc
>     index 71943ffe26..e59f01d66a 100644
>     --- a/meta/conf/distro/include/maintainers.inc
>     +++ b/meta/conf/distro/include/maintainers.inc
>     @@ -229,6 +229,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection =
>     "Alexander Kanavin <alex.kanavin@gm
>       RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin
>     <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>>"
>       RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com
>     <mailto:hongxu.jia@windriver.com>>"
>       RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin
>     <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>>"
>     +RECIPE_MAINTAINER_pn-gcompat = "Khem Raj <raj.khem@gmail.com
>     <mailto:raj.khem@gmail.com>>"
>       RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org
>     <mailto:denis@denix.org>>"
>       RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com
>     <mailto:hongxu.jia@windriver.com>>"
>       RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com
>     <mailto:anuj.mittal@intel.com>>"
>     diff --git a/meta/recipes-core/musl/gcompat_git.bb
>     <http://gcompat_git.bb> b/meta/recipes-core/musl/gcompat_git.bb
>     <http://gcompat_git.bb>
>     new file mode 100644
>     index 0000000000..6792c0be70
>     --- /dev/null
>     +++ b/meta/recipes-core/musl/gcompat_git.bb <http://gcompat_git.bb>
>     @@ -0,0 +1,42 @@
>     +# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com
>     <mailto:raj.khem@gmail.com>>
>     +# Released under the MIT license (see COPYING.MIT for the terms)
>     +
>     +SUMMARY = "A library which provides glibc-compatible APIs for use
>     on musl libc systems"
>     +HOMEPAGE = "https://git.adelielinux.org/adelie/gcompat
>     <https://git.adelielinux.org/adelie/gcompat>"
>     +
>     +LICENSE = "NCSA"
>     +LIC_FILES_CHKSUM =
>     "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792"
>     +
>     +SRC_URI =
>     "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current
>     <http://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current>"
>     +
>     +PV = "1.0.0+1.1+git${SRCPV}"
>     +SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
>     +
>     +S = "${WORKDIR}/git"
>     +
>     +inherit pkgconfig linuxloader
>     +
>     +DEPENDS += "musl-obstack"
>     +
>     +GLIBC_LDSO = "${@get_glibc_loader(d)}"
>     +MUSL_LDSO = "${@get_musl_loader(d)}"
>     +
>     +EXTRA_OEMAKE = "LINKER_PATH=${MUSL_LDSO} LOADER_NAME=`basename
>     ${@get_glibc_loader(d)}`"
>     +
>     +do_configure () {
>     +       :
>     +}
>     +
>     +do_compile () {
>     +       oe_runmake
>     +}
>     +
>     +do_install () {
>     +       oe_runmake install 'DESTDIR=${D}'
>     +}
>     +#
>     +# We will skip parsing for non-musl systems
>     +#
>     +COMPATIBLE_HOST = ".*-musl.*"
>     +
>     +UPSTREAM_CHECK_COMMITS = "1"
>     -- 
>     2.32.0
> 
> 
>     
> 

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

end of thread, other threads:[~2021-06-12 22:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-12 19:43 [PATCH 1/2] gcompat: Add recipe Khem Raj
2021-06-12 19:43 ` [PATCH 2/2] musl: Do not package glibc loader Khem Raj
2021-06-12 20:23 ` [OE-core] [PATCH 1/2] gcompat: Add recipe Alexander Kanavin
2021-06-12 22:09   ` Khem Raj

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.