#include <errno.h>
#include <stdlib.h>
-#include <solv/pool_fileconflicts.h>
#include <solv/transaction.h>
#include <pakfire/archive.h>
return string;
}
-static void* pakfire_transaction_fileconflict_callback(
- Pool* pool, Id p, void* data) {
- return NULL;
-}
-
static int pakfire_transaction_check_fileconflicts(
struct pakfire_transaction* transaction) {
- Pool* pool = pakfire_get_solv_pool(transaction->pakfire);
-
- const int flags =
- FINDFILECONFLICTS_USE_SOLVABLEFILELIST |
- FINDFILECONFLICTS_CHECK_DIRALIASING |
- FINDFILECONFLICTS_USE_ROOTDIR;
-
- Queue pkgs;
- queue_init(&pkgs);
-
- Queue conflicts;
- queue_init(&conflicts);
-
- // Fetch all installed packages
- int newpkgs = transaction_installedresult(transaction->transaction, &pkgs);
-
- // Perform check
- int count = pool_findfileconflicts(pool, &pkgs, newpkgs, &conflicts, flags,
- pakfire_transaction_fileconflict_callback, NULL);
-
- DEBUG(transaction->pakfire, "Found %d file conflict(s)\n", count);
-
- // Free everything
- queue_free(&pkgs);
- queue_free(&conflicts);
+ /*
+ XXX TODO
- return (count > 0);
+ Because of a dependency to librpm, we cannot use the functionality from
+ libsolv and need to re-implement this.
+ */
+ return 0;
}
static int pakfire_transaction_check(struct pakfire_transaction* transaction) {