[distri] Re: Building distri packages on distri

  • From: Jan Bölsche <jan@xxxxxxxxxxxx>
  • To: distri@xxxxxxxxxxxxx
  • Date: Mon, 20 Sep 2021 12:40:13 +0200

Hi Michael,

The mpc package is the multiprecision floating point library
Ha, that make so much more sense! Sorry for the confusion.

Got it! Needed packages to build a package are the ones explicitly listed
in build.textproto plus the dependencies of the referenced builder. It
might be helpful, on a fresh system, to have this list available for
scripting. A subcommand like `distri list-build-dependencies` or `distri
ls-build-deps` that basically outputs the result of
https://github.com/distr1/distri/blob/1c7fc9ad7e93e1de8fb85d5c4f0ca59f1f8c15e2/internal/build/build.go#L1078
could be used as a building block for boot-strapping a working build
environment. What do you think?

Well, `distri batch` builds multiple packages in correct order, thereby
fulfilling all dependencies.
The only downside is that it might attempt to build much more than you
are looking for, depending on what’s in your $DISTRIROOT/_build.
If you clone the entire mirror, it shouldn’t build anything, and if you
then change something, it should build all that’s necessary.
That is very useful. `distri batch` also relies on the builder's deps to
already be installed, right? A simpler alternative to the proposed
subcommand above could be `distri builder-deps`, that just outputs the
union of all builder's dependencies. So you could bootstrap a dev
environment like so:

`distri install $(distri builder-deps)`

I think that would be even nicer than simply having all build tools
pre-installed.

Cheers!
Jan



Other related posts: