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 <[email protected]>
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 <[email protected]>
Signed-off-by: Fabien MICAELLI <[email protected]>
---
 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
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to