Lemme attempt to provide some context to this reversion ..
First of all, the issue of parentdir deps was discussed here:
https://lists.dulug.duke.edu/pipermail/rpm-devel/2006-March/
000942.html
My reading of that thread sees unanimous "+1", although Frank Cusack
was arguably neutral after discussion.
Several vendor maintainers (and @rpm5.org members) participated
in that discussion.
The issue of ordering with dependencies is quite mysterious to most.
From a forward looking POV, I don't see any solution to unreliable
added dependencies from packagers otgher than to use some
additional information from file pathg hierarchies, which is at least
quite clearly "reliable" in the sense that there is no question of
what the parent directory is any any path like
/usr/bin/rpm
There's already enough FUD and confusion around regarding
how to solve *.rpm ordering issues.
E.g. here are 2 examples of the dependency ordering confusion
that I've seen in the last 2 weeks:
1) the package flaws described here:
https://bugzilla.redhat.com/show_bug.cgi?id=223642
2) the apparently authoritative suggestions here:
https://lists.dulug.duke.edu/pipermail/rpm-maint/2008-July/001063.html
No matter what anyone thinks,
PreReq: != Requires(pre)
and fiddling with rpm dependencies to solve ordering problems is
way harder than it looks.
Hint: get rid of dependency loops first.
So for the following reasons, expressed to Per on IRC, I'm very much
against
distributing RPM with a means to disable parendir (and file linkto)
dependencies:
1) the discussion in 3/2006 was in favor of adding parentdir deps.
2) more reliable (and transparently objective) hints for ordering
packages is
increasingly needed. I can't even begin to attempt to use parentdir deps
for ordering unless they are routinely enabled (just like I can't
write a depsolver
if ntweork transport is "opt-in", the usage cases will be vanishingly
small, too
small to even attempt an implementation imho).
But I'm perfectly willing to be reversed, either with code to do
whatever under
#define RPM_VENDOR_FOO
or by achieving consensus (hehe, in rpm? never gonna happen ... ;-)
about
whether perentdir and file linktos should be "opt-in" or "opt-out".
(aside) But I'm unwilling to see "1st patch wins!" without additional
discussion, way
too much of my life has been wasted with this issue already, I first
suggested
parentdir deps for RHL 7.1 in like 2000, and I'd like to make
progress this decade,
rather than next decade, on the issue. Life is short ...
No problems at all with Per at all, he's just wussy ;-)
The issue or parentdir dependencies needs to be discussed first ..
73 de Jeff
On Jul 17, 2008, at 10:37 AM, Per Øyvind Karlsen wrote:
> RPM Package Manager, CVS Repository
> http://rpm5.org/cvs/
>
> ______________________________________________________________________
> ______
>
> Server: rpm5.org Name: Per Øyvind Karlsen
> Root: /v/rpm/cvs Email: pkarlsen@rpm5.org
> Module: rpm Date: 17-Jul-2008
> 16:37:45
> Branch: HEAD Handle: 2008071714374500
>
> Modified files:
> rpm CHANGES
> rpm/lib depends.c
>
> Log:
> wuss out optional dirname & symlink deps and rather look into
> it some
> time later..
>
> Summary:
> Revision Changes Path
> 1.2492 +0 -2 rpm/CHANGES
> 1.406 +0 -8 rpm/lib/depends.c
>
> ______________________________________________________________________
> ______
>
> patch -p0 <<'@@ .'
> Index: rpm/CHANGES
>
> ======================================================================
> ======
> $ cvs diff -u -r1.2491 -r1.2492 CHANGES
> --- rpm/CHANGES 17 Jul 2008 13:57:42 -0000 1.2491
> +++ rpm/CHANGES 17 Jul 2008 14:37:45 -0000 1.2492
> @@ -1,7 +1,5 @@
>
> 5.1.0 -> 5.2a0:
> - - proyvind: add %{_check_symlink_deps} & %
> {_check_dirname_deps} to optionally enable/disable
> - directory & symlink dependencies.
> - proyvind: disable filetriggers for src.rpms.
> - jbj: band-aid test for tag->tagno != NULL for now. better
> needs doing.
> - jbj: fix: --changelog segfault from rpmpopt.in typo.
> @@ .
> patch -p0 <<'@@ .'
> Index: rpm/lib/depends.c
>
> ======================================================================
> ======
> $ cvs diff -u -r1.405 -r1.406 depends.c
> --- rpm/lib/depends.c 17 Jul 2008 13:57:42 -0000 1.405
> +++ rpm/lib/depends.c 17 Jul 2008 14:37:45 -0000 1.406
> @@ -1462,8 +1462,6 @@
> int terminate = 2; /* XXX terminate if rc >= terminate */
> int rc;
> int ourrc = 0;
> - int dirname_deps;
> - int symlink_deps;
>
> requires = rpmdsInit(requires);
> if (requires != NULL)
> @@ -1539,8 +1537,6 @@
> }
> }
>
> - dirname_deps = rpmExpandNumeric("%{?_check_dirname_deps}%{?!
> _check_dirname_deps:1}");
> - if (dirname_deps) {
> dirnames = rpmdsInit(dirnames);
> if (dirnames != NULL)
> while (ourrc < terminate && rpmdsNext(dirnames) >= 0) {
> @@ -1581,10 +1577,7 @@
> /*@switchbreak@*/ break;
> }
> }
> - }
>
> - symlink_deps = rpmExpandNumeric("%{?_check_symlink_deps}%{?!
> _check_symlink_deps:1}");
> - if (symlink_deps) {
> linktos = rpmdsInit(linktos);
> if (linktos != NULL)
> while (ourrc < terminate && rpmdsNext(linktos) >= 0) {
> @@ -1602,7 +1595,6 @@
> dscolor = rpmdsColor(linktos);
> if (tscolor && dscolor && !(tscolor & dscolor))
> continue;
> - }
>
> rc = unsatisfiedDepend(ts, linktos, adding);
>
> @@ .
> ______________________________________________________________________
> RPM Package Manager http://rpm5.org
> CVS Sources Repository rpm-cvs@rpm5.org
Received on Thu Jul 17 17:49:52 2008