]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
wic: fix restoring of original fstab
authorEd Bartosh <ed.bartosh@linux.intel.com>
Fri, 16 Jun 2017 13:19:30 +0000 (16:19 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 23 Jun 2017 10:43:37 +0000 (11:43 +0100)
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>
scripts/lib/wic/plugins/imager/direct.py

index ad9082b2d3574d0fdc3a4930461551f3bc842c75..aa9cc9f4e35d1bb80986f1a7ecdf6fc9c3ef00b8 100644 (file)
@@ -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()