diff options
| -rw-r--r-- | meta-selftest/lib/pseudo_pyc_test1.py | 1 | ||||
| -rw-r--r-- | meta-selftest/lib/pseudo_pyc_test2.py | 1 | ||||
| -rw-r--r-- | meta-selftest/recipes-test/pseudo-pyc-test/pseudo-pyc-test.bb | 15 | ||||
| -rw-r--r-- | meta/conf/bitbake.conf | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/pseudo.py | 27 |
5 files changed, 46 insertions, 2 deletions
diff --git a/meta-selftest/lib/pseudo_pyc_test1.py b/meta-selftest/lib/pseudo_pyc_test1.py new file mode 100644 index 0000000000..b59abdd536 --- /dev/null +++ b/meta-selftest/lib/pseudo_pyc_test1.py | |||
| @@ -0,0 +1 @@ | |||
| STRING = "pseudo_pyc_test1" | |||
diff --git a/meta-selftest/lib/pseudo_pyc_test2.py b/meta-selftest/lib/pseudo_pyc_test2.py new file mode 100644 index 0000000000..fb67a978e0 --- /dev/null +++ b/meta-selftest/lib/pseudo_pyc_test2.py | |||
| @@ -0,0 +1 @@ | |||
| STRING = "pseudo_pyc_test2" | |||
diff --git a/meta-selftest/recipes-test/pseudo-pyc-test/pseudo-pyc-test.bb b/meta-selftest/recipes-test/pseudo-pyc-test/pseudo-pyc-test.bb new file mode 100644 index 0000000000..12dc91a8f3 --- /dev/null +++ b/meta-selftest/recipes-test/pseudo-pyc-test/pseudo-pyc-test.bb | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | SUMMARY = "pseudo env test" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 4 | |||
| 5 | INHIBIT_DEFAULT_DEPS = "1" | ||
| 6 | |||
| 7 | python do_compile() { | ||
| 8 | import pseudo_pyc_test1 | ||
| 9 | print(pseudo_pyc_test1.STRING) | ||
| 10 | } | ||
| 11 | |||
| 12 | python do_install() { | ||
| 13 | import pseudo_pyc_test2 | ||
| 14 | print(pseudo_pyc_test2.STRING) | ||
| 15 | } | ||
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index d8ef39027e..8224c05ac9 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
| @@ -686,13 +686,13 @@ SRC_URI = "" | |||
| 686 | PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" | 686 | PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" |
| 687 | PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}" | 687 | PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}" |
| 688 | PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native" | 688 | PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native" |
| 689 | PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${COREBASE}/meta,${CCACHE_DIR}" | 689 | PSEUDO_IGNORE_PATHS = "/usr/,/etc/,/lib,/dev/,${T},${WORKDIR}/recipe-sysroot,${SSTATE_DIR},${STAMPS_DIR},${WORKDIR}/pkgdata-sysroot,${TMPDIR}/sstate-control,${DEPLOY_DIR},${WORKDIR}/deploy-,${TMPDIR}/buildstats,${WORKDIR}/sstate-build-package_,${WORKDIR}/sstate-install-package_,${WORKDIR}/sstate-build-image_complete,${TMPDIR}/sysroots-components,${BUILDHISTORY_DIR},${TMPDIR}/pkgdata,${TOPDIR}/cache,${COREBASE}/scripts,${CCACHE_DIR}" |
| 690 | 690 | ||
| 691 | export PSEUDO_DISABLED = "1" | 691 | export PSEUDO_DISABLED = "1" |
| 692 | #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" | 692 | #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" |
| 693 | #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" | 693 | #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" |
| 694 | #export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib | 694 | #export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib |
| 695 | FAKEROOTBASEENV = "PSEUDO_BINDIR=${PSEUDO_SYSROOT}${bindir_native} PSEUDO_LIBDIR=${PSEUDO_SYSROOT}${prefix_native}/lib/pseudo/lib PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_IGNORE_PATHS=${@oe.path.canonicalize(d.getVar('PSEUDO_IGNORE_PATHS'))} PSEUDO_DISABLED=1" | 695 | FAKEROOTBASEENV = "PSEUDO_BINDIR=${PSEUDO_SYSROOT}${bindir_native} PSEUDO_LIBDIR=${PSEUDO_SYSROOT}${prefix_native}/lib/pseudo/lib PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_IGNORE_PATHS=${@oe.path.canonicalize(d.getVar('PSEUDO_IGNORE_PATHS'))} PSEUDO_DISABLED=1 PYTHONDONTWRITEBYTECODE=1" |
| 696 | FAKEROOTCMD = "${PSEUDO_SYSROOT}${bindir_native}/pseudo" | 696 | FAKEROOTCMD = "${PSEUDO_SYSROOT}${bindir_native}/pseudo" |
| 697 | FAKEROOTENV = "PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_IGNORE_PATHS=${@oe.path.canonicalize(d.getVar('PSEUDO_IGNORE_PATHS'))} PSEUDO_DISABLED=0" | 697 | FAKEROOTENV = "PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_IGNORE_PATHS=${@oe.path.canonicalize(d.getVar('PSEUDO_IGNORE_PATHS'))} PSEUDO_DISABLED=0" |
| 698 | FAKEROOTNOENV = "PSEUDO_UNLOAD=1" | 698 | FAKEROOTNOENV = "PSEUDO_UNLOAD=1" |
diff --git a/meta/lib/oeqa/selftest/cases/pseudo.py b/meta/lib/oeqa/selftest/cases/pseudo.py new file mode 100644 index 0000000000..33593d5ce9 --- /dev/null +++ b/meta/lib/oeqa/selftest/cases/pseudo.py | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | # | ||
| 2 | # SPDX-License-Identifier: MIT | ||
| 3 | # | ||
| 4 | |||
| 5 | import glob | ||
| 6 | import os | ||
| 7 | import shutil | ||
| 8 | from oeqa.utils.commands import bitbake, get_test_layer | ||
| 9 | from oeqa.selftest.case import OESelftestTestCase | ||
| 10 | |||
| 11 | class Pseudo(OESelftestTestCase): | ||
| 12 | |||
| 13 | def test_pseudo_pyc_creation(self): | ||
| 14 | self.write_config("") | ||
| 15 | |||
| 16 | metaselftestpath = get_test_layer() | ||
| 17 | pycache_path = os.path.join(metaselftestpath, 'lib/__pycache__') | ||
| 18 | if os.path.exists(pycache_path): | ||
| 19 | shutil.rmtree(pycache_path) | ||
| 20 | |||
| 21 | bitbake('pseudo-pyc-test -c install') | ||
| 22 | |||
| 23 | test1_pyc_present = len(glob.glob(os.path.join(pycache_path, 'pseudo_pyc_test1.*.pyc'))) | ||
| 24 | self.assertTrue(test1_pyc_present, 'test1 pyc file missing, should be created outside of pseudo context.') | ||
| 25 | |||
| 26 | test2_pyc_present = len(glob.glob(os.path.join(pycache_path, 'pseudo_pyc_test2.*.pyc'))) | ||
| 27 | self.assertFalse(test2_pyc_present, 'test2 pyc file present, should not be created in pseudo context.') | ||
