summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej Borzecki <maciej.borzecki@rndity.com>2016-11-10 13:18:32 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-15 15:19:55 +0000
commitf0181e79eda9102e11ae1ec3e4939ac5fc02cb13 (patch)
treef89783b7ca2f6120a84f1e2f138c858613511b29
parent81afedc905280f4bfc5fd5f2806a0c6baf657055 (diff)
downloadpoky-f0181e79eda9102e11ae1ec3e4939ac5fc02cb13.tar.gz
wic: make sure that partition size is always an integer in internal processing
The size field of Partition class is expected to be an integer and ought to be set inside prepare_*() method. Make sure that this is always the case. (From OE-Core rev: a37838f995ae642b0b8bdd47a605a264fb3bf200) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/wic/partition.py12
-rw-r--r--scripts/lib/wic/plugins/source/bootimg-efi.py2
-rw-r--r--scripts/lib/wic/plugins/source/rawcopy.py4
3 files changed, 12 insertions, 6 deletions
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index 89c33ab8b7..959035a971 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -146,6 +146,12 @@ class Partition():
146 oe_builddir, 146 oe_builddir,
147 bootimg_dir, kernel_dir, rootfs_dir, 147 bootimg_dir, kernel_dir, rootfs_dir,
148 native_sysroot) 148 native_sysroot)
149 # further processing required Partition.size to be an integer, make
150 # sure that it is one
151 if type(self.size) is not int:
152 msger.error("Partition %s internal size is not an integer. " \
153 "This a bug in source plugin %s and needs to be fixed." \
154 % (self.mountpoint, self.source))
149 155
150 def prepare_rootfs_from_fs_image(self, cr_workdir, oe_builddir, 156 def prepare_rootfs_from_fs_image(self, cr_workdir, oe_builddir,
151 rootfs_dir): 157 rootfs_dir):
@@ -157,7 +163,7 @@ class Partition():
157 out = exec_cmd(du_cmd) 163 out = exec_cmd(du_cmd)
158 rootfs_size = out.split()[0] 164 rootfs_size = out.split()[0]
159 165
160 self.size = rootfs_size 166 self.size = int(rootfs_size)
161 self.source_file = rootfs 167 self.source_file = rootfs
162 168
163 def prepare_rootfs(self, cr_workdir, oe_builddir, rootfs_dir, 169 def prepare_rootfs(self, cr_workdir, oe_builddir, rootfs_dir,
@@ -194,7 +200,7 @@ class Partition():
194 # get the rootfs size in the right units for kickstart (kB) 200 # get the rootfs size in the right units for kickstart (kB)
195 du_cmd = "du -Lbks %s" % rootfs 201 du_cmd = "du -Lbks %s" % rootfs
196 out = exec_cmd(du_cmd) 202 out = exec_cmd(du_cmd)
197 self.size = out.split()[0] 203 self.size = int(out.split()[0])
198 204
199 break 205 break
200 206
@@ -379,7 +385,7 @@ class Partition():
379 out = exec_cmd(du_cmd) 385 out = exec_cmd(du_cmd)
380 fs_size = out.split()[0] 386 fs_size = out.split()[0]
381 387
382 self.size = fs_size 388 self.size = int(fs_size)
383 389
384 def prepare_swap_partition(self, cr_workdir, oe_builddir, native_sysroot): 390 def prepare_swap_partition(self, cr_workdir, oe_builddir, native_sysroot):
385 """ 391 """
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py
index 8bc362254d..4adb80becc 100644
--- a/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -234,5 +234,5 @@ class BootimgEFIPlugin(SourcePlugin):
234 out = exec_cmd(du_cmd) 234 out = exec_cmd(du_cmd)
235 bootimg_size = out.split()[0] 235 bootimg_size = out.split()[0]
236 236
237 part.size = bootimg_size 237 part.size = int(bootimg_size)
238 part.source_file = bootimg 238 part.source_file = bootimg
diff --git a/scripts/lib/wic/plugins/source/rawcopy.py b/scripts/lib/wic/plugins/source/rawcopy.py
index e0b11f95ad..5bd22fdeb5 100644
--- a/scripts/lib/wic/plugins/source/rawcopy.py
+++ b/scripts/lib/wic/plugins/source/rawcopy.py
@@ -78,9 +78,9 @@ class RawCopyPlugin(SourcePlugin):
78 # get the size in the right units for kickstart (kB) 78 # get the size in the right units for kickstart (kB)
79 du_cmd = "du -Lbks %s" % dst 79 du_cmd = "du -Lbks %s" % dst
80 out = exec_cmd(du_cmd) 80 out = exec_cmd(du_cmd)
81 filesize = out.split()[0] 81 filesize = int(out.split()[0])
82 82
83 if int(filesize) > int(part.size): 83 if filesize > part.size:
84 part.size = filesize 84 part.size = filesize
85 85
86 part.source_file = dst 86 part.source_file = dst