From 44023e6c41a57d93d7b3a7c6d297e1ca77cd69ff Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Fri, 16 Jun 2017 16:19:30 +0300 Subject: wic: fix restoring of original fstab Wic updates fstab if mount points are specified in .wks. After partition images are created the original fstab is restored. However, if exception is raised when partition image being prepared wic doesn't restore original fstab. This can cause duplication of added lines in fstab when 'wic create' runs next time. Wrapping call of 'prepare' method and restoring original fstab even if exception occurs should fix this. [YOCTO #11633] (From OE-Core rev: 29f7735030d383f9614bdb148b52a47c79f05eea) Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/lib/wic/plugins/imager/direct.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'scripts/lib/wic') diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index ad9082b2d3..aa9cc9f4e3 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -172,10 +172,11 @@ class DirectPlugin(ImagerPlugin): if rsize_bb: part.size = int(round(float(rsize_bb))) - self._image.prepare(self) - - if fstab_path: - shutil.move(fstab_path + ".orig", fstab_path) + try: + self._image.prepare(self) + finally: + if fstab_path: + shutil.move(fstab_path + ".orig", fstab_path) self._image.layout_partitions() self._image.create() -- cgit v1.2.3-54-g00ecf