--- ./lib/depends.c.no-dirname-dep 2007-02-28 23:19:55.821603774 +0100 +++ ./lib/depends.c 2007-02-28 23:21:23.838251442 +0100 @@ -53,6 +53,9 @@ const char *rpmEVR = VERSION; /*@unchecked@*/ int rpmFLAGS = RPMSENSE_EQUAL; +int no_dirname_deps = 1; +int no_symlink_deps = 1; + /** * Compare removed package instances (qsort/bsearch). * @param a 1st instance address @@ -951,6 +954,8 @@ static int checkPackageDeps(rpmts ts, co } } + if (!no_dirname_deps) { + dirnames = rpmdsInit(dirnames); if (dirnames != NULL) while (!ourrc && rpmdsNext(dirnames) >= 0) { @@ -992,7 +997,9 @@ static int checkPackageDeps(rpmts ts, co /*@switchbreak@*/ break; } } + } + if (!no_symlink_deps) { linktos = rpmdsInit(linktos); if (linktos != NULL) while (!ourrc && rpmdsNext(linktos) >= 0) { @@ -1010,6 +1017,7 @@ static int checkPackageDeps(rpmts ts, co dscolor = rpmdsColor(linktos); if (tscolor && dscolor && !(tscolor & dscolor)) continue; + } rc = unsatisfiedDepend(ts, linktos, adding); @@ -2058,6 +2066,9 @@ int rpmtsCheck(rpmts ts) int xx; int rc; + no_dirname_deps = rpmExpandNumeric("%{?_check_dirnames_deps:0}%{?!_check_dirnames_deps:1}"); + no_symlink_deps = rpmExpandNumeric("%{?_check_symlink_deps:0}%{?!_check_symlink_deps:1}"); + (void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_CHECK), 0); /* Do lazy, readonly, open of rpm database. */