openwrt-pf/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 build: remove ac_cv_header_netinet_sctp_h=no from pre-cached variables 2024-09-22 16:04:09 +02:00
autotools.mk
bpf.mk build: bpf: fix LLVM tool paths with host toolchain 2025-04-09 09:52:21 +02:00
cmake.mk cmake: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER 2025-11-05 16:57:51 +01:00
debug.mk
default-packages.mk imagebuilder: move handling of DEFAULT_PACKAGES into shareable place 2024-11-17 19:29:06 +01:00
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-build.mk: Fix multi-core build warning. 2024-10-06 13:49:39 +02:00
kernel-defaults.mk kernel: fix rootfs initramfs not updating on subsequent single build 2025-01-20 17:22:06 +01:00
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 meson: allow using staging python 2024-12-02 19:30:22 +00:00
netfilter.mk iptables: update to 1.8.10 2024-10-22 00:52:03 +02:00
nls.mk
openssl-module.mk openssl: add MODULES_DIR MACRO for provider 2025-11-11 23:58:54 +01:00
optee-os.mk optee-os.mk: override default PATH to not use hostpkg python 2025-03-15 13:43:14 +01:00
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 include/trusted-firmware-a.mk: support LTS releases 2025-04-06 14:21:07 +03:00
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 build: lock versions for special APK packages 2025-02-04 13:48:59 +00:00