true, 'version' => $version] : ['installed' => false]; } public static function upgrade(string $prog) { exec(\neato::get_user_bin . 'apt upgrade ' . $assume . 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(string $prog, bool $auto=true) { $assume = ($auto) ? "-y " : ""; exec(\neato::get_user_bin . 'apt install ' . $assume . 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 purge(string $prog, bool $auto=true) { $assume = ($auto) ? "-y " : ""; exec(\neato::get_user_bin . 'apt --purge remove ' . $assume . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to uninstall: {$prog}"); return $exit_code; } public static function uninstall(string $prog, bool $auto=true) { $assume = ($auto) ? "-y " : ""; exec(\neato::get_user_bin . 'apt remove -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to uninstall: {$prog}"); return $exit_code; } public static function add_repo(string $repo) { exec(\neato::get_user_bin . 'add-apt-repository -y -u ' . safe_cmd_quotes($repo) . stderr(), $output, $exit_code); display($output); // -u = DO UPDATE once done... check_for_error($exit_code, "Unable to uninstall: {$repo}"); return $exit_code; } public static function update() { exec(\neato::get_user_bin . 'apt update -y ' . stderr(), $output, $exit_code); display($output); return $exit_code; } public static function full_update() { exec(\neato::get_user_bin . 'apt update -y && '. \neato::get_user_bin . 'apt-get upgrade -y && ' . \neato::get_user_bin . 'apt autoremove -y && ' . \neato::get_user_bin . 'apt autoclean -y' . stderr(), $output, $exit_code); display($output); return $exit_code; } // Have a Backup!! public static function full_system_upgrade() { exec(\neato::get_user_bin . 'apt update -y && '. \neato::get_user_bin . 'apt upgrade -y '. \neato::get_user_bin . 'apt full-upgrade -y && ' . \neato::get_user_bin . 'apt autoremove -y && ' . \neato::get_user_bin . 'apt autoclean -y' . stderr(), $output, $exit_code); display($output); return $exit_code; } }