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/260-add-print-package-size.patch | |
parent | 84ceca514841dd6d4705dc27d2104ee0aa18b9e1 (diff) | |
download | mtk-20170518-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.zip mtk-20170518-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.gz mtk-20170518-b65dc04712dfb8cc7bb9036c7c73b0cead6dd7c9.tar.bz2 |
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/260-add-print-package-size.patch')
-rw-r--r-- | package/system/opkg/patches/260-add-print-package-size.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/package/system/opkg/patches/260-add-print-package-size.patch b/package/system/opkg/patches/260-add-print-package-size.patch deleted file mode 100644 index 4dce356..0000000 --- a/package/system/opkg/patches/260-add-print-package-size.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/libopkg/opkg_conf.c -+++ b/libopkg/opkg_conf.c -@@ -69,6 +69,7 @@ opkg_option_t options[] = { - { "proxy_passwd", OPKG_OPT_TYPE_STRING, &_conf.proxy_passwd }, - { "proxy_user", OPKG_OPT_TYPE_STRING, &_conf.proxy_user }, - { "query-all", OPKG_OPT_TYPE_BOOL, &_conf.query_all }, -+ { "size", OPKG_OPT_TYPE_BOOL, &_conf.size }, - { "tmp_dir", OPKG_OPT_TYPE_STRING, &_conf.tmp_dir }, - { "verbosity", OPKG_OPT_TYPE_INT, &_conf.verbosity }, - #if defined(HAVE_OPENSSL) ---- a/libopkg/opkg_conf.h -+++ b/libopkg/opkg_conf.h -@@ -88,6 +88,7 @@ struct opkg_conf - int query_all; - int verbosity; - int noaction; -+ int size; - int download_only; - char *cache; - ---- a/src/opkg-cl.c -+++ b/src/opkg-cl.c -@@ -52,6 +52,7 @@ enum { - ARGS_OPT_AUTOREMOVE, - ARGS_OPT_CACHE, - ARGS_OPT_FORCE_SIGNATURE, -+ ARGS_OPT_SIZE, - }; - - static struct option long_options[] = { -@@ -98,6 +99,7 @@ static struct option long_options[] = { - {"offline-root", 1, 0, 'o'}, - {"add-arch", 1, 0, ARGS_OPT_ADD_ARCH}, - {"add-dest", 1, 0, ARGS_OPT_ADD_DEST}, -+ {"size", 0, 0, ARGS_OPT_SIZE}, - {"test", 0, 0, ARGS_OPT_NOACTION}, - {"tmp-dir", 1, 0, 't'}, - {"tmp_dir", 1, 0, 't'}, -@@ -212,6 +214,9 @@ args_parse(int argc, char *argv[]) - } - free(tuple); - break; -+ case ARGS_OPT_SIZE: -+ conf->size = 1; -+ break; - case ARGS_OPT_NOACTION: - conf->noaction = 1; - break; -@@ -315,6 +320,7 @@ usage() - printf("\t--download-only No action -- download only\n"); - printf("\t--nodeps Do not follow dependencies\n"); - printf("\t--nocase Perform case insensitive pattern matching\n"); -+ printf("\t--size Print package size when listing available packages\n"); - printf("\t--force-removal-of-dependent-packages\n"); - printf("\t Remove package and all dependencies\n"); - printf("\t--autoremove Remove packages that were installed\n"); ---- a/libopkg/opkg_cmd.c -+++ b/libopkg/opkg_cmd.c -@@ -47,10 +47,12 @@ static void - print_pkg(pkg_t *pkg) - { - char *version = pkg_version_str_alloc(pkg); -+ printf("%s - %s", pkg->name, version); -+ if (conf->size) -+ printf(" - %lu", pkg->size); - if (pkg->description) -- printf("%s - %s - %s\n", pkg->name, version, pkg->description); -- else -- printf("%s - %s\n", pkg->name, version); -+ printf(" - %s", pkg->description); -+ printf("\n"); - free(version); - } - |