bestForApt method
Determines the best installation method for Debian-based Linux distributions.
The to parameter is the installation target.
Implementation
Future<String> bestForApt({String to = 'install'}) async {
final methods = package.methods ?? [];
final hasMethod = methods.contains('apt');
final defaults = package.defaults ?? [];
final hasDefault = defaults.contains('apt');
if (hasMethod || hasDefault) {
final apt = await Executable('apt').find();
final aptGet = await Executable('apt-get').find();
final String? bestApt = apt ?? aptGet;
if (bestApt != null) {
Global.updateCommand = '${Global.sudoPath} $bestApt update || $errorOnUpdate';
if (hasDefault) {
return '${Global.sudoPath} $bestApt $to -y ${package.name}';
}
return '${to}_apt "${Global.sudoPath} $bestApt -y"';
}
}
stopIfForcedMethodNotFound();
return await bestForAny(to: to);
}