buildcheck.py: Add check for uncompressed Image size
Currently only armel/marvell flavour need this check
This commit is contained in:
parent
3c3aa2c3a3
commit
8d9993070b
|
@ -189,20 +189,23 @@ class CheckImage(object):
|
|||
|
||||
def __call__(self, out):
|
||||
image = self.config_entry_build.get('image-file')
|
||||
uncompressed_image = self.config_entry_build.get('uncompressed-image-file')
|
||||
|
||||
if not image:
|
||||
# TODO: Bail out
|
||||
return 0
|
||||
|
||||
image = os.path.join(self.dir, image)
|
||||
if uncompressed_image:
|
||||
uncompressed_image = os.path.join(self.dir, uncompressed_image)
|
||||
|
||||
fail = 0
|
||||
|
||||
fail |= self.check_size(out, image)
|
||||
fail |= self.check_size(out, image, uncompressed_image)
|
||||
|
||||
return fail
|
||||
|
||||
def check_size(self, out, image):
|
||||
def check_size(self, out, image, uncompressed_image):
|
||||
value = self.config_entry_image.get('check-size')
|
||||
|
||||
if not value:
|
||||
|
@ -218,10 +221,6 @@ class CheckImage(object):
|
|||
|
||||
size = os.stat(image).st_size + dtb_size
|
||||
|
||||
if size > value:
|
||||
out.write('Image too large (%d > %d)! Refusing to continue.\n' % (size, value))
|
||||
return 1
|
||||
|
||||
# 1% overhead is desirable in order to cope with growth
|
||||
# through the lifetime of a stable release. Warn if this is
|
||||
# not the case.
|
||||
|
@ -236,6 +235,21 @@ class CheckImage(object):
|
|||
out.write('Image fits. ')
|
||||
out.write('Continuing.\n')
|
||||
|
||||
# Also check the uncompressed image
|
||||
if uncompressed_image and self.config_entry_image.get('check-uncompressed-size'):
|
||||
value = self.config_entry_image.get('check-uncompressed-size')
|
||||
size = os.stat(uncompressed_image).st_size
|
||||
usage = (float(size)/value) * 100.0
|
||||
out.write('Uncompressed Image size %d/%d, using %.2f%%. ' % (size, value, usage))
|
||||
if size > value:
|
||||
out.write('Too large. Refusing to continue.\n')
|
||||
return 1
|
||||
elif usage >= 99.0:
|
||||
out.write('Uncompressed Image Under 1%% space in %s. ' % self.changelog.distribution)
|
||||
else:
|
||||
out.write('Uncompressed Image fits. ')
|
||||
out.write('Continuing.\n')
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ class Gencontrol(Base):
|
|||
'initramfs-generators': config.SchemaItemList(),
|
||||
'check-size': config.SchemaItemInteger(),
|
||||
'check-size-with-dtb': config.SchemaItemBoolean(),
|
||||
'check-uncompressed-size': config.SchemaItemInteger(),
|
||||
},
|
||||
'relations': {
|
||||
},
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
linux (4.13~rc7-1~exp2) UNRELEASED; urgency=medium
|
||||
|
||||
[ Roger Shimizu ]
|
||||
* debian/bin/buildcheck.py:
|
||||
Add check for uncompressed Image size, which is necessary for
|
||||
armel/marvell flavour currently.
|
||||
|
||||
-- Roger Shimizu <rogershimizu@gmail.com> Thu, 31 Aug 2017 19:47:54 +0900
|
||||
|
||||
linux (4.13~rc7-1~exp1) experimental; urgency=medium
|
||||
|
||||
* New upstream release candidate
|
||||
|
|
|
@ -9,6 +9,8 @@ image-file: arch/arm/boot/zImage
|
|||
# apply only to marvell, but we would then need to build udebs only for
|
||||
# marvell and we don't have a way to do that.
|
||||
signed-modules: false
|
||||
# uncompressed-image is just for size checking
|
||||
uncompressed-image-file: arch/arm/boot/Image
|
||||
|
||||
[image]
|
||||
install-stem: vmlinuz
|
||||
|
@ -32,4 +34,7 @@ recommends: u-boot-tools
|
|||
# Buffalo Linkstation LS-WSXL/WXL/WVL (from stock kernel): 2729776 - 64 = 2729712
|
||||
check-size: 2097080
|
||||
check-size-with-dtb: true
|
||||
## Maximum uncompressed kernel size for supported devices
|
||||
# Buffalo Linkstation LS-WSXL/WXL/WVL: 7340032
|
||||
check-uncompressed-size: 7340032
|
||||
breaks: flash-kernel (<< 3.57~)
|
||||
|
|
Loading…
Reference in New Issue