updateTo(pkg, *sit);
else if ((best = s->updateCandidateObj()))
updateTo(pkg, best);
- else if (changes_vendor)
+ else if (changes_vendor && !_opts.allow_vendor_change)
updateTo(pkg, instobj);
else
updateTo(pkg, *sit);
}
// update candidate has different vendor
- if (!VendorAttr::instance().equivalent(highest->vendor(), installed->vendor()))
+ if (!VendorAttr::instance().equivalent(highest->vendor(), installed->vendor()) &&
+ !_opts.allow_vendor_change)
{
addFeedback(Feedback::UPD_CANDIDATE_CHANGES_VENDOR, pkg, selected, installed);
DBG << "Newer object with different vendor exists: " << highest
#include <string>
+#include "zypp/ZConfig.h"
#include "zypp/PoolItem.h"
#include "Command.h"
, force_by_name(false)
, best_effort(false)
, skip_interactive(false)
+ , allow_vendor_change(zypp::ZConfig::instance().solver_allowVendorChange())
{}
void setForceByName(bool value = true);
*/
bool skip_interactive;
+ /** Whether to ignore vendor when selecting packages */
+ bool allow_vendor_change;
+
/** Aliases of the repos from which the packages should be installed */
std::list<std::string> from_repos;
};