[OE-core] [PATCH v4] python*-setuptools: add separate packages for pkg_resources module

Luca Boccassi luca.boccassi at gmail.com
Sat May 25 12:59:32 UTC 2019


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 at 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 at gmail.com
> > > > wrote:
> > > > From: Luca Boccassi <
> > > > luca.boccassi at 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 at 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


More information about the Openembedded-core mailing list