[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772983: kirkwood kernel image is too big



On Sun, 2014-12-14 at 17:56 +0000, Ian Campbell wrote:
> On Fri, 2014-12-12 at 20:59 +0000, Ben Hutchings wrote:
> > That implies we want to allow for about 1% growth
> > from the size in the .0 release.
> 
> I'm considering something like this. What do you think?
> 
> diff --git a/debian/bin/buildcheck.py b/debian/bin/buildcheck.py
> index a6f6f06..5bb815c 100755
> --- a/debian/bin/buildcheck.py
> +++ b/debian/bin/buildcheck.py
> @@ -174,6 +174,8 @@ class CheckImage(object):
>          self.dir = dir
>          self.arch, self.featureset, self.flavour = arch, featureset, flavour
>  
> +        self.changelog = Changelog(version=VersionLinux)[0]
> +
>          self.config_entry_build = config.merge('build', arch, featureset, flavour)
>          self.config_entry_image = config.merge('image', arch, featureset, flavour)
>  
> @@ -206,7 +208,18 @@ class CheckImage(object):
>              out.write('Image too large (%d > %d)!  Refusing to continue.\n' % (size, value))
>              return 1
>  
> -        out.write('Image fits (%d <= %d).  Continuing.\n' % (size, value))
> +        # 1% overhead is desirable in order to cope with growth
> +        # through the lifetime of a stable release. Enforce that
> +        # development releases leave sufficient overhead.
> +        soft_value = value * 0.99
> +        if size > soft_value:
> +            out.write('Image has <1%% overhead (%d > %d).' % (size, soft_value))
> +            if self.changelog.distribution in ["unstable", "experimental", "UNRELEASED"]:
> +                out.write(' Refusing to continue.\n')
> +                return 1
> +            out.write(' Continuing.\n')

I don't think this distribution condition is right:

- If we're nowhere near a release, then it doesn't matter whether images
in unstable or experimental nearly fill the space available.  The size
may go up or down a long way before we release.

- If I'm preparing a stable update but don't think it's ready to upload
yet then my test build may have distribution=UNRELEASED.

I think it would be better to add an unconditional warning, rather than
an error, when there is < 1% free space left.  I realise this will be
easy to ignore but it's still better than an unnecessary failure.

Ben.

> +        out.write('Image fits (%d <= %d, soft %d).  Continuing.\n' % (size, value, soft_value))
>          return 0
>  
> 

-- 
Ben Hutchings
The two most common things in the universe are hydrogen and stupidity.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: