From 326cd339672dc352d6638efe90fedd9cd22754ae Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Sat, 23 Jul 2011 11:45:24 -0300 Subject: [PATCH] qpkg/: committed some old changes (non-functional) - TODO: various updates - pkg.h (enum relop): marked rel_lt as deprecated - prereq.c (resolve): instrumentation for chasing a dependencies bug --- qpkg/TODO | 14 +++++++++++++- qpkg/pkg.h | 2 +- qpkg/prereq.c | 9 +++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/qpkg/TODO b/qpkg/TODO index dd83e66..bba85f8 100644 --- a/qpkg/TODO +++ b/qpkg/TODO @@ -1,8 +1,13 @@ Open policy decisions ===================== +http://www.debian.org/doc/debian-policy/ch-controlfields.html#s5.6.10 + - what to do about cyclic dependencies ? + Update: addressed in + http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + A cyclic dependency can be bad new or something perfectly normal, depending on how we define the semantics of package A depending on package B, and what policy we adopt with respect to the existence of @@ -50,8 +55,12 @@ Open policy decisions - what to do if we need something that's "provided" ? + Update: "Provides" is described here, but without answering the above + question: + http://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual + When determining prerequisites, we may encounter a dependency on an item - that only appears in the Provides: field of a package but it not an + that only appears in the Provides: field of a package but is not an installable package itself. Should we @@ -105,6 +114,9 @@ Open policy decisions Still left to do ================ +- make comp_versions work according to + http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version + - consider reducing the size of the lists of conflicts, e.g., by making them unique via a red-black tree diff --git a/qpkg/pkg.h b/qpkg/pkg.h index 6228439..d8385ee 100644 --- a/qpkg/pkg.h +++ b/qpkg/pkg.h @@ -31,7 +31,7 @@ enum relop { rel_eq, /* = */ rel_ge, /* >= */ rel_gg, /* >> */ - rel_lt, /* < */ + rel_lt, /* < DEPRECATED */ rel_le, /* <= */ rel_ll, /* << */ }; diff --git a/qpkg/prereq.c b/qpkg/prereq.c index 5751e16..7d97332 100644 --- a/qpkg/prereq.c +++ b/qpkg/prereq.c @@ -239,6 +239,15 @@ static void resolve(struct list *next_deps, const struct ref *dep, * tracking of package state for ordering the dependencies and for * "Provides" anyway. */ + +#if 1 + while (next_deps) { + assert(top->pkg->flags & QPKG_ADDING); + top->pkg->flags &= ~QPKG_ADDING; + top = top->next; + next_deps = next_deps->next; + } +#endif }