Go to file
Julien Olivain 5e936ceac7 package/jailhouse: fix build when python helper scripts are enabled
When compiling jailhouse with BR2_PACKAGE_JAILHOUSE_HELPER_SCRIPTS=y,
build is failing with error:

    Traceback (most recent call last):
      File "/buildroot/output/build/jailhouse-e57d1eff6d55aeed5f977fe4e2acfb6ccbdd7560/setup.py", line 18, in <module>
        setup(name="pyjailhouse", version=version,
      File "/buildroot/output/host/lib/python3.12/site-packages/setuptools/__init__.py", line 108, in setup
        return distutils.core.setup(**attrs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      ...
      File "/buildroot/output/host/lib/python3.12/sysconfig.py", line 549, in _init_posix
        _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ValueError: Empty module name

This is due to a missing dependency on the target python3 package.

Jailhouse Python scripts are using setuptools with host-python3 which
reads its sysconfig data from the target-python3. See:
https://gitlab.com/buildroot.org/buildroot/-/blob/2024.08.1/package/pkg-python.mk?ref_type=tags#L33

If the target python3 is not installed, this get expanded as an empty
string, leading to this "ValueError: Empty module name" error.

Pure Python packages which are using the python-package infrastructure
usually get this dependency automatically from:
https://gitlab.com/buildroot.org/buildroot/-/blob/2024.08.1/package/pkg-python.mk?ref_type=tags#L295

Here, the jailhouse package rather uses the generic-package
infrastructure, then installs the Python scripts (if enabled) with
dedicated macros. This is why the target python3 is needed.

This commit fixes the issue by adding this missing dependency.

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit c808e271e3e487a46f23b144b44ace54f97f3aab)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-11-13 09:32:51 +01:00
.github .github: add a pull request warning that explains the mailing list workflow 2024-05-07 18:09:38 +02:00
.gitlab/issue_templates gitlab: fix issue template 2024-09-19 11:11:28 +02:00
arch arch/Config.in.arc: fix indentation 2024-09-19 09:10:58 +02:00
board board/udoo/neo/readme.txt: provide more details 2024-09-02 14:02:34 +02:00
boot boot/uboot: update link to the U-Boot docs 2024-11-06 21:49:30 +01:00
configs configs/stm32mp157a_dk1: add hashes 2024-07-31 18:48:06 +02:00
docs docs/manual/adding-packages-tips: mention check-package requirements 2024-11-11 11:13:58 +01:00
fs fs/tar: use appropriate TAR 2024-06-15 20:28:56 +02:00
linux linux: handle empty BR2_LINUX_KERNEL_IMAGE_TARGET_NAME situation 2024-11-12 22:45:11 +01:00
package package/jailhouse: fix build when python helper scripts are enabled 2024-11-13 09:32:51 +01:00
support support/testing: add unbound runtime test 2024-11-11 17:57:54 +01:00
system system: expose BR2_ROOTFS_POST_SCRIPT_ARGS for PRE_BUILD scripts 2024-04-28 14:07:55 +02:00
toolchain toolchain/toolchain-wrapper.c: fix 'potentially' typo 2024-10-12 15:57:13 +02:00
utils utils/genrandconfig: handle BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y 2024-11-12 22:44:49 +01:00
.b4-config .b4-config: configure b4 for Buildroot 2024-08-20 19:11:53 +02:00
.checkpackageignore package/ntp: remove the obsolete patch 2024-11-13 09:29:59 +01:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.editorconfig editorconfig: leave patch files alone wrt trainling spaces 2024-06-16 12:24:58 +02:00
.flake8
.gitignore
.gitlab-ci.yml support/misc/gitlab-ci.yml.in: retry a job only if it failed due to a runner issue 2023-08-27 10:09:37 +02:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2024.02.7 2024-10-21 09:09:10 +02:00
Config.in Config.in: drop --passive-ftp from default wget options 2024-06-08 20:12:16 +02:00
Config.in.legacy toolchain: drop codescape mips toolchains 2024-03-22 20:51:35 +01:00
COPYING
DEVELOPERS DEVELOPERS: remove Bernd Kuhls from libglfw 2024-11-13 09:03:56 +01:00
Makefile Update for 2024.02.7 2024-10-21 09:09:10 +02:00
Makefile.legacy
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches