Description of problem: The current rpm packages for nodejs creates a logical requires of form (npm(is-windows) >= 1.0.1 with npm(is-windows) < 2) URPMI does not process complex requires and so the requires logic will not follow nodejs dependences. This causes most nodejs packages to fail to build in the build infrastructure. Version-Release number of selected component (if applicable): How reproducible: consist Steps to Reproduce: 1. urpmi nodejs-is-absolute 2. see large amount of unresolved dependencies 3.
Created attachment 11582 [details] patch to file nodejs depends This is a patch that fixes the dependencies issues for nodejs packages
CC: (none) => joequant
Created attachment 11583 [details] output of perl test suite
Thank you Joseph both for reporting this; and providing the fix! Assigning to the urpmi/tools team, CC'ing Thierry for 'perl-URPM'. Maybe it should be the other way round.
CC: (none) => thierry.vignaudAssignee: bugsquad => mageiatools
nodejs-packaging has already been patched a month ago in order to _not_ emit rich deps. You only test perl-URPM testsuite, not the full urpmi one. I'ven't seen any answers to my reports 4 months ago: For example, it badly broke installing perl packages. See https://ml.mageia.org/l/arc/dev/2020-01/msg00040.html 2nd example) test script was posted on dev ml: $ perl with_deps_test.pl $VAR1 = [ 'crate(libc)[== 0.2.36]', 'crate(libc/default)[== 0.2.36]', 'crate(libc/use_std)[== 0.2.36]', 'rust-libc-devel[== 0.2.36-1.mga7]' ]; # Checking against 'crate(libc)[== 0.2.36]' >> cheking for '(crate(libc) >= 0.2.20 with crate(libc) < 0.3.0)': 1 >> cheking for '(crate(libc) >= 0.1.20 with crate(libc) < 0.2.0)': 1 >> cheking for '(crate(libc) >= 0.3.20 with crate(libc) < 0.1.0)': 0 Only the first boolean dep should have been accepted. The 2nd shouldn't have been
Severity: major => enhancement
Yeah. Fixing nodejs-packaging may be a better way than playing with urpmi. Marking as fixed
Status: NEW => RESOLVEDResolution: (none) => FIXED