From 29f7735030d383f9614bdb148b52a47c79f05eea 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] Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton --- 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 1.2.3-korg