true, 'version' => $version] : ['installed' => false]; } public static function upgrade($prog) { exec(\neato::get_user_bin . 'dnf upgrade -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to upgrade: {$prog}"); return $exit_code; } public static function install($prog) { exec(\neato::get_user_bin . 'dnf add -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to install: {$prog}"); return $exit_code; } public static function uninstall($prog) { exec(\neato::get_user_bin . 'dnf del -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to uninstall: {$prog}"); return $exit_code; } /** * @todo figure out this method */ public static function add_repo($repo) { exec(\neato::get_user_bin . 'dnf update' . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to add new repo: {$repo}"); return $exit_code; } public static function update() { exec(\neato::get_user_bin . 'dnf update -y ' . stderr(), $output, $exit_code); display($output); return $exit_code; } public static function full_update() { exec(\neato::get_user_bin . 'dnf update -y && ' . \neato::get_user_bin . 'apk upgrade -y' . stderr(), $output, $exit_code); display($output); return $exit_code; } }