We do not keep exact dependencies, because we had a patch to solve some ABI 
incompatibles acros v8 3.8/3.9/3.10.

1). You should not pass openssl/whatever include dir, because pkgconfig is 
used to pick up right compile flags.
Also, --shared-v8-includes=%{_includedir} is redundant.

2). Latest node uses GYP for building itself and addons.
GYP require Python 2.6 or higher: https://github.com/joyent/node/issues/3604

суббота, 28 июля 2012 г., 20:21:08 UTC+4 пользователь Floren Munteanu 
написал:
>
> Hi Oleg,
>
> Thank you for the information. There is an interesting discussion I had 
> with Jakob and Jeremy (Debian packager) over at vb-users:
> https://groups.google.com/forum/?fromgroups#!topic/v8-users/AO0TxxpFWC4 
>
> I'm going to create an exact dependency on v8 and CentOS 5, to avoid any 
> soname issues:
>
> %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}
>
>
> So far, I have only 2 pieces of puzzle to clear, and I 
> would appreciate anyone's input on that:
> 1) Into build step, should I point exactly the includedir for OpenSSL and 
> zlib, like I do with v8?
> Right now I don't:
>
> %build
>> ./configure \
>> --prefix=%{_prefix} \
>> --shared-openssl \
>> --shared-v8 --shared-v8-includes=%{_includedir} \
>> --shared-zlib
>> %{__make} %{?_smp_mflags}
>
>
> 2) Will Python 2.4.3 suffice to run any wafadmin script from devel 
> package, or should I also force Python 2.6.8+ usage on each script by 
> changing the env to python2.6? Remember, we are dealing with CentOS 5 where 
> Python 2.4.3 is the latest version. I created a Python 2.6.8 package for 
> that purpose and I use it to compile v8 and nodejs without issues.
>
> Thank you for your help.
>
> On Friday, July 27, 2012 8:09:27 PM UTC-4, Oleg Efimov (Sannis) wrote:
>>
>> Here is spec file for openSUSE: 
>> https://build.opensuse.org/package/files?package=nodejs&project=devel%3Alanguages%3Anodejs
>>
>> суббота, 28 июля 2012 г., 0:51:53 UTC+4 пользователь Floren Munteanu 
>> написал:
>>>
>>> Hi everyone,
>>>
>>> My goal is to create a set of nodejs 64bits rpm's for Redhat/CentOS 5 
>>> and 6.
>>> So far I compiled without issues v8-3.11.10 with gyp, for 
>>> both environments:
>>>
>>> v8-3.11.10-1.el5.x86_64.rpm
>>> v8-devel-3.11.10-1.el5.x86_64.rpm
>>> v8-3.11.10-1.el6.x86_64.rpm
>>> v8-devel-3.11.10-1.el6.x86_64.rpm
>>>
>>> I need your guidance related to how I should split the nodejs rpm's. I 
>>> see that Debian and OpenSuse don't have any devel packages. I currently run 
>>> OpenSSL 1.0.1c on both CentOS boxes (5.8 and 6.3) and my configure is:
>>>
>>> %build
>>>> ./configure \
>>>> --prefix=%{_prefix} \
>>>> --dest-cpu=x64 \
>>>> --without-snapshot \
>>>> --shared-openssl \
>>>> --shared-openssl-includes=%{_includedir} \
>>>> --shared-v8 \
>>>> --shared-v8-includes=%{_includedir} \
>>>> --shared-zlib \
>>>> --shared-zlib-includes=%{_includedir}
>>>> %{__make} %{?_smp_mflags}
>>>
>>>
>>>  The nodejs package compiles properly, no issues. Since I have the same 
>>> V8 version, I decided to use the shared libs with a requirement of same or 
>>> higher version for main package:
>>> Requires: v8 >= 3.11.10
>>>
>>> This is so far how I plan to split the files into packages:
>>>
>>> %files
>>>> %defattr(-,root,root,-)
>>>> %doc AUTHORS LICENSE
>>>> %{_bindir}/node
>>>> %{_bindir}/npm
>>>> %{_prefix}/lib/node_modules
>>>> %{_mandir}/man1/node.1.*
>>>>
>>>  
>>>
>>>> %files devel
>>>> %defattr(-,root,root,-)
>>>> %{_bindir}/node-waf
>>>> %{_prefix}/lib/node
>>>> %{_includedir}/node
>>>
>>>
>>> I would like to hear your opinion, related to above listed structure.
>>> These are the final requires, once the packages are compiled:
>>>
>>> Requires: /bin/bash /bin/sh /usr/bin/env /usr/bin/node /usr/bin/python 
>>>> libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) 
>>>> libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) 
>>>> libc.so.6(GLIBC_2.4)(64bit) libcrypto.so.10()(64bit) 
>>>> libcrypto.so.10(libcrypto.so.10)(64bit) libdl.so.2()(64bit) 
>>>> libdl.so.2(GLIBC_2.2.5)(64bit) libgcc_s.so.1()(64bit) libm.so.6()(64bit) 
>>>> libm.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) 
>>>> libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) 
>>>> librt.so.1()(64bit) librt.so.1(GLIBC_2.2.5)(64bit) libssl.so.10()(64bit) 
>>>> libssl.so.10(libssl.so.10)(64bit) libstdc++.so.6()(64bit) 
>>>> libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) 
>>>> libv8.so.3.11.10()(64bit) libz.so.1()(64bit) rtld(GNU_HASH) v8 >= 3.11.10
>>>> Processing files: nodejs-devel-0.8.4-1.el5
>>>> Requires: /usr/bin/env gcc-c++ nodejs = 0.8.4-1.el5 python
>>>
>>>
>>> I would also like to hear any suggestions related to compile options I 
>>> selected. Thank you.
>>>
>>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to