[OE-core] [PATCH 2/2] python/python3: Add option to remove test files

Andrew Geissler geissonator at gmail.com
Thu Sep 13 00:46:55 UTC 2018


On Wed, Sep 12, 2018 at 4:11 PM Burton, Ross <ross.burton at intel.com> wrote:
>
> What are these files?  Are they needed by the test suite?  If so, lets
> just put them into python-tests along with the test suite.

I did have a brief email exchange with Alejandro in
http://lists.openembedded.org/pipermail/openembedded-core/2018-September/155471.html
where we talked about how certain packages require the test files
during build, so they'd need to be removed during install.   I figured
it was easiest to just do them all during install.

I see that python2-manifest.json does have a sqlite3 and sqlite3-tests
entry.  Is that the type of thing I should try with the other packages
or were you thinking something else?

I'm definitely very new to the python recipe, but willing to try out
whatever you guys think best.

Thanks!
Andrew
>
> Ross
>
> On 12 September 2018 at 21:40, Andrew Geissler <geissonator at gmail.com> wrote:
> > A quick search in the python package shows the following test
> > directories being included in the python image:
> > ./Python-2.7.14/Lib/bsddb/test
> > ./Python-2.7.14/Lib/sqlite3/test
> > ./Python-2.7.14/Lib/ctypes/test
> > ./Python-2.7.14/Lib/unittest/test
> > ./Python-2.7.14/Lib/lib-tk/test
> > ./Python-2.7.14/Lib/email/test
> >
> > In some distributions, the extra space taken up by these test files
> > is very valuable.
> >
> > The default is to still include the test files.
> >
> > Signed-off-by: Andrew Geissler <geissonator at gmail.com>
> > ---
> >  meta/recipes-devtools/python/python3_3.5.5.bb | 9 +++++++++
> >  meta/recipes-devtools/python/python_2.7.15.bb | 9 +++++++++
> >  2 files changed, 18 insertions(+)
> >
> > diff --git a/meta/recipes-devtools/python/python3_3.5.5.bb b/meta/recipes-devtools/python/python3_3.5.5.bb
> > index c919a97..5d1397a 100644
> > --- a/meta/recipes-devtools/python/python3_3.5.5.bb
> > +++ b/meta/recipes-devtools/python/python3_3.5.5.bb
> > @@ -160,6 +160,11 @@ EOF
> >         fi
> >  }
> >
> > +# Some packages include test/ directories and files. Provide option
> > +# to not include them.
> > +
> > +INCLUDE_TESTS ?= "1"
> > +
> >  do_install() {
> >         # make install needs the original Makefile, or otherwise the inclues would
> >         # go to ${D}${STAGING...}/...
> > @@ -189,6 +194,10 @@ do_install() {
> >         fi
> >
> >         oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
> > +
> > +    if [ "${INCLUDE_TESTS}" -ne "1" ]; then
> > +        find ${D}${libdir}/python${PYTHON_MAJMIN} -name test -exec rm -rf {} +;
> > +    fi
> >  }
> >
> >  do_install_append_class-nativesdk () {
> > diff --git a/meta/recipes-devtools/python/python_2.7.15.bb b/meta/recipes-devtools/python/python_2.7.15.bb
> > index 82b65d2..1839624 100644
> > --- a/meta/recipes-devtools/python/python_2.7.15.bb
> > +++ b/meta/recipes-devtools/python/python_2.7.15.bb
> > @@ -90,6 +90,11 @@ do_compile() {
> >                 OPT="${CFLAGS}"
> >  }
> >
> > +# Some packages include test/ directories and files. Provide option
> > +# to not include them.
> > +
> > +INCLUDE_TESTS ?= "1"
> > +
> >  do_install() {
> >         # make install needs the original Makefile, or otherwise the inclues would
> >         # go to ${D}${STAGING...}/...
> > @@ -127,6 +132,10 @@ do_install() {
> >      if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
> >          rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
> >      fi
> > +
> > +    if [ "${INCLUDE_TESTS}" -ne "1" ]; then
> > +        find ${D}${libdir}/python${PYTHON_MAJMIN} -name test -exec rm -rf {} +;
> > +    fi
> >  }
> >
> >  do_install_append_class-nativesdk () {
> > --
> > 2.7.4
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list