true, 'version' => $version] : ['installed' => false]; } public static function upgrade(string $prog) { return self::update($prog); } public static function install(string $prog) { exec(\neato::get_user_bin . 'flatpak install -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 purge(string $prog) { return self::uninstall($prog); } public static function uninstall(string $prog) { exec(\neato::get_user_bin . 'flatpak uninstall -y ' . safe_cmd_quotes($prog) . stderr(), $output, $exit_code); display($output); check_for_error($exit_code, "Unable to uninstall: {$prog}"); return $exit_code; } /** * @todo fix me */ public static function add_repo(string $name, string $url) { exec(\neato::get_user_bin . 'flatpak remote-add --if-not-exists ' . safe_cmd($name, $url) . stderr(), $output, $exit_code); display($output); return $exit_code; } public static function update() { exec(\neato::get_user_bin . 'flatpak update' . stderr(), $output, $exit_code); display($output); return $exit_code; } public static function full_update() { return false; } // Have a Backup!! public static function full_system_upgrade() { return false; } public static function list() { exec(\neato::get_user_bin . 'flatpak list' . stderr(), $output, $exit_code); display($output); return $exit_code; } }