actionless / pikaur

AUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.
GNU General Public License v3.0
860 stars 86 forks source link

Print a recap of pacman's warning and info messages at the end of a sync operation #460

Open Dettorer opened 4 years ago

Dettorer commented 4 years ago

During the installation of some packages and more frequently during a system update, installed packages sometimes print messages advising the admin to run a command to update some components, or other information. Pacman also informs about new optional dependencies, or warns about file-system permissions being different from the package's ones, warns about missing locales etc.

When syncing a lot of packages, or when syncing along some AUR packages, those messages can end up drowned by compilation outputs (sometimes to the point they're unreachable, if the terminal's backlog gets filled).

The solution chosen by gentoo's emerge is to print a recap of every error, warning or information messages at the end (or when the user interrupts emerge), reminding which packages triggered each one of them. If it's possible to filter and save this kind of output from pacman (maybe by parsing /var/log/pacman.log?), it would be awesome to print it again at the end of a sync operation!

MV-SH commented 4 years ago

Very much this. For this reason I currently run bulk upgrades in two steps, pacman -Syu so I don't miss any warnings and afterwards pikaur -Syu to deal with AUR packages which in my case would all easily push the warning messages out of any terminal buffer.

ghost commented 4 years ago

I second this request too, it would be very useful. Pretty much what you said, we wouldn't have to scroll through the terminal to check whether pacman displayed some warning(s) that require a manual intervention.

actionless commented 4 years ago

if anybody is interested to implement it, i could share the old (full) version of pikaur/pikspect.py which was able not only answer the questions, but also to save output matching specific patterns