[Buildroot] [PATCH 2/6] python3: rework python symlinks installation

Yann E. MORIN yann.morin.1998 at free.fr
Sat Mar 29 11:23:01 UTC 2014


Samuel, All,

On 2014-03-05 23:04 +0100, Samuel Martin spake thusly:
> This patch reworks the way python3 and python3-config symlink are
> installed.
> 
> Buildroot wants to control these symlinks' installation:
> 
> * the python3 symlink should be unconditionally installed in the target
>   tree, and the python3-config symlink in the staging tree, since it is
>   the only python package built and installed in the target tree if the
>   user selected it;
> 
> * the python3 and python3-config symlinks should only be installed in
>   the host tree when python3 is the selection of the user for the
>   target.
> 
> Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
> Cc: Gustavo Zacarias <gustavo at zacarias.com.ar>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  package/python3/python3.mk | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/package/python3/python3.mk b/package/python3/python3.mk
> index 3d95a6d..19bef1e 100644
> --- a/package/python3/python3.mk
> +++ b/package/python3/python3.mk
> @@ -156,11 +156,20 @@ ifneq ($(BR2_PACKAGE_PYTHON),y)
>  PYTHON3_POST_INSTALL_TARGET_HOOKS += PYTHON3_INSTALL_SYMLINK
>  endif
>  
> +#
> +# Some packages may have build scripts requiring python3, whatever is the
> +# python version chosen for the target.
> +# Only install the python symlink in the host tree if python3 is enabled
> +# for the target.
> +#

Remove the leading/trailing empty-comment lines.

> +ifeq ($(BR2_PACKAGE_PYTHON3),y)
>  define HOST_PYTHON3_INSTALL_SYMLINK
>  	ln -fs python3 $(HOST_DIR)/usr/bin/python

It took me a while to see how this would not clash with the previous
change: we can only have either python2 *or* python3 on the target, so
we won't have a conflict on the python symlink.

Maybe worth mentionning on the comment, above, and maybe in the commit
log, as well.

If (and I say 'if') one day we are able to install both python2 and
python3 on the target, we'd have to revisit this.

> +	ln -fs python3-config $(HOST_DIR)/usr/bin/python-config
>  endef
>  
>  HOST_PYTHON3_POST_INSTALL_HOOKS += HOST_PYTHON3_INSTALL_SYMLINK
> +endif
>  
>  # Provided to other packages
>  PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/sysconfigdata/:$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/
> -- 
> 1.9.0

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list