#13742 closed enhancement (fixed)

PackageKit: add Zstd compression

Reported by: korli Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Kits/Package Kit Version: R1/Development
Keywords: Cc: bonefish
Blocked By: Blocking:
Has a Patch: no Platform: All


Zstd isn't available on x86_gcc2, so it might only be interesting for non-gcc2 archs.

see https://facebook.github.io/zstd/ for more information.

Adding another compression might require a package format version increment.

Attachments (1)

0001-Package-Kit-add-Zstd-compression.patch (27.1 KB) - added by korli 22 months ago.
Draft patch to add Zstd as Hpkg compression format

Download all attachments as: .zip

Change History (11)

comment:1 Changed 22 months ago by korli

Has a Patch: set

comment:2 Changed 22 months ago by korli

Next step is obviously adding the compilation of zstd in the kernel in src/system/kernel/lib/zstd/Jamfile

packagefs and btrfs would use it, as with zlib (src/add-ons/kernel/file_systems/btrfs/Jamfile, src/add-ons/kernel/file_systems/packagefs/Jamfile)

Packagefs shares most code with the userland package kit.

BtrFS has a zstd compression feature (to be implemented, BTRFS_EXTENT_COMPRESS_LZO 3).

comment:3 Changed 22 months ago by anevilyak

Cc: bonefish added

Changed 22 months ago by korli

Draft patch to add Zstd as Hpkg compression format

comment:4 Changed 22 months ago by korli

I updated the patch with the kernel lib and the packagefs changes.

Next step would be the bootloader, only useful for the haiku package. This can probably wait.

comment:5 Changed 22 months ago by apl-haiku

Because HaikuDepotServer reads the HPKR format (repository catalog) which is a derivative of the HPKG format, can you please let me know ahead of time if you plan to use this compression for the chunks of the HPKR as I will have to get the server-side adapted to cope with this.

comment:6 Changed 21 months ago by korli

Added support in libbe.so, the kernel lib, and extension of compress_test in hrev51615.

comment:7 Changed 19 months ago by pulkomandy

The patch does not apply anymore. Is there anything in there that needs to be recovered, or are all the changes already integrated?

comment:8 Changed 13 months ago by pulkomandy

Remaining changes migrated to Gerrit: https://review.haiku-os.org/#/c/haiku/+/323/

comment:9 Changed 13 months ago by pulkomandy

Has a Patch: unset

comment:10 Changed 12 months ago by waddlesplash

Resolution: fixed
Status: newclosed

Merged in hrev52209.

At what point should we switch Zstd compression to be default?

Note: See TracTickets for help on using tickets.