vn971 / rua

Build tool for Arch Linux providing control, review and jailed build options
GNU General Public License v3.0
421 stars 38 forks source link

Dependency provided by other package is not resolved correctly #152

Open metiulekm opened 3 years ago

metiulekm commented 3 years ago

Imagine you want to install bitwarden-cli-bin and bitwarden-rofi. bitwarden-rofi needs bitwarden-cli, however bitwarden-cli-bin does provide bitwarden-cli, so it should be used instead. However, when one tries to install both at once, rua ignores that and tries to install bitwarden-cli anyway:

> rua install bitwarden-cli-bin bitwarden-rofi
Package bitwarden-rofi depends on bitwarden-cli. Resolving...
Package bitwarden-cli depends on nvm. Resolving...

In order to install all targets, the following pacman packages will need to be installed:
  npm

And the following AUR packages will need to be built and installed:
  nvm
  bitwarden-cli
  bitwarden-cli-bin
  bitwarden-rofi

Proceed? [O]=ok, Ctrl-C=abort.
vn971 commented 3 years ago

Acknowledging it as a bug, RUA could definitely be smarter here.

For the moment, you know the work-around, right? (Build the dependency that has the needed provides first, then the rest)

DanielKruyt commented 11 months ago

I'll add another log of this behaviour for the record, in which rua is again being unsmort:

I tried to run

rua install themix-full-git

That package (PKGBUILD) includes in its dependencies themix-gui-git (PKGBUILD) and themix-import-images-git (PKGBUILD). The latter has a dependency on themix-gui which is explicitly provided by the PKGBUILD of themix-gui-git.

The output from rua is as follows:

Package themix-full-git depends on themix-gui-git. Resolving...
Package themix-full-git depends on themix-import-images-git. Resolving...
Package themix-full-git depends on themix-export-spotify-git. Resolving...
Package themix-full-git depends on themix-plugin-base16-git. Resolving...
Package themix-full-git depends on themix-theme-oomox-git. Resolving...
Package themix-full-git depends on themix-icons-archdroid-git. Resolving...
Package themix-full-git depends on themix-icons-gnome-colors-git. Resolving...
Package themix-full-git depends on themix-icons-numix-git. Resolving...
Package themix-full-git depends on themix-icons-papirus-git. Resolving...
Package themix-full-git depends on themix-icons-suru-plus-git. Resolving...
Package themix-full-git depends on themix-icons-suru-plus-aspromauros-git. Resolving...
Package themix-import-images-git depends on themix-gui. Resolving...
Skipping already resolved dependency themix-gui
Need to install packages: ["themix-gui"], but they are not found on AUR.

By first installing themix-gui-git and then installing themix-full-git (both with rua), there were no errors and all installed smoothly.