summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg/opkg/no-install-recommends.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/opkg/opkg/no-install-recommends.patch')
-rw-r--r--meta/recipes-devtools/opkg/opkg/no-install-recommends.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/meta/recipes-devtools/opkg/opkg/no-install-recommends.patch b/meta/recipes-devtools/opkg/opkg/no-install-recommends.patch
new file mode 100644
index 0000000000..bcca56c6ce
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/no-install-recommends.patch
@@ -0,0 +1,91 @@
1From 610207c9bc82f20c77d6f234465e36857c997ea0 Mon Sep 17 00:00:00 2001
2From: Paul Barker <paul@paulbarker.me.uk>
3Date: Fri, 28 Mar 2014 15:19:08 +0000
4Subject: [PATCH 1/2] opkg-0.2.x: no-install-recommends
5
6Add the ability to not install ANY recommended packages.
7
8Upstream-Status: Pending
9
10Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
11---
12 libopkg/opkg_conf.h | 1 +
13 libopkg/pkg_depends.c | 3 ++-
14 src/opkg-cl.c | 7 +++++++
15 3 files changed, 10 insertions(+), 1 deletion(-)
16
17diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
18index 38fa375..6045a58 100644
19--- a/libopkg/opkg_conf.h
20+++ b/libopkg/opkg_conf.h
21@@ -82,6 +82,7 @@ struct opkg_conf
22 int prefer_arch_to_version;
23 int check_signature;
24 int nodeps; /* do not follow dependencies */
25+ int noinstall_recommends;
26 char *offline_root;
27 char *overlay_root;
28 int query_all;
29diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
30index a4df7de..d2d279e 100644
31--- a/libopkg/pkg_depends.c
32+++ b/libopkg/pkg_depends.c
33@@ -19,6 +19,7 @@
34 #include <ctype.h>
35
36 #include "pkg.h"
37+#include "opkg_conf.h"
38 #include "opkg_utils.h"
39 #include "pkg_hash.h"
40 #include "opkg_message.h"
41@@ -204,7 +205,7 @@ pkg_hash_fetch_unsatisfied_dependencies(pkg_t * pkg, pkg_vec_t *unsatisfied,
42 /* user request overrides package recommendation */
43 if (satisfying_pkg != NULL
44 && (compound_depend->type == RECOMMEND || compound_depend->type == SUGGEST)
45- && (satisfying_pkg->state_want == SW_DEINSTALL || satisfying_pkg->state_want == SW_PURGE)) {
46+ && (satisfying_pkg->state_want == SW_DEINSTALL || satisfying_pkg->state_want == SW_PURGE || conf->noinstall_recommends)) {
47 opkg_msg(NOTICE, "%s: ignoring recommendation for "
48 "%s at user request\n",
49 pkg->name, satisfying_pkg->name);
50diff --git a/src/opkg-cl.c b/src/opkg-cl.c
51index b711511..0315d41 100644
52--- a/src/opkg-cl.c
53+++ b/src/opkg-cl.c
54@@ -50,6 +50,7 @@ enum {
55 ARGS_OPT_NODEPS,
56 ARGS_OPT_AUTOREMOVE,
57 ARGS_OPT_CACHE,
58+ ARGS_OPT_NOINSTALL_RECOMMENDS,
59 };
60
61 static struct option long_options[] = {
62@@ -89,6 +90,7 @@ static struct option long_options[] = {
63 {"noaction", 0, 0, ARGS_OPT_NOACTION},
64 {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
65 {"nodeps", 0, 0, ARGS_OPT_NODEPS},
66+ {"no-install-recommends", 0, 0, ARGS_OPT_NOINSTALL_RECOMMENDS},
67 {"offline", 1, 0, 'o'},
68 {"offline-root", 1, 0, 'o'},
69 {"add-arch", 1, 0, ARGS_OPT_ADD_ARCH},
70@@ -199,6 +201,9 @@ args_parse(int argc, char *argv[])
71 case ARGS_OPT_NOACTION:
72 conf->noaction = 1;
73 break;
74+ case ARGS_OPT_NOINSTALL_RECOMMENDS:
75+ conf->noinstall_recommends = 1;
76+ break;
77 case ARGS_OPT_DOWNLOAD_ONLY:
78 conf->download_only = 1;
79 break;
80@@ -293,6 +298,8 @@ usage()
81 printf("\t--noaction No action -- test only\n");
82 printf("\t--download-only No action -- download only\n");
83 printf("\t--nodeps Do not follow dependencies\n");
84+ printf("\t--no-install-recommends\n");
85+ printf("\t Do not install any recommended packages\n");
86 printf("\t--force-removal-of-dependent-packages\n");
87 printf("\t Remove package and all dependencies\n");
88 printf("\t--autoremove Remove packages that were installed\n");
89--
901.9.1
91