[Docker-maint] Bug#807455: golang-src: includes race detector runtime files not built from source in the source package

Michael Hudson-Doyle michael.hudson at canonical.com
Wed Feb 3 08:04:22 UTC 2016


On 3 February 2016 at 19:08, Tianon Gravi <tianon at debian.org> wrote:
> On 8 December 2015 at 18:24, Michael Hudson-Doyle
> <michael.hudson at canonical.com> wrote:
>> The files installed as /usr/share/go/src/runtime/race/*.syso are not built
>> during package build, but rather come directly from the Go source distribution.
>> To ensure that they are built from what they claim to be, in Ubuntu we do not
>> distribute these files in the golang-src package but rather build them in a
>> separate golang-race-detector-runtime package which golang-go Recommends:. It
>> would be nice if Debian could steal this work :-)
>
> I'm definitely keen on this one!

Yay.

> I think my issue with making it happen (last I looked into it) was
> that the files in question needed to come from a separate source (LLVM
> was it? [1]), and the exact versioning necessary was a little strange,
> and it was sources that already exist in the Debian archive for
> another package so I wasn't really clear on whether that's kosher or
> whether we should be talking to the existing package maintainer to
> keep things sane.  Am I remembering this correctly?

Yes, your memory is pretty accurate. The source in question is the
"compiler-rt" runtime libraries: http://compiler-rt.llvm.org/. The
compiler-rt source is copied into the gcc and llvm trees -- although
on checking, the copy in the gcc source lacks the go integration bits.
The one in llvm-toolchain appears to have everything (in fact it's a
multi orig source package, and one of the orig tarballs is the
compiler-rt stuff), so the golang-race-detector-runtime could be built
from the llvm-toolchain source package. The only question is around
versioning then -- I don't have any intuition as to how much
difference there is between the revisions go builds they're objects
from and the revision for the compiler-rt that's part of the current
llvm package at all. I've just wussed out of thinking about that so
far. I guess I could ask upstream...

Cheers,
mwh

>  I really
> should've made some notes after I spent some time playing with this,
> sorry. :(
>
> [1]: https://github.com/golang/go/tree/go1.6rc1/src/runtime/race#readme
>
> ♥,
> - Tianon
>   4096R / B42F 6819 007F 00F8 8E36  4FD4 036A 9C25 BF35 7DD4




More information about the Docker-maint mailing list