[yocto] [thud]: Issues with git sub modules

Alexander Kanavin alex.kanavin at gmail.com
Wed Mar 6 07:39:31 PST 2019


Yocto master has got a lot of fixing around gitsm fetcher
(particularly creation of symlinks seems to be gone), so if you could
try that and report, that would be appreciated.

Alex

On Wed, 6 Mar 2019 at 15:20, philippe gislard
<philippe.gislard at gmail.com> wrote:
>
> Hello everyone,
>
> Our use case is the following:
> - We are building firmwares using yocto on machines that have no internet access
> - We have a mirror that we are feeding with tarballs generated by a
> machine connected to internet
> - We want to port our BSP to yocto thud
>
> Until now (we used krogoth) our mirror was operating properly.
>
> Since we switched to thud, the build systems is generating tarballs of
> git repositories (i.e.: gstreamer1.0-plugins-good_1.14.imx.bb, from
> freescale) containing symbolic links to git submodules (gstreamer
> common).
> The issue is that these symbolic links contain an absolute path which
> is not portable on other machines.
>
> We fixed it by patching the yocto framework so it generates a relative
> symbolic link instead.
>
> _We want to be sure is that is the proper way to fix the issue we are
> facing for our use case_
>
> You will find the patch we used at the end of this mail.
>
> Thank you.
>
> From 456bc347c38039006619c0e95831cb4faf4d8c49 Mon Sep 17 00:00:00 2001
> From: Philippe GISLARD <philippe.gislard at morpho.com>
> Date: Wed, 6 Mar 2019 10:03:43 +0100
> Subject: [PATCH] Change the git submodule symbolic link from absolute to
>  relative in order to allow sharing the downloaded packages between different
>  build machines
>
> Signed-off-by: Philippe GISLARD <philippe.gislard at morpho.com>
> Signed-off-by: Fabien MICAELLI <fabien.micaelli.yocto at fabisoft.com>
> ---
>  bitbake/lib/bb/fetch2/gitsm.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/bitbake/lib/bb/fetch2/gitsm.py b/bitbake/lib/bb/fetch2/gitsm.py
> index 35729db..009b2af 100644
> --- a/bitbake/lib/bb/fetch2/gitsm.py
> +++ b/bitbake/lib/bb/fetch2/gitsm.py
> @@ -119,7 +119,7 @@ class GitSM(Git):
>                      os.makedirs(os.path.dirname(symlink_path), exist_ok=True)
>                  except OSError:
>                      pass
> -                os.symlink(local_paths[module], symlink_path)
> +                os.symlink(os.path.relpath(local_paths[module],
> os.path.dirname(symlink_path)), symlink_path)
>
>          return True
>
> --
> 2.7.4
>
> --
> Philippe GISLARD
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list