Add couple of new rpmfi flags for file classes and file depends
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 30 Oct 2008 11:43:44 +0000 (13:43 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 30 Oct 2008 11:47:40 +0000 (13:47 +0200)
lib/rpmfi.c
lib/rpmfi.h

index 10eed87..6f2c50f 100644 (file)
@@ -1256,13 +1256,17 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags)
 
     _hgfi(h, RPMTAG_FILECOLORS, &td, scareFlags, fi->fcolors);
 
-    _hgfi(h, RPMTAG_CLASSDICT, &td, scareFlags, fi->cdict);
-    fi->ncdict = rpmtdCount(&td);
-    _hgfi(h, RPMTAG_FILECLASS, &td, scareFlags, fi->fcdictx);
-    _hgfi(h, RPMTAG_DEPENDSDICT, &td, scareFlags, fi->ddict);
-    fi->nddict = rpmtdCount(&td);
-    _hgfi(h, RPMTAG_FILEDEPENDSX, &td, scareFlags, fi->fddictx);
-    _hgfi(h, RPMTAG_FILEDEPENDSN, &td, scareFlags, fi->fddictn);
+    if (!(flags & RPMFI_NOFILECLASS)) {
+       _hgfi(h, RPMTAG_CLASSDICT, &td, scareFlags, fi->cdict);
+       fi->ncdict = rpmtdCount(&td);
+       _hgfi(h, RPMTAG_FILECLASS, &td, scareFlags, fi->fcdictx);
+    }
+    if (!(flags & RPMFI_NOFILEDEPS)) {
+       _hgfi(h, RPMTAG_DEPENDSDICT, &td, scareFlags, fi->ddict);
+       fi->nddict = rpmtdCount(&td);
+       _hgfi(h, RPMTAG_FILEDEPENDSX, &td, scareFlags, fi->fddictx);
+       _hgfi(h, RPMTAG_FILEDEPENDSN, &td, scareFlags, fi->fddictn);
+    }
 
     _hgfi(h, RPMTAG_FILESTATES, &td, defFlags, fi->fstates);
     if (fi->fstates == NULL)
index b0b68e3..fd9cb63 100644 (file)
@@ -376,6 +376,8 @@ rpmfi rpmfiFree(rpmfi fi);
 typedef enum rpmfiFlags_e {
     RPMFI_NOHEADER     = 0,
     RPMFI_KEEPHEADER   = (1 << 0),
+    RPMFI_NOFILECLASS  = (1 << 1),
+    RPMFI_NOFILEDEPS   = (1 << 2),
 } rpmfiFlags;
 
 /** \ingroup rpmfi