On Sat, Apr 10, 2021 at 7:14 AM Jesse Chan <email@example.com
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.
Well, cross-compilation is a possibility. I was thinking that if we had a "newarch64" that was introduced into Debian we could upload a new Debian version of the bazel-X package that would *not* build-depend on arch-any Bazel packages (only on arch-all) and use the compile.sh script that bazel-bootstrap now uses (instead of the new d/rules that Yun just mentioned in his email). On the surface at least, it seems that a trivial change like that should be enough to bootstrap onto a new system. And those changes could be reverted with the next Debian version since the new architecture would then have a working Bazel package already. It might be years before this happens though, it's not like new architectures are springing up every few weeks! ;)
But yes, we're getting ahead of ourselves. :)
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" . I have also updated the ccache
workaround , due an upstream change .
Great and good catch on the ccache upstream change! I had time to take a closer look and I had two questions:
1) Did you by any chance update the d/copyright for the new version?
2) Did you check which versions of packages 4.0.0 has in the third_party folder? If it builds with current versions that's great, but we should plan to update dependencies once bookworm is open for development. That would be good info to put in the Meta wiki somewhere. I think 4.0.0 also has at least one new dependency (rx-java?) but I preemptively uploaded that a few months ago so that's convenient. :)
The issues with  should go away once I can get the new upstream and pristine-tar branches in. I want to make sure the new -source package works first though and then we should be able to merge all of your commits on top of that one.
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.
Excellent! Good to know. Sounds like it's working exactly as it should. The Phase 2 plan allows for Internet downloads so that's good news. And all the work you've put into prepping the 4.0.0 bazel-bootstrap is going to make it MUCH easier to make the bazel-4 package when we get to that.