diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-04 23:42:22 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-03 14:13:53 +0000 |
| commit | 18b5662c22efe25beaf419d3bc007e930cb15d1a (patch) | |
| tree | c7ca21a578ec86d789bcc362e51136e28f6ff898 | |
| parent | a8d85a74bd438d88781e70d32da58d2476de2e41 (diff) | |
| download | poky-18b5662c22efe25beaf419d3bc007e930cb15d1a.tar.gz | |
wic: Handle new PSEUDO_IGNORE_PATHS variable
Adjust wic to correctly handle the new PSEUDO_IGNORE_PATH variable and avoid
inode corruption issues.
(From OE-Core rev: 16fbe45f2e0e7621139ae26ace59889a91fceda2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 13500f5234361385c365c7c35e83f99435500481)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/image_types_wic.bbclass | 2 | ||||
| -rw-r--r-- | scripts/lib/wic/partition.py | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 82f0985eeb..f27f29c663 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass | |||
| @@ -5,7 +5,7 @@ WICVARS ?= "\ | |||
| 5 | IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \ | 5 | IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \ |
| 6 | ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS \ | 6 | ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS \ |
| 7 | KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME APPEND \ | 7 | KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME APPEND \ |
| 8 | ASSUME_PROVIDED" | 8 | ASSUME_PROVIDED PSEUDO_IGNORE_PATHS" |
| 9 | 9 | ||
| 10 | inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)} | 10 | inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)} |
| 11 | 11 | ||
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 1347571aa0..4ec0608fe4 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py | |||
| @@ -198,21 +198,23 @@ class Partition(): | |||
| 198 | 198 | ||
| 199 | Currently handles ext2/3/4, btrfs, vfat and squashfs. | 199 | Currently handles ext2/3/4, btrfs, vfat and squashfs. |
| 200 | """ | 200 | """ |
| 201 | |||
| 202 | rootfs = "%s/rootfs_%s.%s.%s" % (cr_workdir, self.label, | ||
| 203 | self.lineno, self.fstype) | ||
| 204 | if os.path.isfile(rootfs): | ||
| 205 | os.remove(rootfs) | ||
| 206 | |||
| 201 | p_prefix = os.environ.get("PSEUDO_PREFIX", "%s/usr" % native_sysroot) | 207 | p_prefix = os.environ.get("PSEUDO_PREFIX", "%s/usr" % native_sysroot) |
| 202 | if (pseudo_dir): | 208 | if (pseudo_dir): |
| 203 | pseudo = "export PSEUDO_PREFIX=%s;" % p_prefix | 209 | pseudo = "export PSEUDO_PREFIX=%s;" % p_prefix |
| 204 | pseudo += "export PSEUDO_LOCALSTATEDIR=%s;" % pseudo_dir | 210 | pseudo += "export PSEUDO_LOCALSTATEDIR=%s;" % pseudo_dir |
| 205 | pseudo += "export PSEUDO_PASSWD=%s;" % rootfs_dir | 211 | pseudo += "export PSEUDO_PASSWD=%s;" % rootfs_dir |
| 206 | pseudo += "export PSEUDO_NOSYMLINKEXP=1;" | 212 | pseudo += "export PSEUDO_NOSYMLINKEXP=1;" |
| 213 | pseudo += "export PSEUDO_IGNORE_PATHS=%s;" % (rootfs + "," + (get_bitbake_var("PSEUDO_IGNORE_PATHS") or "")) | ||
| 207 | pseudo += "%s " % get_bitbake_var("FAKEROOTCMD") | 214 | pseudo += "%s " % get_bitbake_var("FAKEROOTCMD") |
| 208 | else: | 215 | else: |
| 209 | pseudo = None | 216 | pseudo = None |
| 210 | 217 | ||
| 211 | rootfs = "%s/rootfs_%s.%s.%s" % (cr_workdir, self.label, | ||
| 212 | self.lineno, self.fstype) | ||
| 213 | if os.path.isfile(rootfs): | ||
| 214 | os.remove(rootfs) | ||
| 215 | |||
| 216 | if not self.size and real_rootfs: | 218 | if not self.size and real_rootfs: |
| 217 | # The rootfs size is not set in .ks file so try to get it | 219 | # The rootfs size is not set in .ks file so try to get it |
| 218 | # from bitbake variable | 220 | # from bitbake variable |
