true, 'version' => $version] : ['installed' => false]; } public static function upgrade() { return self::update(); } public static function install(string $prog) { exec(\neato::get_user_bin . 'flatpak install -y ' . safeCmdQuotes($prog) . stdErr(), $output, $exit_code); display($output); checkForError($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 ' . safeCmdQuotes($prog) . stdErr(), $output, $exit_code); display($output); checkForError($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 ' . safeCmd($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; } }