mirror of
https://git.yoctoproject.org/poky
synced 2026-05-01 06:32:11 +02:00
wic: implement ext fs support for 'wic rm'
Implemented removing files or directories from the ext partition using debugfs tool. (From OE-Core rev: be530b7c7beae6f9fc95eed245cb37066d56581e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
9f90956967
commit
2c16117dce
@@ -339,18 +339,23 @@ class Disk:
|
||||
def remove(self, pnum, path):
|
||||
"""Remove files/dirs from the partition."""
|
||||
partimg = self._get_part_image(pnum)
|
||||
cmd = "{} -i {} ::{}".format(self.mdel, partimg, path)
|
||||
try:
|
||||
exec_cmd(cmd)
|
||||
except WicError as err:
|
||||
if "not found" in str(err) or "non empty" in str(err):
|
||||
# mdel outputs 'File ... not found' or 'directory .. non empty"
|
||||
# try to use mdeltree as path could be a directory
|
||||
cmd = "{} -i {} ::{}".format(self.mdeltree,
|
||||
partimg, path)
|
||||
if self.partitions[pnum].fstype.startswith('ext'):
|
||||
exec_cmd("{} {} -wR 'rm {}'".format(self.debugfs,
|
||||
self._get_part_image(pnum),
|
||||
path), as_shell=True)
|
||||
else: # fat
|
||||
cmd = "{} -i {} ::{}".format(self.mdel, partimg, path)
|
||||
try:
|
||||
exec_cmd(cmd)
|
||||
else:
|
||||
raise err
|
||||
except WicError as err:
|
||||
if "not found" in str(err) or "non empty" in str(err):
|
||||
# mdel outputs 'File ... not found' or 'directory .. non empty"
|
||||
# try to use mdeltree as path could be a directory
|
||||
cmd = "{} -i {} ::{}".format(self.mdeltree,
|
||||
partimg, path)
|
||||
exec_cmd(cmd)
|
||||
else:
|
||||
raise err
|
||||
self._put_part_image(pnum)
|
||||
|
||||
def write(self, target, expand):
|
||||
|
||||
Reference in New Issue
Block a user