2.90 -> 2.91
- create rpmbzio.c to avoid implicit dependence on libbz2 for installer.
- spec files can provide /filename now
+ - added rpmdbOpenForTraversal()
2.5.x -> 2.90
- added --excludepath
return 0;
};
+int rpmdbOpenForTraversal(const char * prefix, rpmdb * rpmdbp) {
+ const char * dbpath;
+
+ dbpath = rpmGetPath("%{_dbpath}", NULL);
+ if (dbpath == NULL || dbpath[0] == '%') {
+ rpmMessage(RPMMESS_DEBUG, _("no dbpath has been set"));
+ return 1;
+ }
+
+ if (openDatabase(prefix, dbpath, rpmdbp, O_RDONLY, 0644,
+ RPMDB_FLAG_MINIMAL)) {
+ return 1;
+ }
+
+ return 0;
+}
+
int rpmdbOpen (const char * prefix, rpmdb *rpmdbp, int mode, int perms) {
const char * dbpath;
int rc;
int rpmdbInit(const char * root, int perms);
/* nonzero on error */
void rpmdbClose (rpmdb db);
+/* Databases like this should only have rpmdb*RecNum and rpmdbGetRecord
+ used on them. Anything else could fail! */
+int rpmdbOpenForTraversal(const char * prefix, rpmdb * rpmdbp);
int rpmdbFirstRecNum(rpmdb db);
int rpmdbNextRecNum(rpmdb db, unsigned int lastOffset);