Have Pamac perform AUR updates only for packages already installed from AUR

Pamac’s AUR update feature has caused a significant number of problems due to it overwriting existing packages from the repositories. I can’t really think of an upside for this feature, besides allowing a smooth transition for packages removed from the official repositories, which is less important IMO. There’s even a highly-viewed guide about how this feature is problematic.

Correct me if I am wrong, but it should not be too difficult for Pamac to run an additional check on AUR updates to make sure they do not conflict with existing packages in the repositories, and will make things a lot smoother for all Pamac users of the AUR.

1 Like

No, it didn’t. There is not a single package that has same name in AUR and in repo.

For the Arch repos this is true, but not the Manjaro repos.

1 Like

If that was true, it would be pretty stupid. Care to find examples?

pamac-tray-icon-plasma
is one…
libpamac
is another…

1 Like

There are a few AUR packages wit the same name as those in repository. For example search for mhwd-nvidia - switch the tab to Installed and then switch the tab to AUR.

The only resolution to this would be to have different names (maybe append -git) to the AUR package, otherwise it can become a bit confusing.

AFAIK pamac will still prefer a package from repository over the AUR when updating, but, if a package from repository was dropped, then the AUR one will replace it.

1 Like

I have run into situations when a package has been removed from the Manjaro Repository but exists in the AUR. So now my update sequence goes like this:

  1. Read the Stable Update Announcements and review the Known issues and solutions, and the detailed list of all package changes.* I also review the archlinux news.

  2. List orphan and foreign packages (pamac list -o; pamac list -m)

alias pacmo=': "AUR and Orphan packages";echo "= AUR Foreign =";pamac list -m|column -t|tee /dev/tty|wc -l;echo "= Orphan =";pamac list -o|column -t|tee /dev/tty|wc -l'
  1. Check the mirrors using pacman-mirrors

  2. Update system using pacman

    • DIFFPROG=meld pacdiff
    • Review pacman output
    • Reboot
    • Review journalctl -b -p3
  3. Re-run step 2

  4. Remove packages and/or find replacements for packages that are no longer in the Manjaro repository but reside in the AUR, or decide to continue using the package from the AUR (i.e., quiterss, simplescreenrecorder, dbus-x11, ceph-libs, etc, etc)

  5. Update AUR packages using pamac

If I were using pamac, GUI or CLI, I’d turn off AUR, and only explicitly specify the option to use the AUR.

man pamac.conf