diff options
author | Jo-Philipp Wich <jo@mein.io> | 2017-02-16 17:36:47 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2017-02-19 19:08:46 +0100 |
commit | b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9 (patch) | |
tree | 6ebef4cc7d786698b57488d1d3d929dd7c398560 /package/system/opkg/patches/110-upgrade.patch | |
parent | 84ceca514841dd6d4705dc27d2104ee0aa18b9e1 (diff) | |
download | upstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.gz upstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.bz2 upstream-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.zip |
opkg: switch to own fork to improve memory usage
Switch to our own fork of opkg to significantly reduce the required amount
of memory when updating lists or installing packages.
Preliminary tests showed a usage drop of about 90% during these operations,
from ~3.7MB with unmodified opkg to ~360KB with our custom fork.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'package/system/opkg/patches/110-upgrade.patch')
-rw-r--r-- | package/system/opkg/patches/110-upgrade.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/package/system/opkg/patches/110-upgrade.patch b/package/system/opkg/patches/110-upgrade.patch deleted file mode 100644 index 61f454ae1c..0000000000 --- a/package/system/opkg/patches/110-upgrade.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- a/libopkg/opkg_install.c -+++ b/libopkg/opkg_install.c -@@ -1405,9 +1405,11 @@ opkg_install_pkg(pkg_t *pkg, int from_up - opkg_state_changed++; - pkg->state_flag |= SF_FILELIST_CHANGED; - -- if (old_pkg) -+ if (old_pkg) { - pkg_remove_orphan_dependent(pkg, old_pkg); -- -+ old_pkg->is_upgrade = 1; -+ pkg->is_upgrade = 1; -+ } - /* XXX: BUG: we really should treat replacement more like an upgrade - * Instead, we're going to remove the replacees - */ -@@ -1466,7 +1468,7 @@ opkg_install_pkg(pkg_t *pkg, int from_up - } - - -- opkg_msg(INFO, "Installing maintainer scripts.\n"); -+ opkg_msg(INFO, "%s maintainer scripts.\n", (pkg->is_upgrade) ? ("Upgrading") : ("Installing")); - if (install_maintainer_scripts(pkg, old_pkg)) { - opkg_msg(ERROR, "Failed to extract maintainer scripts for %s." - " Package debris may remain!\n", ---- a/libopkg/pkg.c -+++ b/libopkg/pkg.c -@@ -1285,6 +1285,12 @@ pkg_run_script(pkg_t *pkg, const char *s - setenv("PKG_ROOT", - pkg->dest ? pkg->dest->root_dir : conf->default_dest->root_dir, 1); - -+ if (pkg->is_upgrade) -+ setenv("PKG_UPGRADE", "1", 1); -+ else -+ setenv("PKG_UPGRADE", "0", 1); -+ -+ - if (! file_exists(path)) { - free(path); - return 0; ---- a/libopkg/pkg.h -+++ b/libopkg/pkg.h -@@ -184,6 +184,7 @@ struct pkg - /* this flag specifies whether the package was installed to satisfy another - * package's dependancies */ - int auto_installed; -+ int is_upgrade; - }; - - pkg_t *pkg_new(void); |