added interface for dependency checking
authorewt <devnull@localhost>
Mon, 10 Jun 1996 17:43:11 +0000 (17:43 +0000)
committerewt <devnull@localhost>
Mon, 10 Jun 1996 17:43:11 +0000 (17:43 +0000)
CVS patchset: 636
CVS date: 1996/06/10 17:43:11

lib/rpmlib.h

index b2c6e2e..217dbad 100644 (file)
@@ -108,7 +108,7 @@ extern const int rpmTagTableSize;
 #define REQUIRE_LESS            (1 << 1)
 #define REQUIRE_GREATER         (1 << 2)
 #define REQUIRE_EQUAL           (1 << 3)
-#define REQUIRE_PROVIDES        (1 << 4)
+#define REQUIRE_PROVIDES        (1 << 4)   /* only used internally by builds */
 
 /* Stuff for maintaining "variables" like SOURCEDIR, BUILDDIR, etc */
 
@@ -176,6 +176,21 @@ int rpmdbAdd(rpmdb db, Header dbentry);
 int rpmdbUpdateRecord(rpmdb db, int secOffset, Header secHeader);
 int rpmVerifyFile(char * prefix, Header h, int filenum, int * result);
 
+typedef struct rpmDependencyCheck * rpmDependencies;
+
+struct rpmDependencyConflict {
+    char * byName, * byVersion, * byRelease;
+    char * needsName, * needsVersion;
+    int needsFlags;
+} ;
+
+rpmDependencies rpmdepDependencies(rpmdb db);         /* db may be NULL */
+void rpmdepAddPackage(rpmDependencies rpmdep, Header h);
+void rpmdepRemovePackage(rpmDependencies rpmdep, int dboffset);
+int rpmdepCheck(rpmDependencies rpmdep, 
+               struct rpmDependencyConflict ** conflicts, int * numConflicts);
+void rpmdepDone(rpmDependencies rpmdep);
+
 int mdfile(char *fn, unsigned char *digest);
 
 #endif