diff --git a/windows b/windows new file mode 100644 index 0000000..b4c0c1f --- /dev/null +++ b/windows @@ -0,0 +1,89 @@ +#!/bedrock/libexec/busybox awk -f +# +# Package Manager Manager windows support script +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 as published by the Free Software Foundation. +# +# Copyright (c) 2018-2020 Daniel Thau + +system_package_managers["windows"] +package_manager_canary_executables["windows"] = "windows" + +# +# General, operation independent flags. +# +# Unlike operations, flags should not have implementations[]. +# +user_interfaces["windows", "assume-no"] = "-n/--no" +user_interfaces["windows", "assume-yes"] = "-y/--yes" +user_interfaces["windows", "confirm"] = "-i/--interactive" +user_interfaces["windows", "quiet"] = "-q/--quiet" +user_interfaces["windows", "verbose"] = "-v/--verbose" +user_interfaces["windows", "strat"] = "--strat/--s" +user_interfaces["windows", "package-manager"] = "--pm/--package-manager" +user_interfaces["windows", "newest"] = "--n" +user_interfaces["windows", "oldest"] = "--o" +user_interfaces["windows", "approx-version"] = "--c" +user_interfaces["windows", "exact-version"] = "--eq" +user_interfaces["windows", "newer-or-equal"] = "--neq" +user_interfaces["windows", "newer-than"] = "--nt" +user_interfaces["windows", "older-or-equal"] = "--oe" +user_interfaces["windows", "older-than"] = "--ot" +user_interfaces["windows", "every"] = "--a" + +# +# Operations which directly forward the underlying command output. +# +user_interfaces["windows", "install-packages"] = "pmm i/--install " +user_interfaces["windows", "reinstall-packages"] = "pmm fi/--force-install " +user_interfaces["windows", "remove-packages-limited"] = "pmm r/--remove-limited " # uses combine remove-packages,remove-orphans +user_interfaces["windows", "remove-packages-full"] = "pmm rf/--remove-full " # uses combine remove-packages,remove-orphans +user_interfaces["windows", "verify-packages"] = "pmm v/--verify " # could not find operation in package manager documentation +user_interfaces["windows", "verify-all-packages"] = "pmm va/--verify-all " +user_interfaces["windows", "mark-packages-explicit"] = "pmm m/--mark-explicit " # implicit with windows add +user_interfaces["windows", "mark-packages-implicit"] = "pmm d/--mark-implicit " # implicit with windows del +user_interfaces["windows", "show-package-information"] = "pmm g/--get " +user_interfaces["windows", "clear-cache"] = "pmm c/--clear" # could not find operation in package manager documentation +user_interfaces["windows", "remove-orphans"] = "pmm o/--remove-orphans" # implicit with windows del +user_interfaces["windows", "update-package-database"] = "pmm u/--update-packages" # no separate file database concept, using combine +user_interfaces["windows", "update-file-database"] = "pmm f/--update-file" # file search command does online query, no local database +user_interfaces["windows", "upgrade-packages-limited"] = "pmm a/--apply " # no limited upgrade concept +user_interfaces["windows", "upgrade-packages-full"] = "pmm a/--apply" + +# Combine operations. +# +user_interfaces["windows", "clear-cache,remove-orphans"] = "pmm co" +user_interfaces["windows", "mark-packages-implicit,remove-orphans"] = "pmm do " +user_interfaces["windows", "remove-packages-limited,remove-orphans"] = "pmm ro " +user_interfaces["windows", "remove-packages-full,remove-orphans"] = "pmm rfo " +user_interfaces["windows", "update-package-database,update-file-database"] = "pmm uf" +user_interfaces["windows", "update-package-database,upgrade-packages-partial"] = "pmm ua " +user_interfaces["windows", "update-package-database,upgrade-packages-full"] = "pmm ua" +user_interfaces["windows", "update-package-database,update-file-database,upgrade-packages-partial"] = "pmm uaf " +user_interfaces["windows", "update-package-database,update-file-database,upgrade-packages-full"] = "pmm uaf" +user_interfaces["windows", "update-package-database,install-packages"] = "pmm iu " +user_interfaces["windows", "update-package-database,update-file-database,install-packages"] = "pmm iuf " +user_interfaces["windows", "upgrade-packages-limited,install-packages"] = "pmm ial " +user_interfaces["windows", "upgrade-packages-full,install-packages"] = "pmm ia " +user_interfaces["windows", "update-package-database,upgrade-packages-partial,install-packages"] = "pmm iual " +user_interfaces["windows", "update-package-database,upgrade-packages-full,install-packages"] = "pmm iua " +user_interfaces["windows", "update-package-database,update-file-database,upgrade-packages-partial,install-packages"] = "pmm iualf " +user_interfaces["windows", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = "pmm iuaf " + + +# +# Operations which have a standardized output format. +# +user_interfaces["windows", "list-installed-package-files"] = "pmm q " +user_interfaces["windows", "list-installed-explicit"] = "pmm le" # not explicitly raised via user interface +user_interfaces["windows", "list-installed-implicit"] = "pmm li" # not explicitly raised via user interface +user_interfaces["windows", "list-installed-packages"] = "pmm l" +user_interfaces["windows", "list-available-packages"] = "pmm q" +user_interfaces["windows", "search-for-package-by-name"] = "pmm ss " +user_interfaces["windows", "search-for-package-by-all"] = "pmm s " +user_interfaces["windows", "which-package-owns-file"] = "pmm qw " +user_interfaces["windows", "which-packages-provide-file"] = "pmm qp " + +