I agree about having 1 layer of diff files and that should trade some storage for some bandwidth. Another thing that might come up in the future is WebAssembly packages using Wasmer. Making packages architecture neutral should keep storage from ballooning out of control with the caveats that it only supports little-endian targets and that Wasmer itself is written in Rust. Does that sound reasonable? I’ve brought up WebAssembly and Wasmer before in their own dedicated threads. Maybe one of those should be brought back to the frontlines.
Delta packages as an “overlay” over hpkg files probably won’t work so well because of the way the packages are compressed. Change a single byte in a single file, and everything else will be changed in the package data. So the delta should be done before the compression.
Also, we are nowhere close to having reproducible builds. Our versions of gcc put timestamps in every generated file, for example, and I’m not even sure the ordering of files included in hpkg is deterministic. This would generate a lot of useless “deltas”.
1 Like
If I want to host a Haiku images mirror, how do I do it?
@kallisti5 should be able to help you with that.