How to better handle multi-package PKGBUILDs?
Pamac --version
Pamac 10.4.3-1 - libpamac 11.4.1-1
Variant in use
GUI
Distribution
Manjaro
Desktop environment
XFCE
What's not working
Some AUR PKGBUILDs produce multiple packages, and at present pamac doesn't seem to have a good way to handle them, so they are being treated as separate packages and built repeatedly. In some cases, dependency check will fail if a package depends on another package produced from the same PKGBUILD with matching version (that they must be built and installed/updated at the same time).
This complicates updating as at present, when AUR support is enabled, pamac defaults to marking all AUR packages for update just like official one, so I need to explicitly unmark at least these problematic ones, or simply update only the official ones through the usual pacman -Syu
command.
How to reproduce?
Install/update some multi-package PKGBUILD AUR packages. Some notable examples include ceph
/ceph-libs
, gcc7
/gcc7-libs
.
These packages cannot be updated directly from pamac GUI due to failed dependency check, since the main package depends on the library package with matching version, which is produced from the same PKGBUILD and both should be installed/updated at the same time.
More information (optional)
Handling these multi-package PKGBUILDs, especially when it comes to updates, can be very complex. The AUR packages
page presents information regarding packages separately, though it does provide information about the package base (PKGBUILD), which can then be viewed from the pkgbase
page containing a list of all packages that would be built from the same PKGBUILD. It should be noted that if a PKGBUILD has only a single package, its pkgbase
page will simply redirect to its respective packages
page.
No AUR helpers handle this perfectly as far as I know, though some helpers such as trizen do provide options to choose and confirm which packages from a multi-package PKGBUILD to be installed (which actually comes from makepkg -si
). From what I could remember, if specifying more than one of the packages from the same PKGBUILD it would still be processed more than once by the helpers.