aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch')
-rw-r--r--meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch b/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch
deleted file mode 100644
index a9b039c5a0..0000000000
--- a/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Add the --prefer-arch-to-version option
-
-If there were more than one candidate which had the same pkg name in the
-candidate list, for example, the same pkg with different versions, then
-it would use the last one which was the highest version one in the past,
-but it will use the higher arch priority when this option is specified.
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libopkg/opkg_conf.h | 1 +
- libopkg/pkg_hash.c | 18 +++++++++++++++---
- src/opkg-cl.c | 9 +++++++++
- 3 files changed, 25 insertions(+), 3 deletions(-)
-
-diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
---- a/libopkg/opkg_conf.h
-+++ b/libopkg/opkg_conf.h
-@@ -77,6 +77,7 @@ struct opkg_conf
- int force_removal_of_essential_packages;
- int force_postinstall;
- int force_remove;
-+ int prefer_arch_to_version;
- int check_signature;
- int nodeps; /* do not follow dependencies */
- char *offline_root;
-diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c
---- a/libopkg/pkg_hash.c
-+++ b/libopkg/pkg_hash.c
-@@ -376,10 +376,22 @@ pkg_hash_fetch_best_installation_candidate(abstract_pkg_t *apkg,
- if (constraint_fcn(matching, cdata)) {
- opkg_msg(DEBUG, "Candidate: %s %s.\n",
- matching->name, matching->version) ;
-- good_pkg_by_name = matching;
- /* It has been provided by hand, so it is what user want */
-- if (matching->provided_by_hand == 1)
-- break;
-+ if (matching->provided_by_hand == 1) {
-+ good_pkg_by_name = matching;
-+ break;
-+ }
-+ /* Respect to the arch priorities when given alternatives */
-+ if (good_pkg_by_name && conf->prefer_arch_to_version) {
-+ if (matching->arch_priority >= good_pkg_by_name->arch_priority) {
-+ good_pkg_by_name = matching;
-+ opkg_msg(DEBUG, "%s %s wins by priority.\n",
-+ matching->name, matching->version) ;
-+ } else
-+ opkg_msg(DEBUG, "%s %s wins by priority.\n",
-+ good_pkg_by_name->name, good_pkg_by_name->version) ;
-+ } else
-+ good_pkg_by_name = matching;
- }
- }
-
-diff --git a/src/opkg-cl.c b/src/opkg-cl.c
---- a/src/opkg-cl.c
-+++ b/src/opkg-cl.c
-@@ -42,6 +42,7 @@ enum {
- ARGS_OPT_FORCE_SPACE,
- ARGS_OPT_FORCE_POSTINSTALL,
- ARGS_OPT_FORCE_REMOVE,
-+ ARGS_OPT_PREFER_ARCH_TO_VERSION,
- ARGS_OPT_ADD_ARCH,
- ARGS_OPT_ADD_DEST,
- ARGS_OPT_NOACTION,
-@@ -83,6 +84,8 @@ static struct option long_options[] = {
- {"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL},
- {"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
- {"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE},
-+ {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION},
-+ {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION},
- {"noaction", 0, 0, ARGS_OPT_NOACTION},
- {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY},
- {"nodeps", 0, 0, ARGS_OPT_NODEPS},
-@@ -173,6 +176,9 @@ args_parse(int argc, char *argv[])
- case ARGS_OPT_FORCE_REMOVE:
- conf->force_remove = 1;
- break;
-+ case ARGS_OPT_PREFER_ARCH_TO_VERSION:
-+ conf->prefer_arch_to_version = 1;
-+ break;
- case ARGS_OPT_NODEPS:
- conf->nodeps = 1;
- break;
-@@ -271,6 +277,9 @@ usage()
- printf("\t--offline-root <dir> offline installation of packages.\n");
- printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
- printf("\t--add-dest <name>:<path> Register destination with given path\n");
-+ printf("\t--prefer-arch-to-version\t Use the architecture priority package rather\n");
-+ printf("\t than the higher version one if more\n");
-+ printf("\t than one candidate is found.\n");
-
- printf("\nForce Options:\n");
- printf("\t--force-depends Install/remove despite failed dependencies\n");
---
-1.7.1
-