diff options
Diffstat (limited to 'scripts/lib/wic/plugins/source/rootfs.py')
| -rw-r--r-- | scripts/lib/wic/plugins/source/rootfs.py | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index 089aaea477..40419a64b3 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py | |||
| @@ -17,7 +17,6 @@ import shutil | |||
| 17 | import sys | 17 | import sys |
| 18 | 18 | ||
| 19 | from oe.path import copyhardlinktree, copytree | 19 | from oe.path import copyhardlinktree, copytree |
| 20 | from pathlib import Path | ||
| 21 | 20 | ||
| 22 | from wic import WicError | 21 | from wic import WicError |
| 23 | from wic.pluginbase import SourcePlugin | 22 | from wic.pluginbase import SourcePlugin |
| @@ -81,7 +80,7 @@ class RootfsPlugin(SourcePlugin): | |||
| 81 | 80 | ||
| 82 | new_rootfs = None | 81 | new_rootfs = None |
| 83 | # Handle excluded paths. | 82 | # Handle excluded paths. |
| 84 | if part.exclude_path or part.include_path or part.embed_rootfs: | 83 | if part.exclude_path or part.include_path: |
| 85 | # We need a new rootfs directory we can delete files from. Copy to | 84 | # We need a new rootfs directory we can delete files from. Copy to |
| 86 | # workdir. | 85 | # workdir. |
| 87 | new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs%d" % part.lineno)) | 86 | new_rootfs = os.path.realpath(os.path.join(cr_workdir, "rootfs%d" % part.lineno)) |
| @@ -101,25 +100,6 @@ class RootfsPlugin(SourcePlugin): | |||
| 101 | for path in part.include_path or []: | 100 | for path in part.include_path or []: |
| 102 | copyhardlinktree(path, new_rootfs) | 101 | copyhardlinktree(path, new_rootfs) |
| 103 | 102 | ||
| 104 | for embed in part.embed_rootfs or []: | ||
| 105 | [embed_rootfs, path] = embed | ||
| 106 | #we need to remove the initial / for os.path.join to work | ||
| 107 | if os.path.isabs(path): | ||
| 108 | path = path[1:] | ||
| 109 | if embed_rootfs in krootfs_dir: | ||
| 110 | embed_rootfs = krootfs_dir[embed_rootfs] | ||
| 111 | embed_rootfs = cls.__get_rootfs_dir(embed_rootfs) | ||
| 112 | tar_file = os.path.realpath(os.path.join(cr_workdir, "aux.tar")) | ||
| 113 | tar_cmd = "%s tar cpf %s -C %s ." % (cls.__get_pseudo(native_sysroot, | ||
| 114 | embed_rootfs), tar_file, embed_rootfs) | ||
| 115 | exec_native_cmd(tar_cmd, native_sysroot) | ||
| 116 | untar_cmd = "%s tar xf %s -C %s ." % (cls.__get_pseudo(native_sysroot, new_rootfs), | ||
| 117 | tar_file, os.path.join(new_rootfs, path)) | ||
| 118 | Path(os.path.join(new_rootfs, path)).mkdir(parents=True, exist_ok=True) | ||
| 119 | exec_native_cmd(untar_cmd, native_sysroot, | ||
| 120 | cls.__get_pseudo(native_sysroot, new_rootfs)) | ||
| 121 | os.remove(tar_file) | ||
| 122 | |||
| 123 | for orig_path in part.exclude_path or []: | 103 | for orig_path in part.exclude_path or []: |
| 124 | path = orig_path | 104 | path = orig_path |
| 125 | if os.path.isabs(path): | 105 | if os.path.isabs(path): |
