[Buildroot] Forcing a Python package to be built/installed with Python3

Vincent Fazio vfazio at xes-inc.com
Thu Feb 18 17:31:05 UTC 2021



On 2/18/21 11:24 AM, Ivo Grondman wrote:
> Hi all,
> 
> Using Buildroot 2020.11.2 in a Vagrant VM based on the Vagrantfile supplied by Buildroot, I’m testing my own Python package (setuptools based) with utils/test-pkg, but even though my Config.in clearly mentions the dependency on Python3 (as suggested by the docs), the tests fail and looking at the logs I can see that it’s using Python 2.7. Everything does work when I don’t have Python2 installed, but I want to make sure that even if it *is* installed, it will not be used for the build/install of this package.
> 
Do you mean installed on the host machine? Do you have a shebang in a file that may be referencing a host path like 
/usr/bin/python or /usr/bin/env python and it's symlinked to python2.7 vs python3?

> I know about HOST_PYTHON_FOO_NEEDS_HOST_PYTHON that can be set to python2 or python3, but the package I’m trying to build is not a host package.
> 
> My Config.in:
> ######
> config BR2_PACKAGE_MY_PYTHON_PACKAGE
> 	bool “my-python-package"
> 	default y
> 	depends on BR2_PACKAGE_PYTHON3
> 	help
> 	  Some help text.
> ######
> 
> My my-python-package.mk:
> ######
> MY_PYTHON_PACKAGE_VERSION = 0.0.1
> MY_PYTHON_PACKAGE_SOURCE = my-package-$(MY_PYTHON_PACKAGE_VERSION).tar.gz
> MY_PYTHON_PACKAGE_SITE = file://$(BR2_EXTERNAL_MYTREE_PATH)
> MY_PYTHON_PACKAGE_SETUP_TYPE = setuptools
> MY_PYTHON_PACKAGE_LICENSE = Other
> MY_PYTHON_PACKAGE_LICENSE_FILES = LICENSE.md
> $(eval $(python-package))
> ######
> 
> I’m using a local file here as my package is not on the public PyPI server but on a Gitlab PyPI package registry and I couldn’t figure out how to connect Buildroot to that, so I’m downloading the tarball from there before calling make, which brings me to another question: the documentation states that I should be able to use a local file path as LIBFOO_SITE, but if I do it without the “file://“ bit, I’ll get errors that I didn’t provide a scheme. Perhaps this should be changed in the documentation, which now states that "LIBFOO_SITE=/opt/software/libfoo.tar.gz” is valid?
> 
> Any help is greatly appreciated.
> 
> Best regards,
> 
> Ivo Grondman
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

-Vincent


More information about the buildroot mailing list