openwrt-6.x/include
Eric Fahlgren 5d85657f6d apk-tools: implement compression of on-device scripts.tar
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: 012cdcfdf9
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20795
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-11-18 17:25:06 +01:00
..
site
autotools.mk
bpf.mk
cmake.mk cmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER 2025-11-05 16:57:51 +01:00
debug.mk
default-packages.mk
depends.mk
device_table.txt
download.mk include: download.mk: do not check PKG_MIRROR_HASH when set to "skip" 2025-11-07 12:25:42 +01:00
feeds.mk build: fix ipkg-remove: add support for removing apk files 2025-07-15 20:48:45 +02:00
hardened-ld-pie.specs
hardening.mk build: Add _FORTIFY_SOURCE=3 support 2025-10-26 01:43:01 +02:00
host-build.mk
image-commands.mk image: move mkits.sh outside lock section 2025-10-23 18:14:01 +02:00
image.mk build: remove iwinfo dependency 2025-09-27 22:04:57 +02:00
kernel-build.mk
kernel-defaults.mk
kernel-version.mk kernel: move kernel version files to linux/generic directory 2025-04-22 19:22:44 +02:00
kernel.mk
logo.png
logo.svg
meson.mk
netfilter.mk
nls.mk
openssl-module.mk openssl: add MODULES_DIR MACRO for provider 2025-11-11 23:58:54 +01:00
optee-os.mk
package-bin.mk
package-defaults.mk build: handle --root feeds script feature 2025-10-20 13:50:15 +02:00
package-dumpinfo.mk
package-pack.mk package: do not sign individual APK packages 2025-10-09 12:52:43 +02:00
package-seccomp.mk
package.mk build: handle --root feeds script feature 2025-10-20 13:50:15 +02:00
prereq-build.mk prereq-build: add Python 3.13 support 2025-11-12 12:11:15 +01:00
prereq.mk prereq: use staging_dir's compiler 2025-10-20 00:55:06 +02:00
quilt.mk
rootfs.mk apk-tools: implement compression of on-device scripts.tar 2025-11-18 17:25:06 +01:00
scan.awk
scan.mk
shell.sh
subdir.mk
target.mk build: remove iwinfo dependency 2025-09-27 22:04:57 +02:00
toolchain-build.mk
toplevel.mk toplevel.mk: use relative path for feeds/base symlink 2025-11-10 15:20:34 +01:00
trusted-firmware-a.mk
u-boot.mk u-boot.mk: support Python 3.12 and 3.13 2025-07-01 20:07:46 +03:00
uclibc++.mk
unpack.mk
verbose.mk
version.mk