openwrt-mirror/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 include: autotools: do not symlink files in autoreconf 2024-08-29 20:04:02 +02:00
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 build: use SPDX license tags 2021-02-05 14:54:47 +01:00
default-packages.mk imagebuilder: move handling of DEFAULT_PACKAGES into shareable place 2024-11-17 19:29:06 +01:00
depends.mk build: make find_md5 reproducible with AUTOREMOVE 2022-09-30 22:26:51 +02:00
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 build: add hardened builds with PIE (ASLR) support 2018-01-27 16:46:45 +01:00
hardening.mk build: Add _FORTIFY_SOURCE=3 support 2025-10-26 01:43:01 +02:00
host-build.mk build: add support for host building in a subdirectory 2024-07-27 20:32:20 +02:00
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 loongarch64: new target 2024-05-04 14:14:16 +08:00
logo.png include: update logo with better kerning 2021-01-18 09:31:39 -10:00
logo.svg include: update logo with better kerning 2021-01-18 09:31:39 -10:00
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 nls.mk: fixup cmake packages 2022-11-27 00:52:06 +01:00
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 build: allow package to be built for all variants 2021-11-15 00:38:46 +01:00
package-defaults.mk build: handle --root feeds script feature 2025-10-20 13:50:15 +02:00
package-dumpinfo.mk build: remove duplicate MAINTAINER from package-dumpinfo.mk 2024-05-07 22:24:10 +02:00
package-pack.mk package: do not sign individual APK packages 2025-10-09 12:52:43 +02:00
package-seccomp.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
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 quilt.mk: don't error on refresh/update if patches doesn't exist 2023-10-06 21:59:29 +02:00
rootfs.mk apk-tools: implement compression of on-device scripts.tar 2025-11-18 17:25:06 +01:00
scan.awk
scan.mk scan.mk: do not silence output of dump phase 2023-11-13 14:01:24 +01:00
shell.sh
subdir.mk kernel-build.mk: add support for compiling only DTS 2024-02-08 19:57:28 +01:00
target.mk build: remove iwinfo dependency 2025-09-27 22:04:57 +02:00
toolchain-build.mk toolchain: fix dangling symlink to self in FixupLibdir 2022-07-01 19:17:36 +02:00
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 uclibc++: remove 2021-10-24 18:20:50 +02:00
unpack.mk include: use libdeflate's gzip to decompress 2023-01-17 21:40:18 +01:00
verbose.mk verbose.mk: fallback to standard file descriptors 2024-01-05 16:25:14 +01:00
version.mk build: lock versions for special APK packages 2025-02-04 13:48:59 +00:00