-
Notifications
You must be signed in to change notification settings - Fork 339
Description
Hi! We're using OSTree for software updates in space applications and the size of upgrade packages is quite important for us. Bsdiff is already a great tool, but it doesn't know anything about the structure of elf files, which can be used to reduce upgrade sizes even further.
Chromium has a tool called Courgette which claims to reduce diffs generated by bsdiff by ~10x. It works by disassembling/adjusting addresses/reassembling elf files. Unfortunately Courgette doesn't support ARM ELF files. But I found a single mention about Zucchini, which seems to be the successor to Courgette and has much wider architecture support.
My idea would be to adapt the static delta generation / apply code to try to use Zucchini, otherwise fall back to bsdiff. Would you be open to accepting contributions in this direction?
Also, Zucchini is written in C++. I suppose we could include a C wrapper in this repository, but maybe you have other thoughts.