FS#64641 - [pacman] makepkg: Version restrictions not properly evaluated
Attached to Project:
Pacman
Opened by Matthias Lisin (matthias.lisin) - Monday, 25 November 2019, 12:14 GMT
Last edited by Allan McRae (Allan) - Monday, 25 November 2019, 12:55 GMT
Opened by Matthias Lisin (matthias.lisin) - Monday, 25 November 2019, 12:14 GMT
Last edited by Allan McRae (Allan) - Monday, 25 November 2019, 12:55 GMT
|
Details
Description:
You can see the problem here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=rocketchat-desktop When restricting a version of a (make) dependency and the first version requirement is evaluated with multiple matches (e.g. `nodejs<13` yields `nodejs-lts-carbon`, `nodejs-lts-dubnium` and `nodejs-lts-erbium`) makepkg suggests all three providers and defaults to the one with the lowest version, in this case `nodejs-lts-carbon` with the version 8.x.x. ``` ==> Installing missing dependencies... :: There are 3 providers available for nodejs<13: :: Repository community 1) nodejs-lts-carbon 2) nodejs-lts-dubnium 3) nodejs-lts-erbium Enter a number (default=1): ``` After installing one of the nodejs providers, the next version restriction is evaluated: `nodejs>=12`. Now, if you chose either carbon (8) or dubnium (10), the build fails with the message: ``` ==> Missing dependencies: -> nodejs>=12 ==> ERROR: Could not resolve all dependencies. ``` make dependencies seem to be enforced for each element in the array not accounting the other version restrictions on the same package. Also the order seems to be sorted? `nodejs<13` is always evaluated before `nodejs>=12`. A quick solution for my case would be to put `nodejs-lts-erbium` in makedepends since I want version 12 and nothing else. But then this would still be a problem if the version restrictions were `nodejs>=10` and `nodejs<13`. I couldn't find any related tasks after a quick search, please excuse me if I missed something. Would appreciate links to existing discussions around this issue. Additional info: * core/pacman 5.2.1-1 Steps to reproduce: 1. Install nodejs (13) 2. Get rocketchat-desktop from AUR 3. Run makepkg -s |
This task depends upon
Closed by Allan McRae (Allan)
Monday, 25 November 2019, 12:55 GMT
Reason for closing: Duplicate
Additional comments about closing: FS#63086
Monday, 25 November 2019, 12:55 GMT
Reason for closing: Duplicate
Additional comments about closing: FS#63086