(cmake needs to be called with -DFEDORA:=1)
FIND_PACKAGE(Check REQUIRED)
FIND_PACKAGE(ZLIB REQUIRED)
+IF ( FEDORA )
+MESSAGE(STATUS "Building for Fedora")
+ADD_DEFINITIONS( -DFEDORA )
+FIND_LIBRARY(RPMDB_LIBRARY NAMES rpm)
+ELSE ( FEDORA )
FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb)
+ENDIF ( FEDORA)
SET( PACKAGE "satsolver" )
SET( VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}.${LIBSATSOLVER_PATCH}" )
#include <unistd.h>
#include <assert.h>
+#ifdef FEDORA
+#include <db4/db.h>
+#else
#include <rpm/db.h>
+#endif
#include "pool.h"
#include "repo.h"
exit(1);
}
snprintf(dbpath, PATH_MAX, "%s/var/lib/rpm", rootdir);
+ /* should look in /usr/lib/rpm/macros instead, but we want speed... */
+#ifdef FEDORA
+ if (dbenv->open(dbenv, dbpath, DB_CREATE|DB_INIT_CDB|DB_INIT_MPOOL, 0))
+#else
if (dbenv->open(dbenv, dbpath, DB_CREATE|DB_PRIVATE|DB_INIT_MPOOL, 0))
+#endif
{
perror("dbenv open");
exit(1);