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 812cd05102..da6db9f595 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -685,13 +685,13 @@ SRC_URI = "" | |||
685 | PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" | 685 | PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" |
686 | PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}" | 686 | PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}" |
687 | PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native" | 687 | PSEUDO_SYSROOT = "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native" |
688 | 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}" | 688 | 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}" |
689 | 689 | ||
690 | export PSEUDO_DISABLED = "1" | 690 | export PSEUDO_DISABLED = "1" |
691 | #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" | 691 | #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" |
692 | #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" | 692 | #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" |
693 | #export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib | 693 | #export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib |
694 | 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" | 694 | 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" |
695 | FAKEROOTCMD = "${PSEUDO_SYSROOT}${bindir_native}/pseudo" | 695 | FAKEROOTCMD = "${PSEUDO_SYSROOT}${bindir_native}/pseudo" |
696 | 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" | 696 | 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 | FAKEROOTNOENV = "PSEUDO_UNLOAD=1" | 697 | 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.') | ||