On Saturday, July 28, 2012 9:24:46 AM UTC-4, Jakob Kummerow wrote:
>
> When you let your node.js package depend on "V8 >= 3.11.10", it again
> comes down to luck: If you are careful to release matching updates for both
> packages at the same time, and if all of your users happen to always
> install matching sets of updates, everything will be fine. If, however, for
> whatever reason someone ends up with the older node.js package and e.g. V8
> 3.14.x, chances are their node.js will not work. (Again, no guarantees
> either way -- it might happen that our ABI won't change between 3.11 and
> 3.14, or that at least it doesn't break backwards compatibility, but nobody
> is ensuring this or even trying.) If my package manager installed two
> packages on my system which are not compatible given their respective
> versions, I would consider that a bug ;-)
>
Jakob, that was the very first thing I thought also. IMO, the proper way to
build node.js (or any other v8 dependent package) is to match exactly the
v8 version:
%global npmver 1.1.45
> %global pybasever 2.6
> %global pythonver 26
> Summary: Evented I/O for V8 JavaScript
> Name: nodejs
> Version: 0.8.4
> Release: 1%{dist}
> License: MIT
> Group: Development/Languages/Other
> URL: http://www.nodejs.org/
> Source: http://nodejs.org/dist/v0.8.4/node-v%{version}.tar.gz
> BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
> BuildRequires: curl, gcc-c++, procps, openssl-devel >= 1.0.1
> BuildRequires: python%{pythonver}, pkgconfig, v8-devel = 3.11.10
> BuildArch: noarch
> Requires: v8 = 3.11.10
> Provides: npm = %{npmver}
....
> %build
> ./configure \
> --prefix=%{_prefix} \
> --shared-openssl \
> --shared-v8 --shared-v8-includes=%{_includedir} \
> --shared-zlib
> %{__make} %{?_smp_mflags}
The above config is for CentOS 5, which requires python26. I saw several
people not creating an exact v8 dependency and I thought right away about
what we discussed earlier on soname subject.
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users