rmarquis / pacaur

[unmaintained] An AUR helper that minimizes user interaction
https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144
ISC License
796 stars 113 forks source link

interactively selecting AUR packages to be upgraded #759

Closed mbunkus closed 6 years ago

mbunkus commented 6 years ago

pacaur version: 4.7.10

One thing I like about yaourt is that it lets you edit the list of AUR packages it is going to upgrade when doing a full upgrade (youart -Syua). I'd like to have that in pacaur, too: when running pacaur -Syu it will print a list of AUR packages it is going to upgrade, asking me to confirm that I actually want to do that. At that point I'd like to have an option to edit that list in an editor of my choice (same mechanism as when editing PKGBUILDs).

Use case: often enough building one of those packages brakes due to the checksum being wrong. In that case pacaur aborts the whole process. There's currently no easy way to skip that one package during a full upgrade (so that I can take care of it later).

Here's a concrete example: today I'm seeing the following when doing a full upgrade:

[0 mbunkus@chai-latte ~] pacaur -Su
:: Starting full system upgrade...
 there is nothing to do
:: Starting AUR upgrade...
…

AUR Packages  (9) ccnet-6.1.1-1  ccnet-server-6.2.1-1  google-chrome-beta-62.0.3202.29-1
  perl-moosex-role-parameterized-1.10-1  perl-net-ipaddress-util-4.001-1
  perl-test-use-ok-0.11-3  seafile-6.1.1-1  seafile-client-6.1.1-1  virtualbox-ext-oracle-5.1.28-1

:: Proceed with installation? [Y/n] y
…
==> Validating source files with sha256sums...
    ccnet-v6.1.1-server.tar.gz ... Passed
    libccnet.pc.patch ... Passed
:: failed to verify google-chrome-beta integrity
[1 mbunkus@chai-latte ~]

Now my only choice seems to be to copy the package list, remove the version number component for each, remove google-chrome-beta from the list, and pass that to pacaur -Sy. Cumbersome and error-prone.

It would be much easier if a browser popped up with the list of packages (one package per line, ideally with a comment line showing what would be done for each package, e.g. "upgrading from 1.2.0-1 to 1.2.0-7"). I could then remove/uncomment the google-chrome-entry, save, close the editor, and pacaur would continue as if it hadn't found google-chrome-beta in the list in the first place.

Thanks for considering it!

mbunkus commented 6 years ago

…and I've just found --ignore in the man page. How embarrassing. That does help. I'll leave this open nevertheless, as I still think it'd be useful to have such an editor window for interactive selection.

rmarquis commented 6 years ago

No, an interactive selection is out of scope of this project as it aims to be very pacman-like. The --ignore flag is more than enough for the few user cases a partial upgrade is required.

Note this could be implemented in a wrapper, similarly to what pac and pacget do.