diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-13 04:26:40 -1000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-16 17:52:26 +0100 |
commit | ff3afb1c1bb236c4a52c62a74f2917071e0af55b (patch) | |
tree | ca34e87ca0bf648ea083e6a8895311660c6fb730 | |
parent | 01d27562c11d4b05eb30c7f9fefd58b6599fdd15 (diff) | |
download | bitbake-ff3afb1c1bb236c4a52c62a74f2917071e0af55b.tar.gz |
fetch2: Ensure directory exists before creating symlink
If the mirrors code is trying to create a symlink and the
parent directory doesn't exist, as might be the case for sstate
mirrors where the fetch is into a subdir, it can silently fail.
Ensure the directory exists in this case to avoid issues.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eff16e474ee7dc49ae433420a4c8d15d3314a618)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/fetch2/__init__.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index ac557176d..a31406263 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -1097,6 +1097,8 @@ def try_mirror_url(fetch, origud, ud, ld, check = False): def ensure_symlink(target, link_name): if not os.path.exists(link_name): + dirname = os.path.dirname(link_name) + bb.utils.mkdirhier(dirname) if os.path.islink(link_name): # Broken symbolic link os.unlink(link_name) |