Re: Binary blobs in source packages
Thomas Koch <email@example.com> writes:
> I just made a fool of myself on the simple-build-tool list by claiming that
> Debian would build scala without scala. I only checked debian/rules and
> debian/control and since scala is in main, I assumed that I must be right.
> However scala comes with a bytecode-compiled scala compiler in lib/ which is
> required only during build but not installed in the binary packages.
> I already opened reportbug to fill a serious Debian Policy violation, but
> actually I couldn't find anything in the policy about it.
> So is it ok to ship binaries in the source package that are only required
> during build? Can I do the same with simple-build-tool, which requires itself
> to build?
> Thomas Koch, http://www.koch.ro
What you could do is use the existing previous version of scala to
build the new one and thereby avoid any precompiled binaries.
That has the obvious disadvantage that if the previous scala is broken
you need to manually build and upload a fixed one.
I don't think though that there is anything legally or morally wrong
with shipping and using a binary blob for bootstrapping where
neccessary. Important is that you include the sources for the blob and
that you can build the blob from scratch, which means you testing that
regulary before uploads.
A nice test is to build the blob and package repeadetly and check if the
result remains the same. Build compiler1 with upstream blob, build blob1
with compiler1, build compiler2 with blob1, build blob2 with compiler2.
Now blob1 and blob2 should be identical (other than timestamps and