From: Richard Purdie Date: Tue, 7 Jan 2025 22:20:31 +0000 (+0000) Subject: go-vendor: Fix absolute paths issue X-Git-Tag: uninative-4.7~431 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc4f589cc7a8e5feba7940ccb244a74bd5f96371;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git go-vendor: Fix absolute paths issue When building with the class, avoid errors like: "sstate found an absolute path symlink /xxx/vendor pointing at /xxx/import/vendor. Please replace this with a relative link." Use relative symlinks instead. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/go-vendor.bbclass b/meta/classes/go-vendor.bbclass index 38ea69ab50a..f3268c1125a 100644 --- a/meta/classes/go-vendor.bbclass +++ b/meta/classes/go-vendor.bbclass @@ -70,7 +70,7 @@ python do_go_vendor() { if os.path.exists(vendor_dir): # Nothing to do except re-establish link to actual vendor folder if not os.path.exists(linkname): - os.symlink(vendor_dir, linkname) + oe.path.relsymlink(vendor_dir, linkname) return bb.utils.mkdirhier(vendor_dir) @@ -202,10 +202,10 @@ python do_go_vendor() { symlink_target = os.path.join(source_dir, *['src', go_import, replaced_path]) symlink_name = os.path.join(vendor_dir, vendored_name) bb.debug(1, "vendored name %s, symlink name %s" % (vendored_name, symlink_name)) - os.symlink(symlink_target, symlink_name) + oe.path.relsymlink(symlink_target, symlink_name) # Create a symlink to the actual directory - os.symlink(vendor_dir, linkname) + oe.path.relsymlink(vendor_dir, linkname) } addtask go_vendor before do_patch after do_unpack