On 20181230 at 16:34 +0000 unman wrote:
> > Not starting redoing everything to the point where the build
> > process stopped would be a good first step.
>
> Yes, it's very aggravating. I would work around this by commenting
> out the packages that *have* been built, so the build can start again
> from where it failed.
I (having started using Unix with 4.2BSD on a VAX where things tended
to take really long) wrote a csh script around make doing every single
component one-by-one and checking the exit state of the make jobs I'm
starting. Looks ridiculous but works unattended.
> I'm not surehow this could be done otherwise
By formulating further dependencies that check whether the goals are
already existing. If something that has been done flawlessly is remade
the thing has been missing in the dependencies.
Another good indicator that something is wrong with the makefile is
getting into a mess if using -j is causing any kind of race condition
or premature target being done. And no, "make -j4 qubes-vm" does not
work which means that rules fire before all prerequisites have been
done.
> download. Maybe a "download all required additional data" makeMaybe a
> "download all required additional data" maktarget
> >
> > would be a good idea, too. Or did I miss that?
>
> There's make get-sources, of course, but I dont think that is what
> you mean.
No, rather a target get-packages that will download all
.deb/.rpm/.whatever that will later be used to create the root
environments for VM templates. This step is coming REALLY late (after
building all qubes-packages) and I definitely do not see any reason to
rebuild all the qubes-* components because a package download fails.
Wrong order.
> I strongly recommend a caching proxy. apt-cacher-ng works pretty much
> out the box.
If you downloaded it once it stays in qubes-builder. (Which is another
target that is missing -- old packages are kept in there if later
builds are getting more recent versions.) So unless you are using a
tool with high tolerance to interrupted downloads this will not help
that much. And places with unstable network connections are easy to
find.
Btw: If I understood the license clauses of Ubuntu correctly you can do
with it whatever you want as long as you do not call it (genuine or
derived) (U)buntu. So if you provide a minimal template with
sufficiently free space (and calling it Pronto instead of Ubuntu) that
pulls down the "trade dress and feel" on a first run should be well
within the limits. Maybe that's a way to do it. Although I would
consider having supported Arch and a CentOS template much more
important. Debian is a glacier and Fedora... I'd better not start
thinking about that. But it will take considerable resources to keep
all necessary components working.
Achim