summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/plugins
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2017-06-16 16:19:30 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-23 11:43:37 +0100
commit29f7735030d383f9614bdb148b52a47c79f05eea (patch)
tree79a0c7a6f8026d65ac2edb93af664355a5d0b5aa /scripts/lib/wic/plugins
parent49b704864c7db49e41a0b6bbdb8a2840e7fa232b (diff)
downloadopenembedded-core-29f7735030d383f9614bdb148b52a47c79f05eea.tar.gz
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 <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts/lib/wic/plugins')
-rw-r--r--scripts/lib/wic/plugins/imager/direct.py9
1 files changed, 5 insertions, 4 deletions
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()