]> git.ipfire.org Git - people/ric9/pakfire.git/commitdiff
transaction: In build mode, always install the best set of packages
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 10 Jan 2025 16:31:02 +0000 (16:31 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 10 Jan 2025 16:31:02 +0000 (16:31 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/transaction.c

index 4490421dca70b468b2ce396e0ee8212b2f832e34..3b7a11c741a8c787098690bed95bf17640b4cd10 100644 (file)
@@ -328,6 +328,15 @@ static int pakfire_transaction_setup_solver(struct pakfire_transaction* transact
        // Automatically update when installation is requested
        solver_set_flag(transaction->solver, SOLVER_FLAG_INSTALL_ALSO_UPDATES, 1);
 
+#ifdef SOLVER_FLAG_FOCUS_NEW
+       // By default, only update as many packages as necessary
+       solver_set_flag(transaction->solver, SOLVER_FLAG_FOCUS_NEW, 1);
+#endif
+
+       // In build mode, we want to install the best versions
+       if (pakfire_has_flag(transaction->pakfire, PAKFIRE_FLAGS_BUILD))
+               solver_set_flag(transaction->solver, SOLVER_FLAG_FOCUS_BEST, 1);
+
        // Can the solver downgrade packages?
        if (transaction->flags & PAKFIRE_TRANSACTION_ALLOW_DOWNGRADE)
                solver_set_flag(transaction->solver, SOLVER_FLAG_ALLOW_DOWNGRADE, 1);