-
- Downloads
opkg: vfork external gzip command to uncompress data
Opkg's builtin decompression code is unsuitable to process nested archives as it uses a single shared state and relies on undefined seek behaviour for pipes. Rework the extraction logic to use the external gzip command as I/O filter for decompressing data and remove the builtin inflate code entirely. This shrinks the final opkg binary by about 4KB and results in less runtime memory consumption due to efficient use of vfork() and less copy-on-write operations in the forked child. Rework by Felix: create a thread that relays data to the gzip process instead of using a fragile poll loop Signed-off-by:Jo-Philipp Wich <jo@mein.io> Signed-off-by:
Felix Fietkau <nbd@nbd.name>
Showing
- package/system/opkg/Makefile 1 addition, 1 deletionpackage/system/opkg/Makefile
- package/system/opkg/patches/070-use_external_gzip.patch 719 additions, 0 deletionspackage/system/opkg/patches/070-use_external_gzip.patch
- package/system/opkg/patches/071-use_gzipped_pkg_list.patch 25 additions, 21 deletionspackage/system/opkg/patches/071-use_gzipped_pkg_list.patch
- package/system/opkg/patches/220-drop-release-support.patch 1 addition, 1 deletionpackage/system/opkg/patches/220-drop-release-support.patch
Loading
Please register or sign in to comment