mirror of
https://github.com/openwrt/openwrt.git
synced 2026-06-20 18:42:35 +04:00
5d85657f6d
Default behavior for apk was to create an uncompressed scripts.tar file. Due to the structure of tar files, with fixed block size and null padding, this file becomes very large on OpenWrt installations where there are typically two scripts per package. This could cause the raw tar file to easily grow to over 500KB, whereas the compressed file is generally around 20-30KB. When stored in the /rom partition of a squashfs device, the file is compressed and this is not an issue. But, as soon as you add or delete a package, the scripts.tar file is fully expanded into the /overlay partition and can cause issues on small-flash devices. This issue was addressed in an upstream commit by detecting whether the scripts.tar file is compressed (its name must be exactly 'scripts.tar.gz'), and then retaining that compression by reading/writing the file using a compressed stream. This commit applies a cherrypicked patch for the upstream commit, and compresses the scripts.tar during construction of the device rootfs. Fixes: https://github.com/openwrt/openwrt/issues/17108 Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/012cdcfdf981453b572a70c9568e8df6d0fe0ca1 Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20795 Signed-off-by: Robert Marko <robimarko@gmail.com>