| Summary: | nodejs: v8-devel packaging error | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Thomas Backlund <tmb> |
| Component: | RPM Packages | Assignee: | QA Team <qa-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | andrewsfarm, lamikr, ouaurelien, sysadmin-bugs |
| Version: | 8 | Keywords: | advisory, validated_update |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | MGA8-64-OK | ||
| Source RPM: | nodejs | CVE: | |
| Status comment: | |||
| Attachments: | Patch to fix nodejs spec files packaging problems | ||
|
Description
Thomas Backlund
2021-04-12 15:38:05 CEST
Please test next rpms:
v8_release is now 11
src:
- nodejs-14.16.0-2.mga8Assignee:
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-bugs 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 =>
RESOLVED 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.soResolution:
FIXED =>
(none) This update is already pushed. You need to open a new one for the other issues Resolution:
(none) =>
FIXED |