diff --git a/src/slash-bedrock/libexec/pmm b/src/slash-bedrock/libexec/pmm index a0707256..c05062cb 100755 --- a/src/slash-bedrock/libexec/pmm +++ b/src/slash-bedrock/libexec/pmm @@ -177,6 +177,19 @@ fi # # package_manager_canary_executables["xbps"] = "xbps-install" # +# - A supersedes[] entry, mapping a package manager name to another indicates +# that the given package managers operations will take precedence +# over shared operations in the superseded package manager. For example: +# +# supersedes["yay"] = "pacman" +# +# - A auto_escalate[] entry, mapping a package manager name to a privilege +# escalating executable indicates the package manager has automatic privilege +# escalating behavior and will automatically escalate other package managers +# where appropriate using the mapped executable. For example: +# +# auto_escalate["yay"] = "sudo" +# # - user_interfaces[], a map from either a [package-manager, operation] or a # [package-manager, flag] to a string representing a user interface call # requesting the corresponding operation or flag. Variable components, such as @@ -267,6 +280,8 @@ $(cat /bedrock/share/pmm/package_managers/* /bedrock/share/pmm/help /bedrock/sha # - operations[] # - system_package_managers[] # - package_manager_canary_executables[] +# - supersedes[] +# - auto_escalate[] # - am_root # # Additional, the following values are gathered while parsing the provided @@ -788,6 +803,12 @@ function prep_shell_environment(stratum, package_manager, items, cmd, output = output " export unprivileged_user=\"sudo -u " unprivileged_user "\";" } + if (am_root || cmd !~ /[$]\{root_user\}/ || auto_escalate[ui] == "") { + output = output " export root_user=\"\";" + } else { + output = output " export root_user=\"" auto_escalate[ui] "\";" + } + output = output " export flags=\"" count = 0 for (f in global_flags) { @@ -828,6 +849,9 @@ function show_cmd(cmd, env, if (env ~ /export unprivileged_user=""/) { gsub(/\$\{unprivileged_user\} /,"", show) } + if (env ~ /export root_user=""/) { + gsub(/\$\{root_user\} /,"", show) + } # Escape everything except shell variables to ensure ${stratum} et al # are expanded. gsub(/[^\na-zA-Z0-9_\/${}-]/,"\\\\&", show) diff --git a/src/slash-bedrock/share/pmm/package_managers/apk b/src/slash-bedrock/share/pmm/package_managers/apk index 2fb22142..0dbf547b 100644 --- a/src/slash-bedrock/share/pmm/package_managers/apk +++ b/src/slash-bedrock/share/pmm/package_managers/apk @@ -41,21 +41,21 @@ user_interfaces["apk", "update-file-database"] = "" # file search command do user_interfaces["apk", "upgrade-packages-limited"] = "" # no limited upgrade concept user_interfaces["apk", "upgrade-packages-full"] = "pmm upgrade" -implementations["apk", "install-packages"] = "strat -r ${stratum} apk ${flags} add ${items}" -implementations["apk", "reinstall-packages"] = "strat -r ${stratum} apk ${flags} fix -r ${items}" -implementations["apk", "remove-packages-limited"] = "strat -r ${stratum} apk ${flags} del ${items}" -implementations["apk", "remove-packages-full"] = "strat -r ${stratum} apk ${flags} del --purge ${items}" +implementations["apk", "install-packages"] = "${root_user} strat -r ${stratum} apk ${flags} add ${items}" +implementations["apk", "reinstall-packages"] = "${root_user} strat -r ${stratum} apk ${flags} fix -r ${items}" +implementations["apk", "remove-packages-limited"] = "${root_user} strat -r ${stratum} apk ${flags} del ${items}" +implementations["apk", "remove-packages-full"] = "${root_user} strat -r ${stratum} apk ${flags} del --purge ${items}" implementations["apk", "verify-packages"] = "" # could not find operation in package manager documentation -implementations["apk", "verify-all-packages"] = "strat -r ${stratum} apk ${flags} audit --system --check-permissions ${items}" -implementations["apk", "mark-packages-explicit"] = "strat -r ${stratum} apk ${flags} add ${items}" -implementations["apk", "mark-packages-implicit"] = "strat -r ${stratum} apk ${flags} del ${items}" -implementations["apk", "show-package-information"] = "strat -r ${stratum} apk ${flags} info ${items}" +implementations["apk", "verify-all-packages"] = "strat -r ${stratum} apk ${flags} audit --system --check-permissions" +implementations["apk", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} apk ${flags} add ${items}" +implementations["apk", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} apk ${flags} del ${items}" +implementations["apk", "show-package-information"] = "${root_user} strat -r ${stratum} apk ${flags} info ${items}" implementations["apk", "clear-cache"] = "" # could not find operation in package manager documentation implementations["apk", "remove-orphans"] = "" # implicit with apk del -implementations["apk", "update-package-database"] = "strat -r ${stratum} apk ${flags} update" +implementations["apk", "update-package-database"] = "${root_user} strat -r ${stratum} apk ${flags} update" implementations["apk", "update-file-database"] = "" # no file database concept -implementations["apk", "upgrade-packages-limited"] = "strat -r ${stratum} apk ${flags} upgrade" -implementations["apk", "upgrade-packages-full"] = "strat -r ${stratum} apk ${flags} upgrade" +implementations["apk", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} apk ${flags} upgrade" +implementations["apk", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} apk ${flags} upgrade" # # Combine operations. @@ -79,10 +79,10 @@ user_interfaces["apk", "update-package-database,update-file-database,upgrade-pac user_interfaces["apk", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = "" implementations["apk", "clear-cache,remove-orphans"] = "" -implementations["apk", "mark-packages-implicit,remove-orphans"] = "strat -r ${stratum} apk ${flags} del ${items}" -implementations["apk", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} apk ${flags} del ${items}" -implementations["apk", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} apk ${flags} del --purge ${items}" -implementations["apk", "update-package-database,update-file-database"] = "strat -r ${stratum} apk ${flags} update" +implementations["apk", "mark-packages-implicit,remove-orphans"] = "${root_user} strat -r ${stratum} apk ${flags} del ${items}" +implementations["apk", "remove-packages-limited,remove-orphans"] = "${root_user} strat -r ${stratum} apk ${flags} del ${items}" +implementations["apk", "remove-packages-full,remove-orphans"] = "${root_user} strat -r ${stratum} apk ${flags} del --purge ${items}" +implementations["apk", "update-package-database,update-file-database"] = "${root_user} strat -r ${stratum} apk ${flags} update" implementations["apk", "update-package-database,upgrade-packages-partial"] = "" implementations["apk", "update-package-database,upgrade-packages-full"] = "" implementations["apk", "update-package-database,update-file-database,upgrade-packages-partial"] = "" diff --git a/src/slash-bedrock/share/pmm/package_managers/apt b/src/slash-bedrock/share/pmm/package_managers/apt index cbfc5a73..798bb287 100644 --- a/src/slash-bedrock/share/pmm/package_managers/apt +++ b/src/slash-bedrock/share/pmm/package_managers/apt @@ -41,21 +41,21 @@ user_interfaces["apt", "update-file-database"] = "pmm-file update" user_interfaces["apt", "upgrade-packages-limited"] = "pmm upgrade" user_interfaces["apt", "upgrade-packages-full"] = "pmm dist-upgrade/full-upgrade" -implementations["apt", "install-packages"] = "strat -r ${stratum} apt ${flags} install ${items}" -implementations["apt", "reinstall-packages"] = "strat -r ${stratum} apt ${flags} reinstall ${items}" -implementations["apt", "remove-packages-limited"] = "strat -r ${stratum} apt ${flags} remove ${items}" -implementations["apt", "remove-packages-full"] = "strat -r ${stratum} apt ${flags} purge ${items}" -implementations["apt", "verify-packages"] = "strat -r ${stratum} dpkg -V ${items}" -implementations["apt", "verify-all-packages"] = "strat -r ${stratum} dpkg -V" -implementations["apt", "mark-packages-explicit"] = "strat -r ${stratum} apt-mark manual ${items}" -implementations["apt", "mark-packages-implicit"] = "strat -r ${stratum} apt-mark auto ${items}" +implementations["apt", "install-packages"] = "${root_user} strat -r ${stratum} apt ${flags} install ${items}" +implementations["apt", "reinstall-packages"] = "${root_user} strat -r ${stratum} apt ${flags} reinstall ${items}" +implementations["apt", "remove-packages-limited"] = "${root_user} strat -r ${stratum} apt ${flags} remove ${items}" +implementations["apt", "remove-packages-full"] = "${root_user} strat -r ${stratum} apt ${flags} purge ${items}" +implementations["apt", "verify-packages"] = "${root_user} strat -r ${stratum} dpkg -V ${items}" +implementations["apt", "verify-all-packages"] = "${root_user} strat -r ${stratum} dpkg -V" +implementations["apt", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} apt-mark manual ${items}" +implementations["apt", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} apt-mark auto ${items}" implementations["apt", "show-package-information"] = "strat -r ${stratum} apt ${flags} show ${items}" -implementations["apt", "clear-cache"] = "strat -r ${stratum} apt ${flags} clean" -implementations["apt", "remove-orphans"] = "strat -r ${stratum} apt ${flags} autoremove" -implementations["apt", "update-package-database"] = "strat -r ${stratum} apt ${flags} update" -implementations["apt", "update-file-database"] = "strat -r ${stratum} apt-file update" -implementations["apt", "upgrade-packages-limited"] = "strat -r ${stratum} apt ${flags} upgrade" -implementations["apt", "upgrade-packages-full"] = "strat -r ${stratum} apt ${flags} full-upgrade" +implementations["apt", "clear-cache"] = "${root_user} strat -r ${stratum} apt ${flags} clean" +implementations["apt", "remove-orphans"] = "${root_user} strat -r ${stratum} apt ${flags} autoremove" +implementations["apt", "update-package-database"] = "${root_user} strat -r ${stratum} apt ${flags} update" +implementations["apt", "update-file-database"] = "${root_user} strat -r ${stratum} apt-file update" +implementations["apt", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} apt ${flags} upgrade" +implementations["apt", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} apt ${flags} full-upgrade" # # Combine operations. diff --git a/src/slash-bedrock/share/pmm/package_managers/brl b/src/slash-bedrock/share/pmm/package_managers/brl index 7add1bd4..7d6876fc 100644 --- a/src/slash-bedrock/share/pmm/package_managers/brl +++ b/src/slash-bedrock/share/pmm/package_managers/brl @@ -61,12 +61,12 @@ implementations["brl", "verify-all-packages"] = "" implementations["brl", "mark-packages-explicit"] = "" implementations["brl", "mark-packages-implicit"] = "" implementations["brl", "show-package-information"] = "" -implementations["brl", "clear-cache"] = "rm -rf /bedrock/var/cache/" +implementations["brl", "clear-cache"] = "${root_user} rm -rf /bedrock/var/cache/" implementations["brl", "remove-orphans"] = "" -implementations["brl", "update-package-database"] = "brl update" +implementations["brl", "update-package-database"] = "${root_user} brl update" implementations["brl", "update-file-database"] = "" -implementations["brl", "upgrade-packages-limited"] = "brl update" -implementations["brl", "upgrade-packages-full"] = "brl update" +implementations["brl", "upgrade-packages-limited"] = "${root_user} brl update" +implementations["brl", "upgrade-packages-full"] = "${root_user} brl update" # # Combine operations. @@ -94,10 +94,10 @@ implementations["brl", "mark-packages-implicit,remove-orphans"] implementations["brl", "remove-packages-limited,remove-orphans"] = "" implementations["brl", "remove-packages-full,remove-orphans"] = "" implementations["brl", "update-package-database,update-file-database"] = "" -implementations["brl", "update-package-database,upgrade-packages-partial"] = "brl update" -implementations["brl", "update-package-database,upgrade-packages-full"] = "brl update" -implementations["brl", "update-package-database,update-file-database,upgrade-packages-partial"] = "brl update" -implementations["brl", "update-package-database,update-file-database,upgrade-packages-full"] = "brl update" +implementations["brl", "update-package-database,upgrade-packages-partial"] = "${root_user} brl update" +implementations["brl", "update-package-database,upgrade-packages-full"] = "${root_user} brl update" +implementations["brl", "update-package-database,update-file-database,upgrade-packages-partial"] = "${root_user} brl update" +implementations["brl", "update-package-database,update-file-database,upgrade-packages-full"] = "${root_user} brl update" implementations["brl", "update-package-database,install-packages"] = "" implementations["brl", "update-package-database,update-file-database,install-packages"] = "" implementations["brl", "upgrade-packages-limited,install-packages"] = "" diff --git a/src/slash-bedrock/share/pmm/package_managers/dnf b/src/slash-bedrock/share/pmm/package_managers/dnf index 421928f3..f4e094c5 100644 --- a/src/slash-bedrock/share/pmm/package_managers/dnf +++ b/src/slash-bedrock/share/pmm/package_managers/dnf @@ -48,21 +48,21 @@ user_interfaces["dnf", "update-file-database"] = "" # uses combine user_interfaces["dnf", "upgrade-packages-limited"] = "" # uses combine user_interfaces["dnf", "upgrade-packages-full"] = "" # uses combine -implementations["dnf", "install-packages"] = "strat -r ${stratum} dnf ${flags} install ${items} && strat -r ${stratum} dnf ${flags} mark install ${items}" -implementations["dnf", "reinstall-packages"] = "strat -r ${stratum} dnf ${flags} reinstall ${items}" -implementations["dnf", "remove-packages-limited"] = "strat -r ${stratum} dnf -C ${flags} remove ${items}" -implementations["dnf", "remove-packages-full"] = "strat -r ${stratum} dnf -C ${flags} remove ${items}" -implementations["dnf", "verify-packages"] = "strat -r ${stratum} rpm -V ${items}" -implementations["dnf", "verify-all-packages"] = "strat -r ${stratum} rpm -Va" -implementations["dnf", "mark-packages-explicit"] = "strat -r ${stratum} dnf -C ${flags} mark install ${items}" -implementations["dnf", "mark-packages-implicit"] = "strat -r ${stratum} dnf -C ${flags} mark remove ${items}" +implementations["dnf", "install-packages"] = "${root_user} strat -r ${stratum} dnf ${flags} install ${items} && ${root_user} strat -r ${stratum} dnf ${flags} mark install ${items}" +implementations["dnf", "reinstall-packages"] = "${root_user} strat -r ${stratum} dnf ${flags} reinstall ${items}" +implementations["dnf", "remove-packages-limited"] = "${root_user} strat -r ${stratum} dnf -C ${flags} remove ${items}" +implementations["dnf", "remove-packages-full"] = "${root_user} strat -r ${stratum} dnf -C ${flags} remove ${items}" +implementations["dnf", "verify-packages"] = "${root_user} strat -r ${stratum} rpm -V ${items}" +implementations["dnf", "verify-all-packages"] = "${root_user} strat -r ${stratum} rpm -Va" +implementations["dnf", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} dnf -C ${flags} mark install ${items}" +implementations["dnf", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} dnf -C ${flags} mark remove ${items}" implementations["dnf", "show-package-information"] = "strat -r ${stratum} dnf -C ${flags} info ${items}" -implementations["dnf", "clear-cache"] = "strat -r ${stratum} dnf -C ${flags} clean all" -implementations["dnf", "remove-orphans"] = "strat -r ${stratum} dnf -C ${flags} autoremove" +implementations["dnf", "clear-cache"] = "${root_user} strat -r ${stratum} dnf -C ${flags} clean all" +implementations["dnf", "remove-orphans"] = "${root_user} strat -r ${stratum} dnf -C ${flags} autoremove" implementations["dnf", "update-package-database"] = "strat -r ${stratum} dnf --refresh ${flags} check-update || true" implementations["dnf", "update-file-database"] = "strat -r ${stratum} dnf --refresh ${flags} check-update || true" -implementations["dnf", "upgrade-packages-limited"] = "strat -r ${stratum} dnf ${flags} upgrade" -implementations["dnf", "upgrade-packages-full"] = "strat -r ${stratum} dnf ${flags} upgrade" +implementations["dnf", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} dnf ${flags} upgrade" +implementations["dnf", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} dnf ${flags} upgrade" # # Combine operations. @@ -90,10 +90,10 @@ implementations["dnf", "mark-packages-implicit,remove-orphans"] implementations["dnf", "remove-packages-limited,remove-orphans"] = "" implementations["dnf", "remove-packages-full,remove-orphans"] = "" implementations["dnf", "update-package-database,update-file-database"] = "strat -r ${stratum} dnf --refresh ${flags} check-update || true" -implementations["dnf", "update-package-database,upgrade-packages-partial"] = "strat -r ${stratum} dnf --refresh ${flags} upgrade" -implementations["dnf", "update-package-database,upgrade-packages-full"] = "strat -r ${stratum} dnf --refresh ${flags} upgrade" -implementations["dnf", "update-package-database,update-file-database,upgrade-packages-partial"] = "strat -r ${stratum} dnf --refresh ${flags} upgrade" -implementations["dnf", "update-package-database,update-file-database,upgrade-packages-full"] = "strat -r ${stratum} dnf --refresh ${flags} upgrade" +implementations["dnf", "update-package-database,upgrade-packages-partial"] = "${root_user} strat -r ${stratum} dnf --refresh ${flags} upgrade" +implementations["dnf", "update-package-database,upgrade-packages-full"] = "${root_user} strat -r ${stratum} dnf --refresh ${flags} upgrade" +implementations["dnf", "update-package-database,update-file-database,upgrade-packages-partial"] = "${root_user} strat -r ${stratum} dnf --refresh ${flags} upgrade" +implementations["dnf", "update-package-database,update-file-database,upgrade-packages-full"] = "${root_user} strat -r ${stratum} dnf --refresh ${flags} upgrade" implementations["dnf", "update-package-database,install-packages"] = "" implementations["dnf", "update-package-database,update-file-database,install-packages"] = "" implementations["dnf", "upgrade-packages-limited,install-packages"] = "" @@ -184,7 +184,7 @@ implementations["dnf", "is-package-installed"] = "strat -r ${strat implementations["dnf", "is-package-available"] = "strat -r ${stratum} dnf -Cq info ${items} >/dev/null 2>&1" implementations["dnf", "is-file-db-available"] = "true" implementations["dnf", "print-file-db-install-instructions"] = "" -implementations["dnf", "print-package-version"] = "dnf -Cq info ${items} | awk '$1 == \"Version\" {print $3}'" +implementations["dnf", "print-package-version"] = "strat -r ${stratum} dnf -Cq info ${items} | awk '$1 == \"Version\" {print $3}'" implementations["dnf", "cache-package-db"] = "strat -r ${stratum} dnf -Cq info --available |\ awk '\ $1 == \"Name\" {\ diff --git a/src/slash-bedrock/share/pmm/package_managers/pacman b/src/slash-bedrock/share/pmm/package_managers/pacman index a8a91439..3e586392 100644 --- a/src/slash-bedrock/share/pmm/package_managers/pacman +++ b/src/slash-bedrock/share/pmm/package_managers/pacman @@ -48,21 +48,21 @@ user_interfaces["pacman", "update-file-database"] = "pmm -F/--files -y/--ref user_interfaces["pacman", "upgrade-packages-limited"] = "" # no partial upgrade concept user_interfaces["pacman", "upgrade-packages-full"] = "pmm -S/--sync -u/--sysupgrade" -implementations["pacman", "install-packages"] = "strat -r ${stratum} pacman ${flags} -S --asexplicit ${items}" -implementations["pacman", "reinstall-packages"] = "strat -r ${stratum} pacman ${flags} -S ${items}" -implementations["pacman", "remove-packages-limited"] = "strat -r ${stratum} pacman ${flags} -R ${items}" -implementations["pacman", "remove-packages-full"] = "strat -r ${stratum} pacman ${flags} -Rn ${items}" -implementations["pacman", "verify-packages"] = "strat -r ${stratum} pacman ${flags} -Qk ${items}" -implementations["pacman", "verify-all-packages"] = "strat -r ${stratum} pacman ${flags} -Qk" -implementations["pacman", "mark-packages-explicit"] = "strat -r ${stratum} pacman ${flags} -D --asexplicit ${items}" -implementations["pacman", "mark-packages-implicit"] = "strat -r ${stratum} pacman ${flags} -D --asdeps ${items}" +implementations["pacman", "install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -S --asexplicit ${items}" +implementations["pacman", "reinstall-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -S ${items}" +implementations["pacman", "remove-packages-limited"] = "${root_user} strat -r ${stratum} pacman ${flags} -R ${items}" +implementations["pacman", "remove-packages-full"] = "${root_user} strat -r ${stratum} pacman ${flags} -Rn ${items}" +implementations["pacman", "verify-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Qk ${items}" +implementations["pacman", "verify-all-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Qk" +implementations["pacman", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} pacman ${flags} -D --asexplicit ${items}" +implementations["pacman", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} pacman ${flags} -D --asdeps ${items}" implementations["pacman", "show-package-information"] = "strat -r ${stratum} pacman ${flags} -Si ${items}" -implementations["pacman", "clear-cache"] = "strat -r ${stratum} pacman ${flags} -Sc ${items}" -implementations["pacman", "remove-orphans"] = "! strat -r ${stratum} pacman -Qdtq >/dev/null || strat -r ${stratum} pacman -Qdtq | strat -r ${stratum} pacman ${flags} -Rs -" -implementations["pacman", "update-package-database"] = "strat -r ${stratum} pacman ${flags} -Sy" -implementations["pacman", "update-file-database"] = "strat -r ${stratum} pacman ${flags} -Fy" -implementations["pacman", "upgrade-packages-limited"] = "strat -r ${stratum} pacman ${flags} -Su" -implementations["pacman", "upgrade-packages-full"] = "strat -r ${stratum} pacman ${flags} -Su" +implementations["pacman", "clear-cache"] = "${root_user} strat -r ${stratum} pacman ${flags} -Sc ${items}" +implementations["pacman", "remove-orphans"] = "! strat -r ${stratum} pacman -Qdtq >/dev/null || strat -r ${stratum} pacman -Qdtq | ${root_user} strat -r ${stratum} pacman ${flags} -Rs -" +implementations["pacman", "update-package-database"] = "${root_user} strat -r ${stratum} pacman ${flags} -Sy" +implementations["pacman", "update-file-database"] = "${root_user} strat -r ${stratum} pacman ${flags} -Fy" +implementations["pacman", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} pacman ${flags} -Su" +implementations["pacman", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} pacman ${flags} -Su" # # Combine operations. @@ -87,19 +87,19 @@ user_interfaces["pacman", "update-package-database,update-file-database,upgrade- implementations["pacman", "clear-cache,remove-orphans"] = "" implementations["pacman", "mark-packages-implicit,remove-orphans"] = "" -implementations["pacman", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} pacman ${flags} -Rs ${items}" -implementations["pacman", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} pacman ${flags} -Rs ${items}" -implementations["pacman", "update-package-database,update-file-database"] = "strat -r ${stratum} pacman ${flags} -Sy" -implementations["pacman", "update-package-database,upgrade-packages-partial"] = "strat -r ${stratum} pacman ${flags} -Syu" -implementations["pacman", "update-package-database,upgrade-packages-full"] = "strat -r ${stratum} pacman ${flags} -Syu" -implementations["pacman", "update-package-database,update-file-database,upgrade-packages-partial"] = "strat -r ${stratum} pacman ${flags} -Syu" -implementations["pacman", "update-package-database,update-file-database,upgrade-packages-full"] = "strat -r ${stratum} pacman ${flags} -Syu" -implementations["pacman", "update-package-database,install-packages"] = "strat -r ${stratum} pacman ${flags} -Sy --asexplicit ${items}" -implementations["pacman", "update-package-database,update-file-database,install-packages"] = "strat -r ${stratum} pacman ${flags} -Sy --asexplicit ${items}" -implementations["pacman", "upgrade-packages-limited,install-packages"] = "strat -r ${stratum} pacman ${flags} -Su --asexplicit ${items}" -implementations["pacman", "upgrade-packages-full,install-packages"] = "strat -r ${stratum} pacman ${flags} -Su --asexplicit ${items}" -implementations["pacman", "update-package-database,upgrade-packages-partial,install-packages"] = "strat -r ${stratum} pacman ${flags} -Syu --asexplicit ${items}" -implementations["pacman", "update-package-database,upgrade-packages-full,install-packages"] = "strat -r ${stratum} pacman ${flags} -Syu --asexplicit ${items}" +implementations["pacman", "remove-packages-limited,remove-orphans"] = "${root_user} strat -r ${stratum} pacman ${flags} -Rs ${items}" +implementations["pacman", "remove-packages-full,remove-orphans"] = "${root_user} strat -r ${stratum} pacman ${flags} -Rs ${items}" +implementations["pacman", "update-package-database,update-file-database"] = "${root_user} strat -r ${stratum} pacman ${flags} -Sy" +implementations["pacman", "update-package-database,upgrade-packages-partial"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu" +implementations["pacman", "update-package-database,upgrade-packages-full"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu" +implementations["pacman", "update-package-database,update-file-database,upgrade-packages-partial"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu" +implementations["pacman", "update-package-database,update-file-database,upgrade-packages-full"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu" +implementations["pacman", "update-package-database,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Sy --asexplicit ${items}" +implementations["pacman", "update-package-database,update-file-database,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Sy --asexplicit ${items}" +implementations["pacman", "upgrade-packages-limited,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Su --asexplicit ${items}" +implementations["pacman", "upgrade-packages-full,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Su --asexplicit ${items}" +implementations["pacman", "update-package-database,upgrade-packages-partial,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu --asexplicit ${items}" +implementations["pacman", "update-package-database,upgrade-packages-full,install-packages"] = "${root_user} strat -r ${stratum} pacman ${flags} -Syu --asexplicit ${items}" implementations["pacman", "update-package-database,update-file-database,upgrade-packages-partial,install-packages"] = "" implementations["pacman", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = "" diff --git a/src/slash-bedrock/share/pmm/package_managers/portage b/src/slash-bedrock/share/pmm/package_managers/portage index 6605a56a..6b297b52 100644 --- a/src/slash-bedrock/share/pmm/package_managers/portage +++ b/src/slash-bedrock/share/pmm/package_managers/portage @@ -53,21 +53,21 @@ user_interfaces["portage", "update-file-database"] = "" # file search comman user_interfaces["portage", "upgrade-packages-limited"] = "pmm -u/--update -D/--deep @world" user_interfaces["portage", "upgrade-packages-full"] = "pmm -u/--update -D/--deep -N/--newuse @world" -implementations["portage", "install-packages"] = "strat -r ${stratum} emerge ${flags} ${items}" -implementations["portage", "reinstall-packages"] = "strat -r ${stratum} emerge ${flags} ${items}" -implementations["portage", "remove-packages-limited"] = "strat -r ${stratum} emerge ${flags} -c ${items}" -implementations["portage", "remove-packages-full"] = "strat -r ${stratum} emerge ${flags} -c ${items}" -implementations["portage", "verify-packages"] = "strat -r ${stratum} qcheck ${items}" -implementations["portage", "verify-all-packages"] = "strat -r ${stratum} qcheck" -implementations["portage", "mark-packages-explicit"] = "strat -r ${stratum} emerge ${flags} -w ${items}" -implementations["portage", "mark-packages-implicit"] = "strat -r ${stratum} emerge ${flags} --deselect ${items}" -implementations["portage", "show-package-information"] = "strat -r ${stratum} emerge ${flags} -s ${items}" -implementations["portage", "clear-cache"] = "strat -r ${stratum} eclean distfiles" -implementations["portage", "remove-orphans"] = "strat -r ${stratum} emerge ${flags} -c" -implementations["portage", "update-package-database"] = "strat -r ${stratum} emerge ${flags} --sync" +implementations["portage", "install-packages"] = "${root_user} strat -r ${stratum} emerge ${flags} ${items}" +implementations["portage", "reinstall-packages"] = "${root_user} strat -r ${stratum} emerge ${flags} ${items}" +implementations["portage", "remove-packages-limited"] = "${root_user} strat -r ${stratum} emerge ${flags} -c ${items}" +implementations["portage", "remove-packages-full"] = "${root_user} strat -r ${stratum} emerge ${flags} -c ${items}" +implementations["portage", "verify-packages"] = "${root_user} strat -r ${stratum} qcheck ${items}" +implementations["portage", "verify-all-packages"] = "${root_user} strat -r ${stratum} qcheck" +implementations["portage", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} emerge ${flags} -w ${items}" +implementations["portage", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} emerge ${flags} --deselect ${items}" +implementations["portage", "show-package-information"] = "${root_user} strat -r ${stratum} emerge ${flags} -s ${items}" +implementations["portage", "clear-cache"] = "${root_user} strat -r ${stratum} eclean distfiles" +implementations["portage", "remove-orphans"] = "${root_user} strat -r ${stratum} emerge ${flags} -c" +implementations["portage", "update-package-database"] = "${root_user} strat -r ${stratum} emerge ${flags} --sync" implementations["portage", "update-file-database"] = "" -implementations["portage", "upgrade-packages-limited"] = "strat -r ${stratum} emerge ${flags} -uD @world" -implementations["portage", "upgrade-packages-full"] = "strat -r ${stratum} emerge ${flags} -uDN @world" +implementations["portage", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} emerge ${flags} -uD @world" +implementations["portage", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} emerge ${flags} -uDN @world" # # Combine operations. @@ -92,7 +92,7 @@ user_interfaces["portage", "update-package-database,update-file-database,upgrade implementations["portage", "clear-cache,remove-orphans"] = "" implementations["portage", "mark-packages-implicit,remove-orphans"] = "" -implementations["portage", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} emerge ${flags} -c ${items}" +implementations["portage", "remove-packages-limited,remove-orphans"] = "${root_user} strat -r ${stratum} emerge ${flags} -c ${items}" implementations["portage", "remove-packages-full,remove-orphans"] = "" implementations["portage", "update-package-database,update-file-database"] = "" implementations["portage", "update-package-database,upgrade-packages-partial"] = "" diff --git a/src/slash-bedrock/share/pmm/package_managers/xbps b/src/slash-bedrock/share/pmm/package_managers/xbps index 25139f32..2cc25da1 100644 --- a/src/slash-bedrock/share/pmm/package_managers/xbps +++ b/src/slash-bedrock/share/pmm/package_managers/xbps @@ -41,21 +41,21 @@ user_interfaces["xbps", "update-file-database"] = "pmm-xlocate -S" user_interfaces["xbps", "upgrade-packages-limited"] = "" # no partial upgrade concept user_interfaces["xbps", "upgrade-packages-full"] = "pmm-install -u/--upgrade" -implementations["xbps", "install-packages"] = "strat -r ${stratum} xbps-install ${flags} ${items}" -implementations["xbps", "reinstall-packages"] = "strat -r ${stratum} xbps-install ${flags} -f ${items}" -implementations["xbps", "remove-packages-limited"] = "strat -r ${stratum} xbps-remove ${flags} ${items}" -implementations["xbps", "remove-packages-full"] = "strat -r ${stratum} xbps-remove ${flags} ${items}" -implementations["xbps", "verify-packages"] = "strat -r ${stratum} xbps-pkgdb ${items}" -implementations["xbps", "verify-all-packages"] = "strat -r ${stratum} xbps-pkgdb -a ${items}" -implementations["xbps", "mark-packages-explicit"] = "strat -r ${stratum} xbps-pkgdb -m manual ${items}" -implementations["xbps", "mark-packages-implicit"] = "strat -r ${stratum} xbps-pkgdb -m auto ${items}" +implementations["xbps", "install-packages"] = "${root_user} strat -r ${stratum} xbps-install ${flags} ${items}" +implementations["xbps", "reinstall-packages"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -f ${items}" +implementations["xbps", "remove-packages-limited"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} ${items}" +implementations["xbps", "remove-packages-full"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} ${items}" +implementations["xbps", "verify-packages"] = "${root_user} strat -r ${stratum} xbps-pkgdb ${items}" +implementations["xbps", "verify-all-packages"] = "${root_user} strat -r ${stratum} xbps-pkgdb -a ${items}" +implementations["xbps", "mark-packages-explicit"] = "${root_user} strat -r ${stratum} xbps-pkgdb -m manual ${items}" +implementations["xbps", "mark-packages-implicit"] = "${root_user} strat -r ${stratum} xbps-pkgdb -m auto ${items}" implementations["xbps", "show-package-information"] = "strat -r ${stratum} xbps-query ${flags} -R ${items}" -implementations["xbps", "clear-cache"] = "strat -r ${stratum} xbps-remove ${flags} -O" -implementations["xbps", "remove-orphans"] = "strat -r ${stratum} xbps-remove ${flags} -o ${items}" -implementations["xbps", "update-package-database"] = "strat -r ${stratum} xbps-install ${flags} -S" +implementations["xbps", "clear-cache"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} -O" +implementations["xbps", "remove-orphans"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} -o ${items}" +implementations["xbps", "update-package-database"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -S" implementations["xbps", "update-file-database"] = "strat -r ${stratum} xlocate -S" -implementations["xbps", "upgrade-packages-limited"] = "strat -r ${stratum} xbps-install ${flags} -u" -implementations["xbps", "upgrade-packages-full"] = "strat -r ${stratum} xbps-install ${flags} -u" +implementations["xbps", "upgrade-packages-limited"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -u" +implementations["xbps", "upgrade-packages-full"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -u" # # Combine operations. @@ -78,16 +78,16 @@ user_interfaces["xbps", "update-package-database,upgrade-packages-full,install-p user_interfaces["xbps", "update-package-database,update-file-database,upgrade-packages-partial,install-packages"] = "" user_interfaces["xbps", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = "" -implementations["xbps", "clear-cache,remove-orphans"] = "strat -r ${stratum} xbps-remove ${flags} -Oo" +implementations["xbps", "clear-cache,remove-orphans"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} -Oo" implementations["xbps", "mark-packages-implicit,remove-orphans"] = "" -implementations["xbps", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} xbps-remove ${flags} -R ${items}" -implementations["xbps", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} xbps-remove ${flags} -R ${items}" +implementations["xbps", "remove-packages-limited,remove-orphans"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} -R ${items}" +implementations["xbps", "remove-packages-full,remove-orphans"] = "${root_user} strat -r ${stratum} xbps-remove ${flags} -R ${items}" implementations["xbps", "update-package-database,update-file-database"] = "" -implementations["xbps", "update-package-database,upgrade-packages-partial"] = "strat -r ${stratum} xbps-install ${flags} -Su" -implementations["xbps", "update-package-database,upgrade-packages-full"] = "strat -r ${stratum} xbps-install ${flags} -Su" +implementations["xbps", "update-package-database,upgrade-packages-partial"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -Su" +implementations["xbps", "update-package-database,upgrade-packages-full"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -Su" implementations["xbps", "update-package-database,update-file-database,upgrade-packages-partial"] = "" implementations["xbps", "update-package-database,update-file-database,upgrade-packages-full"] = "" -implementations["xbps", "update-package-database,install-packages"] = "strat -r ${stratum} xbps-install ${flags} -S ${items}" +implementations["xbps", "update-package-database,install-packages"] = "${root_user} strat -r ${stratum} xbps-install ${flags} -S ${items}" implementations["xbps", "update-package-database,update-file-database,install-packages"] = "" implementations["xbps", "upgrade-packages-limited,install-packages"] = "" implementations["xbps", "upgrade-packages-full,install-packages"] = "" diff --git a/src/slash-bedrock/share/pmm/package_managers/yay b/src/slash-bedrock/share/pmm/package_managers/yay index f2175704..9dc63cd9 100644 --- a/src/slash-bedrock/share/pmm/package_managers/yay +++ b/src/slash-bedrock/share/pmm/package_managers/yay @@ -23,6 +23,7 @@ package_manager_canary_executables["yay"] = "yay" supersedes["yay"] = "pacman" +auto_escalate["yay"] = "sudo" # # General, operation independent flags.