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

2019-03-06 Thread Alexander Kanavin
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
 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 
> 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 
> Signed-off-by: Fabien MICAELLI 
> ---
>  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@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


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

2019-03-06 Thread philippe gislard
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 
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 
Signed-off-by: Fabien MICAELLI 
---
 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@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto