nodejs update in: http://advisories.mageia.org/MGASA-2021-0092.html has packaging errors: Mageia.org/distrib/8/x86_64/media/core/release/v8-devel-8.4.371.19.mga8-10.mga8.x86_64.rpm Mageia.org/distrib/8/x86_64/media/core/updates/v8-devel-8.4.371.19.mga8-1.mga8.x86_64.rpm 1. note the dual "mga8" 2. rel got reset to 1, so the one in release is preferred over the updated one. this causes it to not install properly: # LANG=C urpmi v8-devel Some requested packages cannot be installed: nodejs-14.15.1-3.mga8.x86_64 (due to conflicts with nodejs-14.16.0-1.mga8.x86_64) nodejs-devel-14.15.1-3.mga8.x86_64 (due to unsatisfied nodejs[== 1:14.15.1-3.mga8])
Please test next rpms: v8_release is now 11 src: - nodejs-14.16.0-2.mga8
Assignee: mageia => qa-bugs
What's up with the overuse of mkrel ? By a quick look I saw atleast: Provides: v8 = %mkrel %{v8_epoch}:%{v8_version}-%{nodejs_release} Provides: v8 = %mkrel %{v8_epoch}:%{v8_version}-%{nodejs_release} Version: %mkrel %{v8_version} Release: %mkrel %{v8_release}
I was able to reproduce the problem in a vbox guest, but confirming the fix wasn't as easy without a proper rpm list. Tried using "nodejs*" as a search in qarepo, and got these four packages as results: nodejs-14.16.0-2.mga8.x86_64.rpm nodejs-devel-14.16.0-2.mga8.x86_64.rpm nodejs-docs-14.16.0-2.mga8.noarch.rpm nodejs-libs-14.16.0-2.mga8.x86_64.rpm But when I went to drakrpm and attempted to install nodejs-14.16.0-2, it wouldn't let me select it. At first it wouldn't tell me why, but after a few tries it told me I needed a package named "npm-something." So I added "npm*" to the qarepo search, and it came up with npm-6.14.11-1.14.16.0.2.mga8.x86_64.rpm. Once I had that, I was able to install both nodejs and nodejs-devel with no issues. That one package was enough to let it install, but I have no idea if that was all the packages I should have had in the test, so I'm withholding the OK until the full list is available.
CC: (none) => andrewsfarm
Advisory ======================== The updated nodejs packages fix packaging issue. references: https://bugs.mageia.org/show_bug.cgi?id=28767 ======================== Updated packages in core/updates_testing ======================== nodejs-14.16.0-2.mga8 nodejs-devel-14.16.0-2.mga8 nodejs-docs-14.16.0-2.mga8 nodejs-libs-14.16.0-2.mga8 npm-6.14.11-1.14.16.0.2.mga8 v8-devel-8.4.371.19.mga8-11.mga8 from SRPM nodejs-14.16.0-2.mga8.src.rpm So, @Thomas, it really needs npm package. OK on clean install, meanwhile, all rpms. Validating.
CC: (none) => ouaurelien, sysadmin-bugsKeywords: (none) => advisory, validated_updateWhiteboard: (none) => MGA8-64-OK
Yes, v8-devel was not part of my test. I just checked my vbox guest, and it was not installed. Used qarepo to get the updated package, and installed it without issues. So it's good for me, too.
I just tested myself a a fix which has following changes to spec-file: 1) install error fix for v8-devel - changed the v8-release tag in spec file from 1 to 11 This was needed because the running number on previous 4.15 nodejs version was 10. 2) Fix for the packaging because many apps (scons v8 search for example) will fail unless there is a symlink from /usr/include/cppgc to /usr/include/node/cppgc I encountered the package when I tried to enable v8-support in cbang library that is itself needed with v8 support by camotics. This can be tested with commands: git clone https://github.com/CauldronDevelopmentLLC/cbang.git scons -C cbang | grep v8 Without symlink the scons will fail to compile v8 test app and that causes the v8 search test to fail. With symlink added the v8 is found. Similar fix has also been added in this year to latest fedora RPMs. I will attach the diff. [lamikr@localhost ~]$ cat nodejs-14.16.0-1.mga8_spec_fixes.patch --- nodejs-14.16.0-1.mga8_orig.spec 2021-04-14 21:13:11.412813259 +0300 +++ nodejs-14.16.0-1.mga8_fixed.spec 2021-04-14 21:14:17.279278620 +0300 @@ -19,7 +19,7 @@ # increment both of these together %define rel 1 -%global v8_release 1 +%global v8_release 11 # == Node.js Version == # Note: Mageia should only ship LTS versions of Node.js (currently expected @@ -417,6 +417,7 @@ header=$(basename ${header}) ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} @@ -549,6 +550,7 @@ %files -n v8-devel %{_includedir}/libplatform %{_includedir}/v8*.h +%{_includedir}/cppgc %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so
CC: (none) => lamikr
Created attachment 12626 [details] Patch to fix nodejs spec files packaging problems
An update for this issue has been pushed to the Mageia Updates repository. https://advisories.mageia.org/MGAA-2021-0087.html
Status: NEW => RESOLVEDResolution: (none) => FIXED
v8-devel has still problems because you forgot to add the cppgc symlink fix to spec-file. Basically two lines: @@ -417,6 +417,7 @@ header=$(basename ${header}) ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} @@ -549,6 +550,7 @@ %files -n v8-devel %{_includedir}/libplatform %{_includedir}/v8*.h +%{_includedir}/cppgc %{_libdir}/libv8.so %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so
Resolution: FIXED => (none)Ever confirmed: 1 => 0Status: RESOLVED => UNCONFIRMED
This update is already pushed. You need to open a new one for the other issues
Resolution: (none) => FIXEDStatus: UNCONFIRMED => RESOLVED