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

Burton, Ross ross.burton at intel.com
Thu Sep 13 09:32:49 UTC 2018


I'd just say that if those files are only needed by the test suite
(python3 -mtest), it's easy to move them into the python-tests package
by editing the manifest.   If they're not part of the test suite then
what are they?

I can't recall why there's a python3-sqlite3-tests package instead of
just putting those tests into python3-tests and don't want to see more
python3-[module]-tests packages.

Ross

On 13 September 2018 at 01:46, Andrew Geissler <geissonator at gmail.com> wrote:
> 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