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

Re: Interested in Debian Bazel efforts



Sorry for the late reply!

> I noticed that the current version of `bazel-bootstrap` is 3.5.1. Yun, may I ask how long will it be supported? 

3.5.1 isn't really actively maintained. But you are right, we are switching to LTS release starting from 4.0.0. Bazel will keep developing at HEAD and have rolling release (eg. 5.0.0-pre.20200315). The LTS version will cherry pick important features, bug fixes, etc that are backwards compatible. 
4.1.0 is currently being prepared at https://github.com/bazelbuild/bazel/issues/13099
I think for every LTS release, we can package Bazel as a separate package, bazel-<major version number>, and bazel-bootstrap can keep track of the latest LTS version (if we want to keep it).

> By the way, I tried to use the 4.0.0 bootstrap package to build Bazel master branch (eba3c22) with "bazel build //src:bazel", it works and the generated binary works as well! Though, it downloads a bunch of stuff from the Internet.

Thanks for fixing the patches for 4.0.0! Bazel@HEAD probably introduced more dependencies, but we only need to deal with it while packaging bazel-5, so I guess it's not urgent.

The next step is to package the bazel-4 package. I have a script that was previously shared with Olek, which builds Bazel with Bazel without internet access. Hope it could help.
I still need to look into how we can build and package java_tools so that users can use Bazel to build java projects for Debian, (sorry for the delay, Olek).


On Sat, Apr 10, 2021 at 1:14 PM Jesse Chan <jc@linux.com> wrote:

Hi Olek,


Yes, I'd like to bump bazel-bootstrap to 4.0 once bullseye is released and then backport 4.0 to bullseye. Unfortunately, upgrading it at this point in the release cycle is not possible. I've also wondered if continuing to maintain bazel-bootstrap after the bazel-4 packages are available is worth the effort. I change my mind on that every few weeks. ;) I think we'll be able to have a better discussion about that once the bazel-4 package and dependencies are available.

The major use-case for bazel-bootstrap is if we want to start building Bazel for an architecture which is not currently supported. Since Bazel *is* able to bootstrap itself, I think that we might be able to bootstrap from bazel-4 instead using Architecture: all packages that are now available (or will be soon).

Bazel supports cross compilation, but I am not sure about the extra complexities involved. I think it is nice to continue having a path to build Bazel without Bazel, but I don't know if it is worth the effort. Indeed, we can have a better discussion on the topic after we got the full Bazel ready.

Regarding your package, it looks great overall! I see that you fixed a couple hacks I had in there that I keep meaning to address so I appreciate that! :) I just gave you access to the main Salsa repository so that you can work on branches there. I see that the CI is failing on your latest commit though so would you be able to take a look at that? I hope I'll have time in the next week or so to do a test build locally and possibly give you some more feedback.

Thanks! I pushed to "jc-4.0.0" branch. I will leave "master", "upstream", "pristine-tar" and tags to you at the moment. CI is passing now. "unzip" is not installed on build machine, so I have to commit to "pristine-tar" [1]. I have also updated the ccache workaround [2], due an upstream change [3].

By the way, I tried to use the 4.0.0 bootstrap package to build Bazel master branch (eba3c22) with "bazel build //src:bazel", it works and the generated binary works as well! Though, it downloads a bunch of stuff from the Internet.


Jesse.


[1]: https://salsa.debian.org/jc/bazel-bootstrap/-/commit/cef6b8ce3ec46b1793bb9c4be606123f3f6baaf4

[2]: https://salsa.debian.org/jc/bazel-bootstrap/-/commit/0662e015b45aa28c6b832edec0ff4440ade16ba2

[3]: https://github.com/bazelbuild/bazel/commit/a463d9095386b22c121d20957222dbb44caef7d4


Reply to: