Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies
@ 2019-08-09 11:15 Alexander Kanavin
  2019-08-09 11:15 ` [PATCH 2/2] insane.bbclass: in file-rdeps do not look into RDEPENDS recursively Alexander Kanavin
  2019-08-09 11:36 ` [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Adrian Bunk
  0 siblings, 2 replies; 4+ messages in thread
From: Alexander Kanavin @ 2019-08-09 11:15 UTC (permalink / raw)
  To: openembedded-core

The recipe is special in that it does not auto-detect them
at packaging step (via EXCLUDE_FROM_SHLIBS). With the recursive
RDEPENDS qa check gone they need to be listed explicitly.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 807e47e0ee2..0e626172b5f 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -152,7 +152,8 @@ do_install () {
 
 ELFUTILS = "nativesdk-elfutils"
 DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib"
-RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
+RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-glibc nativesdk-libgcc nativesdk-libstdc++ nativesdk-zlib nativesdk-gmp"
+RDEPENDS_${PN}_remove_sdkmingw32 = "nativesdk-glibc"
 
 SYSTEMHEADERS = "${target_includedir}/"
 SYSTEMLIBS = "${target_base_libdir}/"
-- 
2.17.1



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

* [PATCH 2/2] insane.bbclass: in file-rdeps do not look into RDEPENDS recursively
  2019-08-09 11:15 [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Alexander Kanavin
@ 2019-08-09 11:15 ` Alexander Kanavin
  2019-08-09 11:36 ` [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Adrian Bunk
  1 sibling, 0 replies; 4+ messages in thread
From: Alexander Kanavin @ 2019-08-09 11:15 UTC (permalink / raw)
  To: openembedded-core

Recursive RDEPENDS resolution requires that all of the dependent
recipes' packaging has completed. There is no mechanism to ensure that
and therefore races were observed.

This change effectively requires recipes to list their runtime file
dependencies explicitly rather than have them pulled indirectly.
This may require a bit of fixing in layers, but should result
in a better definition of runtime file dependencies.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/insane.bbclass | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 35c4fdb4913..9b886d13805 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -722,25 +722,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
                             filerdepends[subkey] = key[13:]
 
             if filerdepends:
-                next = rdepends
                 done = rdepends[:]
-                # Find all the rdepends on the dependency chain
-                while next:
-                    new = []
-                    for rdep in next:
-                        rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
-                        sub_rdeps = rdep_data.get("RDEPENDS_" + rdep)
-                        if not sub_rdeps:
-                            continue
-                        for sub_rdep in bb.utils.explode_deps(sub_rdeps):
-                            if sub_rdep in done:
-                                continue
-                            if oe.packagedata.has_subpkgdata(sub_rdep, d):
-                                # It's a new rdep
-                                done.append(sub_rdep)
-                                new.append(sub_rdep)
-                    next = new
-
                 # Add the rprovides of itself
                 if pkg not in done:
                     done.insert(0, pkg)
-- 
2.17.1



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

* Re: [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies
  2019-08-09 11:15 [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Alexander Kanavin
  2019-08-09 11:15 ` [PATCH 2/2] insane.bbclass: in file-rdeps do not look into RDEPENDS recursively Alexander Kanavin
@ 2019-08-09 11:36 ` Adrian Bunk
  2019-08-09 11:39   ` Alexander Kanavin
  1 sibling, 1 reply; 4+ messages in thread
From: Adrian Bunk @ 2019-08-09 11:36 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: openembedded-core

On Fri, Aug 09, 2019 at 01:15:18PM +0200, Alexander Kanavin wrote:
> The recipe is special in that it does not auto-detect them
> at packaging step (via EXCLUDE_FROM_SHLIBS). With the recursive
> RDEPENDS qa check gone they need to be listed explicitly.
> 
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
> index 807e47e0ee2..0e626172b5f 100644
> --- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
> +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
> @@ -152,7 +152,8 @@ do_install () {
>  
>  ELFUTILS = "nativesdk-elfutils"
>  DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib"
> -RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
> +RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-glibc nativesdk-libgcc nativesdk-libstdc++ nativesdk-zlib nativesdk-gmp"
> +RDEPENDS_${PN}_remove_sdkmingw32 = "nativesdk-glibc"
>...

These nativesdk-glibc dependencies look wrong for musl builds.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



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

* Re: [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies
  2019-08-09 11:36 ` [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Adrian Bunk
@ 2019-08-09 11:39   ` Alexander Kanavin
  0 siblings, 0 replies; 4+ messages in thread
From: Alexander Kanavin @ 2019-08-09 11:39 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: OE-core

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

On Fri, 9 Aug 2019 at 13:36, Adrian Bunk <bunk@stusta.de> wrote:

> >  ELFUTILS = "nativesdk-elfutils"
> >  DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}
> nativesdk-zlib"
> > -RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
> > +RDEPENDS_${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}
> nativesdk-glibc nativesdk-libgcc nativesdk-libstdc++ nativesdk-zlib
> nativesdk-gmp"
> > +RDEPENDS_${PN}_remove_sdkmingw32 = "nativesdk-glibc"
> >...
>
> These nativesdk-glibc dependencies look wrong for musl builds.
>

musl does not actually support nativesdk (only target builds), so it's safe
to hardcode glibc here.

Alex

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

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

end of thread, other threads:[~2019-08-09 11:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-09 11:15 [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Alexander Kanavin
2019-08-09 11:15 ` [PATCH 2/2] insane.bbclass: in file-rdeps do not look into RDEPENDS recursively Alexander Kanavin
2019-08-09 11:36 ` [PATCH 1/2] gcc-cross-canadian: add missing runtime dependencies Adrian Bunk
2019-08-09 11:39   ` Alexander Kanavin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox