bestForFedora method
Determines the best installation method for Fedora.
The to parameter is the installation target.
Implementation
Future<String> bestForFedora({String to = 'install'}) async {
final methods = package.methods ?? [];
final hasMethod = methods.contains('dnf');
final defaults = package.defaults ?? [];
final hasDefault = defaults.contains('dnf');
if (hasMethod || hasDefault) {
final dnf = await Executable('dnf').find();
String? bestFedora = dnf;
if (bestFedora != null) {
Global.updateCommand = '${Global.sudoPath} $bestFedora check-update || $errorOnUpdate';
if (hasDefault) {
return '${Global.sudoPath} $bestFedora -y $to ${package.name}';
}
return '${to}_dnf "${Global.sudoPath} $bestFedora -y"';
}
}
stopIfForcedMethodNotFound();
return await bestForAny(to: to);
}