Quote:
Originally Posted by marcin-
Yes, I used the master branch.
I tried interrupt fetching bootstrap packages due to I wanted to check caching support. Seems it works as well.
|
Excellent!
Quote:
Originally Posted by marcin-
I had only run brl remove solus before second brl fetch solus.
Do you think about checking if brl fetch is executed for resume? (to avoid run brl remove when something went wrong at the first attempt)
|
If `brl fetch` detects an error, it will `brl remove` the partially fetched stratum itself. Try cutting giving it an obviously bad mirror, cutting off your internet connection while it's running, or killing one of its sub-processes such as a wget or bootstrap tool like debootstrap while it's running. I could have it do this for ctrl-c/SIGINT, but it seems safer to stop immediately just in case there's a bug in the clean up code the user is attempting to stop.
Resuming an interrupted fetch is difficult, because:
- If the interruption lasts a non-trivial amount of time, details like the packages in the remote repository may change. In these cases we'd have to back out and restart anyways with new packages anyways.
- A lot of `brl fetch`'s code is actually running some bootstrap tool by the fetched stratum where we don't have enough control to add in logic to resume.
Given the new caching feature, the need to resume should be greatly diminished, as it should be able to re-run the initial steps with cached content relatively quickly. The main non-cached steps are verifying the cached files are current - something we'd have to do if resuming as well - and applying the cached data.