Opened 3 years ago

Closed 22 months ago

#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:
Platform: All


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

see 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 3 years ago.
Draft patch to add Zstd as Hpkg compression format

Download all attachments as: .zip

Change History (11)

comment:1 by korli, 3 years ago

patch: 01

comment:2 by korli, 3 years ago

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 by anevilyak, 3 years ago

Cc: bonefish added

by korli, 3 years ago

Draft patch to add Zstd as Hpkg compression format

comment:4 by korli, 3 years ago

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 by apl-haiku, 3 years ago

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 by korli, 3 years ago

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

comment:7 by pulkomandy, 2 years ago

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 by pulkomandy, 23 months ago

Remaining changes migrated to Gerrit:

comment:9 by pulkomandy, 23 months ago

patch: 10

comment:10 by waddlesplash, 22 months ago

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.