All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] python*-setuptools: add separate packages for pkg_resources module
@ 2019-05-16 21:09 luca.boccassi
  2019-05-20 14:14 ` Richard Purdie
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: luca.boccassi @ 2019-05-16 21:09 UTC (permalink / raw)
  To: openembedded-core

From: Luca Boccassi <luca.boccassi@microsoft.com>

The pkg_resources Python module is useful by itself, for example for
automatic loading of resources shipped in a Python package.
Add separate packages for it, so that users can depend on them
individually and avoid pulling in the entire setuptools, which
include scripts to download other packages, which might not be
desired on minimal images.

Other distributions like Debian and Ubuntu already split setuptools
and pkg-resources in this way.

The setuptools packages now depend on the new pkg-resources packages,
to avoid regressions for other packages that depend on them
already.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
 meta/recipes-devtools/python/python-setuptools.inc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
index 357aa07086..ad00cbe0ef 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -24,6 +24,7 @@ RDEPENDS_${PN} = "\
   ${PYTHON_PN}-html \
   ${PYTHON_PN}-netserver \
   ${PYTHON_PN}-numbers \
+  ${PYTHON_PN}-pkg-resources \
   ${PYTHON_PN}-pkgutil \
   ${PYTHON_PN}-plistlib \
   ${PYTHON_PN}-shell \
@@ -37,3 +38,6 @@ do_install_prepend() {
 }
 
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
-- 
2.20.1



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

* Re: [PATCH] python*-setuptools: add separate packages for pkg_resources module
  2019-05-16 21:09 [PATCH] python*-setuptools: add separate packages for pkg_resources module luca.boccassi
@ 2019-05-20 14:14 ` Richard Purdie
  2019-05-20 15:04   ` Luca Boccassi
  2019-05-21 10:59 ` [PATCH v2] " luca.boccassi
  2019-05-21 12:36 ` [PATCH v4] " luca.boccassi
  2 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2019-05-20 14:14 UTC (permalink / raw)
  To: luca.boccassi, openembedded-core

On Thu, 2019-05-16 at 22:09 +0100, luca.boccassi@gmail.com wrote:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
> 
> The pkg_resources Python module is useful by itself, for example for
> automatic loading of resources shipped in a Python package.
> Add separate packages for it, so that users can depend on them
> individually and avoid pulling in the entire setuptools, which
> include scripts to download other packages, which might not be
> desired on minimal images.
> 
> Other distributions like Debian and Ubuntu already split setuptools
> and pkg-resources in this way.
> 
> The setuptools packages now depend on the new pkg-resources packages,
> to avoid regressions for other packages that depend on them
> already.
> 
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
>  meta/recipes-devtools/python/python-setuptools.inc | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> b/meta/recipes-devtools/python/python-setuptools.inc
> index 357aa07086..ad00cbe0ef 100644
> --- a/meta/recipes-devtools/python/python-setuptools.inc
> +++ b/meta/recipes-devtools/python/python-setuptools.inc
> @@ -24,6 +24,7 @@ RDEPENDS_${PN} = "\
>    ${PYTHON_PN}-html \
>    ${PYTHON_PN}-netserver \
>    ${PYTHON_PN}-numbers \
> +  ${PYTHON_PN}-pkg-resources \
>    ${PYTHON_PN}-pkgutil \
>    ${PYTHON_PN}-plistlib \
>    ${PYTHON_PN}-shell \
> @@ -37,3 +38,6 @@ do_install_prepend() {
>  }
>  
>  BBCLASSEXTEND = "native nativesdk"
> +
> +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> +FILES_${PYTHON_PN}-pkg-resources =
> "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"


This breaks native builds:

https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/614

(and many other similar failures)

Cheers,

Richard



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

* Re: [PATCH] python*-setuptools: add separate packages for pkg_resources module
  2019-05-20 14:14 ` Richard Purdie
@ 2019-05-20 15:04   ` Luca Boccassi
  2019-05-20 16:28     ` Alexander Kanavin
  0 siblings, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2019-05-20 15:04 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

On Mon, 2019-05-20 at 15:14 +0100, Richard Purdie wrote:
> On Thu, 2019-05-16 at 22:09 +0100, 
> luca.boccassi@gmail.com
>  wrote:
> > From: Luca Boccassi <
> > luca.boccassi@microsoft.com
> > >
> > 
> > The pkg_resources Python module is useful by itself, for example
> > for
> > automatic loading of resources shipped in a Python package.
> > Add separate packages for it, so that users can depend on them
> > individually and avoid pulling in the entire setuptools, which
> > include scripts to download other packages, which might not be
> > desired on minimal images.
> > 
> > Other distributions like Debian and Ubuntu already split setuptools
> > and pkg-resources in this way.
> > 
> > The setuptools packages now depend on the new pkg-resources
> > packages,
> > to avoid regressions for other packages that depend on them
> > already.
> > 
> > Signed-off-by: Luca Boccassi <
> > luca.boccassi@microsoft.com
> > >
> > ---
> >  meta/recipes-devtools/python/python-setuptools.inc | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> > b/meta/recipes-devtools/python/python-setuptools.inc
> > index 357aa07086..ad00cbe0ef 100644
> > --- a/meta/recipes-devtools/python/python-setuptools.inc
> > +++ b/meta/recipes-devtools/python/python-setuptools.inc
> > @@ -24,6 +24,7 @@ RDEPENDS_${PN} = "\
> >    ${PYTHON_PN}-html \
> >    ${PYTHON_PN}-netserver \
> >    ${PYTHON_PN}-numbers \
> > +  ${PYTHON_PN}-pkg-resources \
> >    ${PYTHON_PN}-pkgutil \
> >    ${PYTHON_PN}-plistlib \
> >    ${PYTHON_PN}-shell \
> > @@ -37,3 +38,6 @@ do_install_prepend() {
> >  }
> >  
> >  BBCLASSEXTEND = "native nativesdk"
> > +
> > +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> > +FILES_${PYTHON_PN}-pkg-resources =
> > "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> 
> 
> This breaks native builds:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/614
> 
> 
> (and many other similar failures)
> 
> Cheers,
> 
> Richard

Hello Richard,

Thanks for the heads-up, any suggestion as to why the above patch
wouldn't be enough to build both native and target binary packages for $python-pkg-resources?

-- 
Kind regards,
Luca Boccassi



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

* Re: [PATCH] python*-setuptools: add separate packages for pkg_resources module
  2019-05-20 15:04   ` Luca Boccassi
@ 2019-05-20 16:28     ` Alexander Kanavin
  0 siblings, 0 replies; 11+ messages in thread
From: Alexander Kanavin @ 2019-05-20 16:28 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: OE-core

I think you need to reset RDEPENDS to an empty string for the native
class. This is a long-standing problem, where bitbake is not able to
fulfil RDEPENDS for native variants, if said RDEPENDS contains
anything except recipe names.

Alex

On Mon, 20 May 2019 at 17:05, Luca Boccassi <luca.boccassi@gmail.com> wrote:
>
> On Mon, 2019-05-20 at 15:14 +0100, Richard Purdie wrote:
> > On Thu, 2019-05-16 at 22:09 +0100,
> > luca.boccassi@gmail.com
> >  wrote:
> > > From: Luca Boccassi <
> > > luca.boccassi@microsoft.com
> > > >
> > >
> > > The pkg_resources Python module is useful by itself, for example
> > > for
> > > automatic loading of resources shipped in a Python package.
> > > Add separate packages for it, so that users can depend on them
> > > individually and avoid pulling in the entire setuptools, which
> > > include scripts to download other packages, which might not be
> > > desired on minimal images.
> > >
> > > Other distributions like Debian and Ubuntu already split setuptools
> > > and pkg-resources in this way.
> > >
> > > The setuptools packages now depend on the new pkg-resources
> > > packages,
> > > to avoid regressions for other packages that depend on them
> > > already.
> > >
> > > Signed-off-by: Luca Boccassi <
> > > luca.boccassi@microsoft.com
> > > >
> > > ---
> > >  meta/recipes-devtools/python/python-setuptools.inc | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> > > b/meta/recipes-devtools/python/python-setuptools.inc
> > > index 357aa07086..ad00cbe0ef 100644
> > > --- a/meta/recipes-devtools/python/python-setuptools.inc
> > > +++ b/meta/recipes-devtools/python/python-setuptools.inc
> > > @@ -24,6 +24,7 @@ RDEPENDS_${PN} = "\
> > >    ${PYTHON_PN}-html \
> > >    ${PYTHON_PN}-netserver \
> > >    ${PYTHON_PN}-numbers \
> > > +  ${PYTHON_PN}-pkg-resources \
> > >    ${PYTHON_PN}-pkgutil \
> > >    ${PYTHON_PN}-plistlib \
> > >    ${PYTHON_PN}-shell \
> > > @@ -37,3 +38,6 @@ do_install_prepend() {
> > >  }
> > >
> > >  BBCLASSEXTEND = "native nativesdk"
> > > +
> > > +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> > > +FILES_${PYTHON_PN}-pkg-resources =
> > > "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> >
> >
> > This breaks native builds:
> >
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/614
> >
> >
> > (and many other similar failures)
> >
> > Cheers,
> >
> > Richard
>
> Hello Richard,
>
> Thanks for the heads-up, any suggestion as to why the above patch
> wouldn't be enough to build both native and target binary packages for $python-pkg-resources?
>
> --
> Kind regards,
> Luca Boccassi
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* [PATCH v2] python*-setuptools: add separate packages for pkg_resources module
  2019-05-16 21:09 [PATCH] python*-setuptools: add separate packages for pkg_resources module luca.boccassi
  2019-05-20 14:14 ` Richard Purdie
@ 2019-05-21 10:59 ` luca.boccassi
  2019-05-21 11:11   ` richard.purdie
  2019-05-21 12:36 ` [PATCH v4] " luca.boccassi
  2 siblings, 1 reply; 11+ messages in thread
From: luca.boccassi @ 2019-05-21 10:59 UTC (permalink / raw)
  To: openembedded-core

From: Luca Boccassi <luca.boccassi@microsoft.com>

The pkg_resources Python module is useful by itself, for example for
automatic loading of resources shipped in a Python package.
Add separate packages for it, so that users can depend on them
individually and avoid pulling in the entire setuptools, which
include scripts to download other packages, which might not be
desired on minimal images.

Other distributions like Debian and Ubuntu already split setuptools
and pkg-resources in this way.

The setuptools packages now depend on the new pkg-resources packages,
to avoid regressions for other packages that depend on them
already.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
v2: restrict new RDEPENDS to class-target. As advised by Alexander, bitbake
    cannot resolve native rdeps that mention package names rather than
    recipe names.

 meta/recipes-devtools/python/python-setuptools.inc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
index 357aa07086..c5dcee7059 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -37,3 +37,9 @@ do_install_prepend() {
 }
 
 BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+# Due to a bitbake bug, the native class cannot have a dependency on something
+# that is not a recipe name.
+RDEPENDS_${PN}_append_class-target = " ${PYTHON_PN}-pkg-resources"
-- 
2.20.1



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

* Re: [PATCH v2] python*-setuptools: add separate packages for pkg_resources module
  2019-05-21 10:59 ` [PATCH v2] " luca.boccassi
@ 2019-05-21 11:11   ` richard.purdie
  0 siblings, 0 replies; 11+ messages in thread
From: richard.purdie @ 2019-05-21 11:11 UTC (permalink / raw)
  To: luca.boccassi, openembedded-core

On Tue, 2019-05-21 at 11:59 +0100, luca.boccassi@gmail.com wrote:
> From: Luca Boccassi <luca.boccassi@microsoft.com>
> 
> The pkg_resources Python module is useful by itself, for example for
> automatic loading of resources shipped in a Python package.
> Add separate packages for it, so that users can depend on them
> individually and avoid pulling in the entire setuptools, which
> include scripts to download other packages, which might not be
> desired on minimal images.
> 
> Other distributions like Debian and Ubuntu already split setuptools
> and pkg-resources in this way.
> 
> The setuptools packages now depend on the new pkg-resources packages,
> to avoid regressions for other packages that depend on them
> already.
> 
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
> v2: restrict new RDEPENDS to class-target. As advised by Alexander,
> bitbake
>     cannot resolve native rdeps that mention package names rather
> than
>     recipe names.
> 
>  meta/recipes-devtools/python/python-setuptools.inc | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> b/meta/recipes-devtools/python/python-setuptools.inc
> index 357aa07086..c5dcee7059 100644
> --- a/meta/recipes-devtools/python/python-setuptools.inc
> +++ b/meta/recipes-devtools/python/python-setuptools.inc
> @@ -37,3 +37,9 @@ do_install_prepend() {
>  }
>  
>  BBCLASSEXTEND = "native nativesdk"
> +
> +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> +FILES_${PYTHON_PN}-pkg-resources =
> "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> +# Due to a bitbake bug, the native class cannot have a dependency on
> something
> +# that is not a recipe name.
> +RDEPENDS_${PN}_append_class-target = " ${PYTHON_PN}-pkg-resources"

Its not a bitbake bug as such but the way OE-Core decided to implement
native recipes.

I'm guessing but the best thing to do here is probably add:

RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native"

which is slightly cleaner than the target change above (I'm left
wondering if nativesdk works in that case).

Cheers,

Richard




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

* [PATCH v4] python*-setuptools: add separate packages for pkg_resources module
  2019-05-16 21:09 [PATCH] python*-setuptools: add separate packages for pkg_resources module luca.boccassi
  2019-05-20 14:14 ` Richard Purdie
  2019-05-21 10:59 ` [PATCH v2] " luca.boccassi
@ 2019-05-21 12:36 ` luca.boccassi
  2019-05-22  2:06   ` Khem Raj
  2 siblings, 1 reply; 11+ messages in thread
From: luca.boccassi @ 2019-05-21 12:36 UTC (permalink / raw)
  To: openembedded-core

From: Luca Boccassi <luca.boccassi@microsoft.com>

The pkg_resources Python module is useful by itself, for example for
automatic loading of resources shipped in a Python package.
Add separate packages for it, so that users can depend on them
individually and avoid pulling in the entire setuptools, which
include scripts to download other packages, which might not be
desired on minimal images.

Other distributions like Debian and Ubuntu already split setuptools
and pkg-resources in this way.

The setuptools packages now depend on the new pkg-resources packages,
to avoid regressions for other packages that depend on them
already.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
v2: restrict new RDEPENDS to class-target. As advised by Alexander, bitbake
    cannot resolve native rdeps that mention package names rather than
    recipe names.
v3: manually add RPROVIDES to the native class instead of restricting the
    RDEPENDS to the target class as a better workaround. Also document why
    the package is being split.
v4: re-send to the correct thread, no changes.

 meta/recipes-devtools/python/python-setuptools.inc | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
index 357aa07086..f49e078697 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -37,3 +37,14 @@ do_install_prepend() {
 }
 
 BBCLASSEXTEND = "native nativesdk"
+
+# The pkg-resources module can be used by itself, without the package downloader
+# and easy_install. Ship it in a separate package so that it can be used by
+# minimal distributions.
+PACKAGES =+ "${PYTHON_PN}-pkg-resources "
+FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
+# Due to the way OE-Core implemented native recipes, the native class cannot
+# have a dependency on something that is not a recipe name. Work around that by
+# manually setting RPROVIDES.
+RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
+RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native"
-- 
2.20.1



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

* Re: [PATCH v4] python*-setuptools: add separate packages for pkg_resources module
  2019-05-21 12:36 ` [PATCH v4] " luca.boccassi
@ 2019-05-22  2:06   ` Khem Raj
  2019-05-22 10:58     ` Luca Boccassi
  0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2019-05-22  2:06 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Patches and discussions about the oe-core layer

On Tue, May 21, 2019 at 5:36 AM <luca.boccassi@gmail.com> wrote:
>
> From: Luca Boccassi <luca.boccassi@microsoft.com>
>
> The pkg_resources Python module is useful by itself, for example for
> automatic loading of resources shipped in a Python package.
> Add separate packages for it, so that users can depend on them
> individually and avoid pulling in the entire setuptools, which
> include scripts to download other packages, which might not be
> desired on minimal images.
>
> Other distributions like Debian and Ubuntu already split setuptools
> and pkg-resources in this way.
>
> The setuptools packages now depend on the new pkg-resources packages,
> to avoid regressions for other packages that depend on them
> already.
>
> Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> ---
> v2: restrict new RDEPENDS to class-target. As advised by Alexander, bitbake
>     cannot resolve native rdeps that mention package names rather than
>     recipe names.
> v3: manually add RPROVIDES to the native class instead of restricting the
>     RDEPENDS to the target class as a better workaround. Also document why
>     the package is being split.
> v4: re-send to the correct thread, no changes.
>
>  meta/recipes-devtools/python/python-setuptools.inc | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/meta/recipes-devtools/python/python-setuptools.inc b/meta/recipes-devtools/python/python-setuptools.inc
> index 357aa07086..f49e078697 100644
> --- a/meta/recipes-devtools/python/python-setuptools.inc
> +++ b/meta/recipes-devtools/python/python-setuptools.inc
> @@ -37,3 +37,14 @@ do_install_prepend() {
>  }
>
>  BBCLASSEXTEND = "native nativesdk"
> +
> +# The pkg-resources module can be used by itself, without the package downloader
> +# and easy_install. Ship it in a separate package so that it can be used by
> +# minimal distributions.
> +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> +FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> +# Due to the way OE-Core implemented native recipes, the native class cannot
> +# have a dependency on something that is not a recipe name. Work around that by
> +# manually setting RPROVIDES.
> +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
> +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native"

do we need to handle nativesdk case ?

> 2.20.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH v4] python*-setuptools: add separate packages for pkg_resources module
  2019-05-22  2:06   ` Khem Raj
@ 2019-05-22 10:58     ` Luca Boccassi
  2019-05-24 17:29       ` Khem Raj
  0 siblings, 1 reply; 11+ messages in thread
From: Luca Boccassi @ 2019-05-22 10:58 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

On Tue, 2019-05-21 at 19:06 -0700, Khem Raj wrote:
> On Tue, May 21, 2019 at 5:36 AM <
> luca.boccassi@gmail.com
> > wrote:
> > From: Luca Boccassi <
> > luca.boccassi@microsoft.com
> > >
> > 
> > The pkg_resources Python module is useful by itself, for example
> > for
> > automatic loading of resources shipped in a Python package.
> > Add separate packages for it, so that users can depend on them
> > individually and avoid pulling in the entire setuptools, which
> > include scripts to download other packages, which might not be
> > desired on minimal images.
> > 
> > Other distributions like Debian and Ubuntu already split setuptools
> > and pkg-resources in this way.
> > 
> > The setuptools packages now depend on the new pkg-resources
> > packages,
> > to avoid regressions for other packages that depend on them
> > already.
> > 
> > Signed-off-by: Luca Boccassi <
> > luca.boccassi@microsoft.com
> > >
> > ---
> > v2: restrict new RDEPENDS to class-target. As advised by Alexander,
> > bitbake
> >     cannot resolve native rdeps that mention package names rather
> > than
> >     recipe names.
> > v3: manually add RPROVIDES to the native class instead of
> > restricting the
> >     RDEPENDS to the target class as a better workaround. Also
> > document why
> >     the package is being split.
> > v4: re-send to the correct thread, no changes.
> > 
> >  meta/recipes-devtools/python/python-setuptools.inc | 11
> > +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> > b/meta/recipes-devtools/python/python-setuptools.inc
> > index 357aa07086..f49e078697 100644
> > --- a/meta/recipes-devtools/python/python-setuptools.inc
> > +++ b/meta/recipes-devtools/python/python-setuptools.inc
> > @@ -37,3 +37,14 @@ do_install_prepend() {
> >  }
> > 
> >  BBCLASSEXTEND = "native nativesdk"
> > +
> > +# The pkg-resources module can be used by itself, without the
> > package downloader
> > +# and easy_install. Ship it in a separate package so that it can
> > be used by
> > +# minimal distributions.
> > +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> > +FILES_${PYTHON_PN}-pkg-resources =
> > "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> > +# Due to the way OE-Core implemented native recipes, the native
> > class cannot
> > +# have a dependency on something that is not a recipe name. Work
> > around that by
> > +# manually setting RPROVIDES.
> > +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
> > +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-
> > native"
> 
> do we need to handle nativesdk case ?

Hi,

The parsing step of "bitbake core-image-minimal -c populate_sdk" works,
while without the append_class-native workaround it fails immediately.
Is this enough or is there something else I should run to check?

Thanks!

-- 
Kind regards,
Luca Boccassi



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

* Re: [PATCH v4] python*-setuptools: add separate packages for pkg_resources module
  2019-05-22 10:58     ` Luca Boccassi
@ 2019-05-24 17:29       ` Khem Raj
  2019-05-25 12:59         ` Luca Boccassi
  0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2019-05-24 17:29 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Patches and discussions about the oe-core layer

On Wed, May 22, 2019 at 3:58 AM Luca Boccassi <luca.boccassi@gmail.com> wrote:
>
> On Tue, 2019-05-21 at 19:06 -0700, Khem Raj wrote:
> > On Tue, May 21, 2019 at 5:36 AM <
> > luca.boccassi@gmail.com
> > > wrote:
> > > From: Luca Boccassi <
> > > luca.boccassi@microsoft.com
> > > >
> > >
> > > The pkg_resources Python module is useful by itself, for example
> > > for
> > > automatic loading of resources shipped in a Python package.
> > > Add separate packages for it, so that users can depend on them
> > > individually and avoid pulling in the entire setuptools, which
> > > include scripts to download other packages, which might not be
> > > desired on minimal images.
> > >
> > > Other distributions like Debian and Ubuntu already split setuptools
> > > and pkg-resources in this way.
> > >
> > > The setuptools packages now depend on the new pkg-resources
> > > packages,
> > > to avoid regressions for other packages that depend on them
> > > already.
> > >
> > > Signed-off-by: Luca Boccassi <
> > > luca.boccassi@microsoft.com
> > > >
> > > ---
> > > v2: restrict new RDEPENDS to class-target. As advised by Alexander,
> > > bitbake
> > >     cannot resolve native rdeps that mention package names rather
> > > than
> > >     recipe names.
> > > v3: manually add RPROVIDES to the native class instead of
> > > restricting the
> > >     RDEPENDS to the target class as a better workaround. Also
> > > document why
> > >     the package is being split.
> > > v4: re-send to the correct thread, no changes.
> > >
> > >  meta/recipes-devtools/python/python-setuptools.inc | 11
> > > +++++++++++
> > >  1 file changed, 11 insertions(+)
> > >
> > > diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> > > b/meta/recipes-devtools/python/python-setuptools.inc
> > > index 357aa07086..f49e078697 100644
> > > --- a/meta/recipes-devtools/python/python-setuptools.inc
> > > +++ b/meta/recipes-devtools/python/python-setuptools.inc
> > > @@ -37,3 +37,14 @@ do_install_prepend() {
> > >  }
> > >
> > >  BBCLASSEXTEND = "native nativesdk"
> > > +
> > > +# The pkg-resources module can be used by itself, without the
> > > package downloader
> > > +# and easy_install. Ship it in a separate package so that it can
> > > be used by
> > > +# minimal distributions.
> > > +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> > > +FILES_${PYTHON_PN}-pkg-resources =
> > > "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> > > +# Due to the way OE-Core implemented native recipes, the native
> > > class cannot
> > > +# have a dependency on something that is not a recipe name. Work
> > > around that by
> > > +# manually setting RPROVIDES.
> > > +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
> > > +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-
> > > native"
> >
> > do we need to handle nativesdk case ?
>
> Hi,
>
> The parsing step of "bitbake core-image-minimal -c populate_sdk" works,
> while without the append_class-native workaround it fails immediately.
> Is this enough or is there something else I should run to check?
>

yeah usually to test nativesdk we need to do it with generated SDK

> Thanks!
>
> --
> Kind regards,
> Luca Boccassi
>


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

* Re: [PATCH v4] python*-setuptools: add separate packages for pkg_resources module
  2019-05-24 17:29       ` Khem Raj
@ 2019-05-25 12:59         ` Luca Boccassi
  0 siblings, 0 replies; 11+ messages in thread
From: Luca Boccassi @ 2019-05-25 12:59 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

On Fri, 2019-05-24 at 10:29 -0700, Khem Raj wrote:
> On Wed, May 22, 2019 at 3:58 AM Luca Boccassi <luca.boccassi@gmail.co
> m> wrote:
> > 
> > On Tue, 2019-05-21 at 19:06 -0700, Khem Raj wrote:
> > > On Tue, May 21, 2019 at 5:36 AM <
> > > luca.boccassi@gmail.com
> > > > wrote:
> > > > From: Luca Boccassi <
> > > > luca.boccassi@microsoft.com
> > > > > 
> > > > 
> > > > The pkg_resources Python module is useful by itself, for
> > > > example
> > > > for
> > > > automatic loading of resources shipped in a Python package.
> > > > Add separate packages for it, so that users can depend on them
> > > > individually and avoid pulling in the entire setuptools, which
> > > > include scripts to download other packages, which might not be
> > > > desired on minimal images.
> > > > 
> > > > Other distributions like Debian and Ubuntu already split
> > > > setuptools
> > > > and pkg-resources in this way.
> > > > 
> > > > The setuptools packages now depend on the new pkg-resources
> > > > packages,
> > > > to avoid regressions for other packages that depend on them
> > > > already.
> > > > 
> > > > Signed-off-by: Luca Boccassi <
> > > > luca.boccassi@microsoft.com
> > > > > 
> > > > 
> > > > ---
> > > > v2: restrict new RDEPENDS to class-target. As advised by
> > > > Alexander,
> > > > bitbake
> > > >     cannot resolve native rdeps that mention package names
> > > > rather
> > > > than
> > > >     recipe names.
> > > > v3: manually add RPROVIDES to the native class instead of
> > > > restricting the
> > > >     RDEPENDS to the target class as a better workaround. Also
> > > > document why
> > > >     the package is being split.
> > > > v4: re-send to the correct thread, no changes.
> > > > 
> > > >  meta/recipes-devtools/python/python-setuptools.inc | 11
> > > > +++++++++++
> > > >  1 file changed, 11 insertions(+)
> > > > 
> > > > diff --git a/meta/recipes-devtools/python/python-setuptools.inc
> > > > b/meta/recipes-devtools/python/python-setuptools.inc
> > > > index 357aa07086..f49e078697 100644
> > > > --- a/meta/recipes-devtools/python/python-setuptools.inc
> > > > +++ b/meta/recipes-devtools/python/python-setuptools.inc
> > > > @@ -37,3 +37,14 @@ do_install_prepend() {
> > > >  }
> > > > 
> > > >  BBCLASSEXTEND = "native nativesdk"
> > > > +
> > > > +# The pkg-resources module can be used by itself, without the
> > > > package downloader
> > > > +# and easy_install. Ship it in a separate package so that it
> > > > can
> > > > be used by
> > > > +# minimal distributions.
> > > > +PACKAGES =+ "${PYTHON_PN}-pkg-resources "
> > > > +FILES_${PYTHON_PN}-pkg-resources =
> > > > "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*"
> > > > +# Due to the way OE-Core implemented native recipes, the
> > > > native
> > > > class cannot
> > > > +# have a dependency on something that is not a recipe name.
> > > > Work
> > > > around that by
> > > > +# manually setting RPROVIDES.
> > > > +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources"
> > > > +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-
> > > > native"
> > > 
> > > do we need to handle nativesdk case ?
> > 
> > Hi,
> > 
> > The parsing step of "bitbake core-image-minimal -c populate_sdk"
> > works,
> > while without the append_class-native workaround it fails
> > immediately.
> > Is this enough or is there something else I should run to check?
> > 
> 
> yeah usually to test nativesdk we need to do it with generated SDK

I do have a nativesdk target in the distro at $work, but I realise it
might be different enough. Is there a simple config change/command to
generate it from Poky?

-- 
Kind regards,
Luca Boccassi


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

end of thread, other threads:[~2019-05-25 12:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-16 21:09 [PATCH] python*-setuptools: add separate packages for pkg_resources module luca.boccassi
2019-05-20 14:14 ` Richard Purdie
2019-05-20 15:04   ` Luca Boccassi
2019-05-20 16:28     ` Alexander Kanavin
2019-05-21 10:59 ` [PATCH v2] " luca.boccassi
2019-05-21 11:11   ` richard.purdie
2019-05-21 12:36 ` [PATCH v4] " luca.boccassi
2019-05-22  2:06   ` Khem Raj
2019-05-22 10:58     ` Luca Boccassi
2019-05-24 17:29       ` Khem Raj
2019-05-25 12:59         ` Luca Boccassi

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.