static PyObject * hdrVerifyFile(hdrObject * s, PyObject * args);
static PyObject * hdrCompressFilelist(hdrObject * s, PyObject * args);
static PyObject * hdrExpandFilelist(hdrObject * s, PyObject * args);
+static PyObject * hdrFullFilelist(hdrObject * s, PyObject * args);
void initrpm(void);
static PyObject * doAddMacro(PyObject * self, PyObject * args);
{"verifyFile", (PyCFunction) hdrVerifyFile, 1 },
{"expandFilelist", (PyCFunction) hdrExpandFilelist, 1 },
{"compressFilelist", (PyCFunction) hdrCompressFilelist, 1 },
+ {"fullFilelist", (PyCFunction) hdrFullFilelist, 1 },
{NULL, NULL} /* sentinel */
};
PyInt_FromLong(RPMPROB_DISKSPACE));
}
+/* make a header with _all_ the tags we need */
+void mungeFilelist(Header h)
+{
+ const char ** fileNames = NULL;
+ int count = 0;
+
+ if (!headerIsEntry (h, RPMTAG_BASENAMES)
+ || !headerIsEntry (h, RPMTAG_DIRNAMES)
+ || !headerIsEntry (h, RPMTAG_DIRINDEXES))
+ compressFilelist(h);
+
+ rpmBuildFileList(h, &fileNames, &count);
+
+ if (fileNames == NULL || count <= 0)
+ return;
+
+ headerAddEntry(h, RPMTAG_OLDFILENAMES, RPM_STRING_ARRAY_TYPE,
+ fileNames, count);
+
+ xfree(fileNames);
+}
+
static int psGetArchScore(Header h) {
void * pkgArch;
return Py_None;
}
+static PyObject * hdrFullFilelist(hdrObject * s, PyObject * args) {
+ mungeFilelist (s->h);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
static PyObject * rpmtransCreate(PyObject * self, PyObject * args) {
rpmtransObject * o;
rpmdbObject * db = NULL;
h = db[rc[0]]
printlist (h, 'filenames')
printlist (h, 'oldfilenames')
-h.expandFilelist()
+
print "-------------- expand --------------------"
+h.expandFilelist()
printlist (h, 'oldfilenames')
printlist (h, 'filenames')
+
print "-------------- compress --------------------"
h.compressFilelist()
printlist (h, 'oldfilenames')
printlist (h, 'filenames')
+
+print "-------------- expand --------------------"
+h.expandFilelist()
+printlist (h, 'oldfilenames')
+printlist (h, 'filenames')
+
+print "-------------- full --------------------"
+h.fullFilelist()
+printlist (h, 'oldfilenames')
+printlist (h, 'filenames')
+