Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > a35732d620cfac4812adc8d6b2992f07 > files > 24

rpm-4.4.8-22.1mdv2008.0.src.rpm

--- ./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. */