Mail archive
alpine-infra

Re: Building community/cargo, build-edge-x86_64 is stuck

From: William Pitcock <nenolod_at_dereferenced.org>
Date: Mon, 30 Oct 2017 11:53:24 -0500

Hello,

On Mon, Oct 30, 2017 at 11:39 AM, Jakub Jirutka <jakub_at_jirutka.cz> wrote:
>> A manual intervention on each builder is not an acceptable solution.
>> Policy requires that builds be reproducible, in other words, that they can build with `abuild rootbld`.
>> So this change should not have been pushed to begin with.
>
>
> No, I thought this too, but it’s not how it really works. See below.
>
>> Look at the haskell + cabal packaging for inspiration, it is a similar situation, and is policy compliant.
>
> Have *you* looked at ghc (haskell) package? I did some time ago (and now), tried hard to figure out how does it build. There is `makedepends_build="$pkgname"`, so it depends on itself. There used to be package ghc-bootstrap, but it was not used anymore (and even that couldn’t work without manual intervention). I asked fabled about it and he explained me that ghc-bootstrap was only temporary for initial bootstrap, now ghc depends on itself and it must be probably manually installed on the builder when bootstrapping.

I did some time ago, when we had ghc-bootstrap package.
If this is the case, then it, too, is no longer policy compliant.

> The same situation is community/rust. I even mentioned this in my email.

The same situation of being policy non-compliant?

> Unfortunately the bootstrapping (and cross-compilation) process is still not documented anywhere, so I can refer only to information that I was told by more competent people like fabled.

Manual intervention on the builders does not seem like a good idea to
me, which is probably why it's not compliant with policy.

I suspect the ghc-bootstrap package was dropped because of the
depsolver bug I solved back in April.
The bootstrap package would have a provides entry for the compiler
with a version of 0.
This would allow the real compiler to always "win" the preference.

>> A solution would be to take a copy of the cargo package from distfiles.alpinelinux.org
>
> This is actually a good idea. I can keep it as it was before, just use our cargo binary instead of now non-existence binary from the upstream.

You could do that, or what I was inferring was that the binary itself
was still available on distfiles.alpinelinux.org.
All the builders copy their sources to that server.

> fabled or ncopa, could you please explain how is ghc and similar packages handled? Ideally directly on wiki, or just via email and I will copy it to wiki.

Instead, lets solve these problems correctly, please.
Indeed, the only thing we have learned today is that Haskell is also broken.

William
Received on Mon Oct 30 2017 - 11:53:24 GMT