Skip to content

Alternative binary diff generators #3388

@jdiez17

Description

@jdiez17

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions