aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch')
-rw-r--r--meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch188
1 files changed, 0 insertions, 188 deletions
diff --git a/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch b/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch
deleted file mode 100644
index f7aa4eac91..0000000000
--- a/meta/recipes-devtools/opkg/opkg/0009-pkg_depends-fix-version-constraints.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From b93ce2249751e0d90dab38e91691a6e9f33c3512 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 29 Sep 2012 11:38:03 +0200
-Subject: [PATCH 09/10] pkg_depends: fix version constraints
-
-* factor parsing version constraint to str_to_constraint and use that
- from pkg (pkg_version_satisfied) and also pkg_depends (parseDepends)
-* fix constraint_to_str(), for EARLIER and LATER it was using '<' and
- '>' which is parsed later as EARLIER_EQUAL and LATER_EQUAL
-* show notice when deprecated '<' or '>' is used
-
-Upstream-Status: Submitted
-http://code.google.com/p/opkg/issues/detail?id=94
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- libopkg/pkg.c | 36 +++++++++++--------------
- libopkg/pkg_depends.c | 73 +++++++++++++++++++++++++++++----------------------
- libopkg/pkg_depends.h | 1 +
- 3 files changed, 59 insertions(+), 51 deletions(-)
-
-diff --git a/libopkg/pkg.c b/libopkg/pkg.c
-index 255c673..1e98b9c 100644
---- a/libopkg/pkg.c
-+++ b/libopkg/pkg.c
-@@ -968,28 +968,24 @@ pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op)
- int r;
-
- r = pkg_compare_versions(it, ref);
-+ char *op2 = op;
-+ enum version_constraint constraint = str_to_constraint(&op2);
-
-- if (strcmp(op, "<=") == 0 || strcmp(op, "<") == 0) {
-- return r <= 0;
-- }
--
-- if (strcmp(op, ">=") == 0 || strcmp(op, ">") == 0) {
-- return r >= 0;
-- }
--
-- if (strcmp(op, "<<") == 0) {
-- return r < 0;
-- }
--
-- if (strcmp(op, ">>") == 0) {
-- return r > 0;
-- }
--
-- if (strcmp(op, "=") == 0) {
-- return r == 0;
-+ switch (constraint)
-+ {
-+ case EARLIER_EQUAL:
-+ return r <= 0;
-+ case LATER_EQUAL:
-+ return r >= 0;
-+ case EARLIER:
-+ return r < 0;
-+ case LATER:
-+ return r > 0;
-+ case EQUAL:
-+ return r == 0;
-+ case NONE:
-+ opkg_msg(ERROR, "Unknown operator: %s.\n", op);
- }
--
-- opkg_msg(ERROR, "Unknown operator: %s.\n", op);
- return 0;
- }
-
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index a72eed7..3dd8240 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -781,7 +781,7 @@ constraint_to_str(enum version_constraint c)
- case NONE:
- return "";
- case EARLIER:
-- return "< ";
-+ return "<< ";
- case EARLIER_EQUAL:
- return "<= ";
- case EQUAL:
-@@ -789,12 +789,51 @@ constraint_to_str(enum version_constraint c)
- case LATER_EQUAL:
- return ">= ";
- case LATER:
-- return "> ";
-+ return ">> ";
- }
-
- return "";
- }
-
-+enum version_constraint
-+str_to_constraint(char **str)
-+{
-+ if(!strncmp(*str, "<<", 2)){
-+ *str += 2;
-+ return EARLIER;
-+ }
-+ else if(!strncmp(*str, "<=", 2)){
-+ *str += 2;
-+ return EARLIER_EQUAL;
-+ }
-+ else if(!strncmp(*str, ">=", 2)){
-+ *str += 2;
-+ return LATER_EQUAL;
-+ }
-+ else if(!strncmp(*str, ">>", 2)){
-+ *str += 2;
-+ return LATER;
-+ }
-+ else if(!strncmp(*str, "=", 1)){
-+ *str += 1;
-+ return EQUAL;
-+ }
-+ /* should these be here to support deprecated designations; dpkg does */
-+ else if(!strncmp(*str, "<", 1)){
-+ *str += 1;
-+ opkg_msg(NOTICE, "Deprecated version constraint '<' was used with the same meaning as '<='. Use '<<' for EARLIER constraint.\n");
-+ return EARLIER_EQUAL;
-+ }
-+ else if(!strncmp(*str, ">", 1)){
-+ *str += 1;
-+ opkg_msg(NOTICE, "Deprecated version constraint '>' was used with the same meaning as '>='. Use '>>' for LATER constraint.\n");
-+ return LATER_EQUAL;
-+ }
-+ else {
-+ return NONE;
-+ }
-+}
-+
- /*
- * Returns a printable string for pkg's dependency at the specified idx. The
- * resultant string must be passed to free() by the caller.
-@@ -949,35 +988,7 @@ static int parseDepends(compound_depend_t *compound_depend,
- /* extract constraint and version */
- if(*src == '('){
- src++;
-- if(!strncmp(src, "<<", 2)){
-- possibilities[i]->constraint = EARLIER;
-- src += 2;
-- }
-- else if(!strncmp(src, "<=", 2)){
-- possibilities[i]->constraint = EARLIER_EQUAL;
-- src += 2;
-- }
-- else if(!strncmp(src, ">=", 2)){
-- possibilities[i]->constraint = LATER_EQUAL;
-- src += 2;
-- }
-- else if(!strncmp(src, ">>", 2)){
-- possibilities[i]->constraint = LATER;
-- src += 2;
-- }
-- else if(!strncmp(src, "=", 1)){
-- possibilities[i]->constraint = EQUAL;
-- src++;
-- }
-- /* should these be here to support deprecated designations; dpkg does */
-- else if(!strncmp(src, "<", 1)){
-- possibilities[i]->constraint = EARLIER_EQUAL;
-- src++;
-- }
-- else if(!strncmp(src, ">", 1)){
-- possibilities[i]->constraint = LATER_EQUAL;
-- src++;
-- }
-+ possibilities[i]->constraint = str_to_constraint(&src);
-
- /* now we have any constraint, pass space to version string */
- while(isspace(*src)) src++;
-diff --git a/libopkg/pkg_depends.h b/libopkg/pkg_depends.h
-index ca0801f..685a722 100644
---- a/libopkg/pkg_depends.h
-+++ b/libopkg/pkg_depends.h
-@@ -87,6 +87,7 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg);
- int pkg_dependence_satisfiable(depend_t *depend);
- int pkg_dependence_satisfied(depend_t *depend);
- const char* constraint_to_str(enum version_constraint c);
-+enum version_constraint str_to_constraint(char **str);
- int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg);
-
- #endif
---
-1.7.12
-