diff options
| author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2017-06-13 14:22:12 +0300 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-14 10:18:29 +0100 |
| commit | c5fadce5f90c7e49cb5e40943f1c38f95cc13588 (patch) | |
| tree | f57dc33a00ba7b42e9a2c3c553916e74bc264687 /scripts/lib/wic/engine.py | |
| parent | c869c1d6b234dc3aa5286f0b1d1b589c83c5fcfa (diff) | |
| download | poky-c5fadce5f90c7e49cb5e40943f1c38f95cc13588.tar.gz | |
wic: implement removing files
Added implementation of Disk.del method and wic_r
function that removes files from the vfat partition
using mdel utility.
[YOCTO #11283]
(From OE-Core rev: 4abf2d2643c58322d96d63d5f3ffaf52d62c6792)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/engine.py')
| -rw-r--r-- | scripts/lib/wic/engine.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index 9a8055c05c..6fc8bb72c3 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py | |||
| @@ -238,6 +238,7 @@ class Disk: | |||
| 238 | self._partitions = None | 238 | self._partitions = None |
| 239 | self._mdir = None | 239 | self._mdir = None |
| 240 | self._mcopy = None | 240 | self._mcopy = None |
| 241 | self._mdel = None | ||
| 241 | self._partimages = {} | 242 | self._partimages = {} |
| 242 | 243 | ||
| 243 | # find parted | 244 | # find parted |
| @@ -285,6 +286,10 @@ class Disk: | |||
| 285 | def mcopy(self): | 286 | def mcopy(self): |
| 286 | return self._prop("mcopy") | 287 | return self._prop("mcopy") |
| 287 | 288 | ||
| 289 | @property | ||
| 290 | def mdel(self): | ||
| 291 | return self._prop("mdel") | ||
| 292 | |||
| 288 | def _get_part_image(self, pnum): | 293 | def _get_part_image(self, pnum): |
| 289 | if pnum not in self.partitions: | 294 | if pnum not in self.partitions: |
| 290 | raise WicError("Partition %s is not in the image") | 295 | raise WicError("Partition %s is not in the image") |
| @@ -318,6 +323,14 @@ class Disk: | |||
| 318 | exec_cmd(cmd) | 323 | exec_cmd(cmd) |
| 319 | self._put_part_image(pnum) | 324 | self._put_part_image(pnum) |
| 320 | 325 | ||
| 326 | def remove(self, pnum, path): | ||
| 327 | """Remove files/dirs from the partition.""" | ||
| 328 | cmd = "{} -i {} ::{}".format(self.mdel, | ||
| 329 | self._get_part_image(pnum), | ||
| 330 | path) | ||
| 331 | exec_cmd(cmd) | ||
| 332 | self._put_part_image(pnum) | ||
| 333 | |||
| 321 | def wic_ls(args, native_sysroot): | 334 | def wic_ls(args, native_sysroot): |
| 322 | """List contents of partitioned image or vfat partition.""" | 335 | """List contents of partitioned image or vfat partition.""" |
| 323 | disk = Disk(args.path.image, native_sysroot) | 336 | disk = Disk(args.path.image, native_sysroot) |
| @@ -345,7 +358,8 @@ def wic_rm(args, native_sysroot): | |||
| 345 | Remove files or directories from the vfat partition of | 358 | Remove files or directories from the vfat partition of |
| 346 | partitioned image. | 359 | partitioned image. |
| 347 | """ | 360 | """ |
| 348 | pass | 361 | disk = Disk(args.path.image, native_sysroot) |
| 362 | disk.remove(args.path.part, args.path.path) | ||
| 349 | 363 | ||
| 350 | def find_canned(scripts_path, file_name): | 364 | def find_canned(scripts_path, file_name): |
| 351 | """ | 365 | """ |
