Index: lib/depends.c =================================================================== RCS file: /v/rpm/cvs/rpm/lib/depends.c,v retrieving revision 1.404 retrieving revision 1.405 diff -w -u -r1.404 -r1.405 --- lib/depends.c 3 Jul 2008 15:08:05 -0000 1.404 +++ lib/depends.c 17 Jul 2008 13:57:42 -0000 1.405 @@ -1462,6 +1462,8 @@ 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) @@ -1537,6 +1539,8 @@ } } + 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) { @@ -1577,7 +1581,10 @@ /*@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) { @@ -1595,6 +1602,7 @@ dscolor = rpmdsColor(linktos); if (tscolor && dscolor && !(tscolor & dscolor)) continue; + } rc = unsatisfiedDepend(ts, linktos, adding);