Skip to content

Commit 620156b

Browse files
committed
pmm: Add install-packages,mark-packages-explicit combined operation
1 parent 02b2df5 commit 620156b

10 files changed

Lines changed: 45 additions & 9 deletions

File tree

src/slash-bedrock/share/pmm/help

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ help["upgrade-packages-full"] = "fully upgrade installed packages (e.g. also
6262
# to pair package managers with operations and must remain distinct.
6363
#
6464
help["clear-cache,remove-orphans"] = "clear cache files and uninstall orphan packages"
65+
help["install-packages,mark-packages-explicit"] = "install then mark <pkgs> as explicitly installed"
6566
help["mark-packages-implicit,remove-orphans"] = "mark <pkgs> as installed only to satisfy dependency then remove orphans"
67+
help["reinstall-packages,mark-packages-explicit"] = "reinstall then mark <pkgs> as explicitly installed"
6668
help["remove-packages-limited,remove-orphans"] = "uninstall <pkgs> then uninstall orphans"
6769
help["remove-packages-full,remove-orphans"] = "fully uninstall <pkgs> then uninstall orphans"
6870
help["update-package-database,update-file-database"] = "update all databases"

src/slash-bedrock/share/pmm/operations

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ operations["upgrade-packages-full"] = "every, -, zero, -,
8080
# code happy.
8181
#
8282
operations["clear-cache,remove-orphans"] = "every, -, zero, -, -"
83+
operations["install-packages,mark-packages-explicit"] = "first, is-package-installed, many, -, -"
8384
operations["mark-packages-implicit,remove-orphans"] = "first, is-package-installed, many, -, -"
85+
operations["reinstall-packages,mark-packages-explicit"] = "first, is-package-installed, many, -, -"
8486
operations["remove-packages-limited,remove-orphans"] = "first, is-package-installed, many, -, -"
8587
operations["remove-packages-full,remove-orphans"] = "first, is-package-installed, many, -, -"
8688
operations["update-package-database,update-file-database"] = "every, -, zero, -, update-package-cache"

src/slash-bedrock/share/pmm/package_managers/apk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ implementations["apk", "upgrade-packages-full"] = "strat -r ${stratum} apk ${
6161
# Combine operations.
6262
#
6363
user_interfaces["apk", "clear-cache,remove-orphans"] = ""
64+
user_interfaces["apk", "install-packages,mark-packages-explicit"] = ""
6465
user_interfaces["apk", "mark-packages-implicit,remove-orphans"] = "pmm del <pkgs>"
66+
user_interfaces["apk", "reinstall-packages,mark-packages-explicit"] = ""
6567
user_interfaces["apk", "remove-packages-limited,remove-orphans"] = ""
6668
user_interfaces["apk", "remove-packages-full,remove-orphans"] = "pmm del --purge <pkgs>"
6769
user_interfaces["apk", "update-package-database,update-file-database"] = "pmm update"
@@ -79,7 +81,9 @@ user_interfaces["apk", "update-package-database,update-file-database,upgrade-pac
7981
user_interfaces["apk", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
8082

8183
implementations["apk", "clear-cache,remove-orphans"] = ""
84+
implementations["apk", "install-packages,mark-packages-explicit"] = ""
8285
implementations["apk", "mark-packages-implicit,remove-orphans"] = "strat -r ${stratum} apk ${flags} del ${items}"
86+
implementations["apk", "reinstall-packages,mark-packages-explicit"] = ""
8387
implementations["apk", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} apk ${flags} del ${items}"
8488
implementations["apk", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} apk ${flags} del --purge ${items}"
8589
implementations["apk", "update-package-database,update-file-database"] = "strat -r ${stratum} apk ${flags} update"

src/slash-bedrock/share/pmm/package_managers/apt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ user_interfaces["apt", "verbose"] = ""
2525
#
2626
# Operations which directly forward the underlying command output.
2727
#
28-
user_interfaces["apt", "install-packages"] = "pmm install <pkgs>"
28+
user_interfaces["apt", "install-packages"] = "" # uses combine
2929
user_interfaces["apt", "reinstall-packages"] = "pmm reinstall <pkgs>"
3030
user_interfaces["apt", "remove-packages-limited"] = "pmm remove <pkgs>"
3131
user_interfaces["apt", "remove-packages-full"] = "pmm purge <pkgs>"
@@ -61,9 +61,11 @@ implementations["apt", "upgrade-packages-full"] = "strat -r ${stratum} apt ${
6161
# Combine operations.
6262
#
6363
user_interfaces["apt", "clear-cache,remove-orphans"] = ""
64+
user_interfaces["apt", "install-packages,mark-packages-explicit"] = "pmm install <pkgs>"
6465
user_interfaces["apt", "mark-packages-implicit,remove-orphans"] = ""
65-
user_interfaces["apt", "remove-packages-limited,remove-orphans"] = ""
66-
user_interfaces["apt", "remove-packages-full,remove-orphans"] = ""
66+
user_interfaces["apt", "reinstall-packages,mark-packages-explicit"] = ""
67+
user_interfaces["apt", "remove-packages-limited,remove-orphans"] = "pmm remove --auto-remove/--autoremove <pkgs>"
68+
user_interfaces["apt", "remove-packages-full,remove-orphans"] = "pmm purge --auto-remove/--autoremove <pkgs>"
6769
user_interfaces["apt", "update-package-database,update-file-database"] = ""
6870
user_interfaces["apt", "update-package-database,upgrade-packages-partial"] = ""
6971
user_interfaces["apt", "update-package-database,upgrade-packages-full"] = ""
@@ -79,9 +81,11 @@ user_interfaces["apt", "update-package-database,update-file-database,upgrade-pac
7981
user_interfaces["apt", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
8082

8183
implementations["apt", "clear-cache,remove-orphans"] = ""
84+
implementations["apt", "install-packages,mark-packages-explicit"] = "strat -r ${stratum} apt ${flags} install ${items}"
8285
implementations["apt", "mark-packages-implicit,remove-orphans"] = ""
83-
implementations["apt", "remove-packages-limited,remove-orphans"] = ""
84-
implementations["apt", "remove-packages-full,remove-orphans"] = ""
86+
implementations["apt", "reinstall-packages,mark-packages-explicit"] = ""
87+
implementations["apt", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} apt ${flags} remove --autoremove ${items}"
88+
implementations["apt", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} apt ${flags} purge --autoremove ${items}"
8589
implementations["apt", "update-package-database,update-file-database"] = ""
8690
implementations["apt", "update-package-database,upgrade-packages-partial"] = ""
8791
implementations["apt", "update-package-database,upgrade-packages-full"] = ""

src/slash-bedrock/share/pmm/package_managers/brl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ implementations["brl", "upgrade-packages-full"] = "brl update"
7272
# Combine operations.
7373
#
7474
user_interfaces["brl", "clear-cache,remove-orphans"] = ""
75+
user_interfaces["brl", "install-packages,mark-packages-explicit"] = ""
7576
user_interfaces["brl", "mark-packages-implicit,remove-orphans"] = ""
77+
user_interfaces["brl", "reinstall-packages,mark-packages-explicit"] = ""
7678
user_interfaces["brl", "remove-packages-limited,remove-orphans"] = ""
7779
user_interfaces["brl", "remove-packages-full,remove-orphans"] = ""
7880
user_interfaces["brl", "update-package-database,update-file-database"] = ""
@@ -90,7 +92,9 @@ user_interfaces["brl", "update-package-database,update-file-database,upgrade-pac
9092
user_interfaces["brl", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
9193

9294
implementations["brl", "clear-cache,remove-orphans"] = ""
95+
implementations["brl", "install-packages,mark-packages-explicit"] = ""
9396
implementations["brl", "mark-packages-implicit,remove-orphans"] = ""
97+
implementations["brl", "reinstall-packages,mark-packages-explicit"] = ""
9498
implementations["brl", "remove-packages-limited,remove-orphans"] = ""
9599
implementations["brl", "remove-packages-full,remove-orphans"] = ""
96100
implementations["brl", "update-package-database,update-file-database"] = ""

src/slash-bedrock/share/pmm/package_managers/dnf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ user_interfaces["dnf", "update-file-database"] = "" # uses combine
4848
user_interfaces["dnf", "upgrade-packages-limited"] = "" # uses combine
4949
user_interfaces["dnf", "upgrade-packages-full"] = "" # uses combine
5050

51-
implementations["dnf", "install-packages"] = "strat -r ${stratum} dnf ${flags} install ${items} && strat -r ${stratum} dnf ${flags} mark install ${items}"
51+
implementations["dnf", "install-packages"] = "strat -r ${stratum} dnf ${flags} install ${items}"
5252
implementations["dnf", "reinstall-packages"] = "strat -r ${stratum} dnf ${flags} reinstall ${items}"
5353
implementations["dnf", "remove-packages-limited"] = "strat -r ${stratum} dnf -C ${flags} remove ${items}"
5454
implementations["dnf", "remove-packages-full"] = "strat -r ${stratum} dnf -C ${flags} remove ${items}"
@@ -68,7 +68,9 @@ implementations["dnf", "upgrade-packages-full"] = "strat -r ${stratum} dnf ${
6868
# Combine operations.
6969
#
7070
user_interfaces["dnf", "clear-cache,remove-orphans"] = ""
71+
user_interfaces["dnf", "install-packages,mark-packages-explicit"] = ""
7172
user_interfaces["dnf", "mark-packages-implicit,remove-orphans"] = ""
73+
user_interfaces["dnf", "reinstall-packages,mark-packages-explicit"] = ""
7274
user_interfaces["dnf", "remove-packages-limited,remove-orphans"] = ""
7375
user_interfaces["dnf", "remove-packages-full,remove-orphans"] = ""
7476
user_interfaces["dnf", "update-package-database,update-file-database"] = "pmm check-update"
@@ -86,7 +88,9 @@ user_interfaces["dnf", "update-package-database,update-file-database,upgrade-pac
8688
user_interfaces["dnf", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
8789

8890
implementations["dnf", "clear-cache,remove-orphans"] = ""
91+
implementations["dnf", "install-packages,mark-packages-explicit"] = ""
8992
implementations["dnf", "mark-packages-implicit,remove-orphans"] = ""
93+
implementations["dnf", "reinstall-packages,mark-packages-explicit"] = ""
9094
implementations["dnf", "remove-packages-limited,remove-orphans"] = ""
9195
implementations["dnf", "remove-packages-full,remove-orphans"] = ""
9296
implementations["dnf", "update-package-database,update-file-database"] = "strat -r ${stratum} dnf --refresh ${flags} check-update || true"

src/slash-bedrock/share/pmm/package_managers/pacman

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ user_interfaces["pacman", "update-file-database"] = "pmm -F/--files -y/--ref
4848
user_interfaces["pacman", "upgrade-packages-limited"] = "" # no partial upgrade concept
4949
user_interfaces["pacman", "upgrade-packages-full"] = "pmm -S/--sync -u/--sysupgrade"
5050

51-
implementations["pacman", "install-packages"] = "strat -r ${stratum} pacman ${flags} -S --asexplicit ${items}"
51+
implementations["pacman", "install-packages"] = "strat -r ${stratum} pacman ${flags} -S ${items}"
5252
implementations["pacman", "reinstall-packages"] = "strat -r ${stratum} pacman ${flags} -S ${items}"
5353
implementations["pacman", "remove-packages-limited"] = "strat -r ${stratum} pacman ${flags} -R ${items}"
5454
implementations["pacman", "remove-packages-full"] = "strat -r ${stratum} pacman ${flags} -Rn ${items}"
@@ -68,7 +68,9 @@ implementations["pacman", "upgrade-packages-full"] = "strat -r ${stratum} pac
6868
# Combine operations.
6969
#
7070
user_interfaces["pacman", "clear-cache,remove-orphans"] = ""
71+
user_interfaces["pacman", "install-packages,mark-packages-explicit"] = "pmm -S/--sync --asexplicit <pkgs>"
7172
user_interfaces["pacman", "mark-packages-implicit,remove-orphans"] = ""
73+
user_interfaces["pacman", "reinstall-packages,mark-packages-explicit"] = "" # not differentiated from install
7274
user_interfaces["pacman", "remove-packages-limited,remove-orphans"] = "pmm -R/--remove -s/--recursive <pkgs>"
7375
user_interfaces["pacman", "remove-packages-full,remove-orphans"] = "pmm -R/--remove -s/--recursive -n/--nosave <pkgs>"
7476
user_interfaces["pacman", "update-package-database,update-file-database"] = "pmm -S/--sync -y/--refresh"
@@ -86,7 +88,9 @@ user_interfaces["pacman", "update-package-database,update-file-database,upgrade-
8688
user_interfaces["pacman", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
8789

8890
implementations["pacman", "clear-cache,remove-orphans"] = ""
91+
implementations["pacman", "install-packages,mark-packages-explicit"] = "strat -r ${stratum} pacman ${flags} -S --asexplicit ${items}"
8992
implementations["pacman", "mark-packages-implicit,remove-orphans"] = ""
93+
implementations["pacman", "reinstall-packages,mark-packages-explicit"] = "strat -r ${stratum} pacman ${flags} -S --asexplicit ${items}"
9094
implementations["pacman", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} pacman ${flags} -Rs ${items}"
9195
implementations["pacman", "remove-packages-full,remove-orphans"] = "strat -r ${stratum} pacman ${flags} -Rs ${items}"
9296
implementations["pacman", "update-package-database,update-file-database"] = "strat -r ${stratum} pacman ${flags} -Sy"

src/slash-bedrock/share/pmm/package_managers/portage

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ user_interfaces["portage", "verbose"] = "-v/--verbose"
3737
#
3838
# Operations which directly forward the underlying command output.
3939
#
40-
user_interfaces["portage", "install-packages"] = "pmm <pkgs>"
40+
user_interfaces["portage", "install-packages"] = "" # uses combine
4141
user_interfaces["portage", "reinstall-packages"] = "" # not differentiated from install
4242
user_interfaces["portage", "remove-packages-limited"] = "" # would be `pmm -C/--unmerge`, but warnings in man page. Favor remove-packages,remove-orphans
4343
user_interfaces["portage", "remove-packages-full"] = "" # Differentiated from non-full via envvar which pmm cannot replicate: https://devmanual.gentoo.org/general-concepts/config-protect/index.html
@@ -73,7 +73,9 @@ implementations["portage", "upgrade-packages-full"] = "strat -r ${stratum} em
7373
# Combine operations.
7474
#
7575
user_interfaces["portage", "clear-cache,remove-orphans"] = ""
76+
user_interfaces["portage", "install-packages,mark-packages-explicit"] = "pmm <pkgs>"
7677
user_interfaces["portage", "mark-packages-implicit,remove-orphans"] = ""
78+
user_interfaces["portage", "reinstall-packages,mark-packages-explicit"] = ""
7779
user_interfaces["portage", "remove-packages-limited,remove-orphans"] = "pmm -c/--depclean <pkgs>"
7880
user_interfaces["portage", "remove-packages-full,remove-orphans"] = "" # Differentiated from non-full via envvar which pmm cannot replicate: https://devmanual.gentoo.org/general-concepts/config-protect/index.html
7981
user_interfaces["portage", "update-package-database,update-file-database"] = ""
@@ -91,7 +93,9 @@ user_interfaces["portage", "update-package-database,update-file-database,upgrade
9193
user_interfaces["portage", "update-package-database,update-file-database,upgrade-packages-full,install-packages"] = ""
9294

9395
implementations["portage", "clear-cache,remove-orphans"] = ""
96+
implementations["portage", "install-packages,mark-packages-explicit"] = "strat -r ${stratum} emerge ${flags} ${items}"
9497
implementations["portage", "mark-packages-implicit,remove-orphans"] = ""
98+
implementations["portage", "reinstall-packages,mark-packages-explicit"] = "strat -r ${stratum} emerge ${flags} ${items}"
9599
implementations["portage", "remove-packages-limited,remove-orphans"] = "strat -r ${stratum} emerge ${flags} -c ${items}"
96100
implementations["portage", "remove-packages-full,remove-orphans"] = ""
97101
implementations["portage", "update-package-database,update-file-database"] = ""

0 commit comments

Comments
 (0)