-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Node.js to v0.10.33; remove unneeded openssl.gyp patch #1288
Conversation
You beat me to it ;) Couple things: |
About those patches - it compiles also after removing all but the async patch. However - when looking in the files referenced by the patches - only in the openssl.gyp I saw the change from the patch applied. So only that patch was clearly redundant. The other patches were to disable some code on ARM, and I didn't see those I thought that About the npm issue I should check. |
Both: fixing compilation issues and fixing functionality for one or more arches (not disabling functionality per se, that really depends on circumstances) |
The openssl.gyp, cryptlib.c and mem_clr.c patches I added to fix openssl compilation on ARM, so I think those can be safely removed if it compiles. However, the pthread patch I don't know about. Do you have an idea about that? |
Yes, the async fix is still needed: it won't compile otherwise. |
I found these threads
They says that the pthread_condattr_setclock was not available in some version of libpthread and that removing that call was needed to make it compile. Since it compiles now, it is safe for us to remove the patch, but I'm only compiling for armadaxp - should we leave it in for other architectures? |
Yes, after looking at it, I gathered that it was related to compiling. |
That's really helpful, thank you :) Unfortunately I only have a VM with Debian in it - it is really slow so I'm glad you offered to compile the other archs I'll test whether npm works; I'll wait with committing the last changes (setting rev number to 3, adding changelog and removing patches). |
For me, #1223 is not an issue - npm works without asking for additional certificates, etc. See https://gist.github.com/wind-rider/2f808f1c0161a25fa459. I have the latest DSM, but using spksrc the compilation is done using the 4.3 TC Also I can't reproduce #1285 - see https://gist.github.com/wind-rider/e5debfa4d4926cfdfb3c. The only thing I'm not sure about, is why setting the PATH is still needed. It looks like node is getting installed in /volume1/@appstore/node and that /usr/local/node is a symlink to it. However, in install.sh there is a command |
Ok, the pthread patch is needed for x86 arches with 4.3 TC, 5.0 TC looks to be fine without it. Best to leave that one in then, seeing as 4.3 TC is still the default. As for the PATH: there is a Synology node package, which will always be first on PATH, because it'll be in |
Ok, thank you for your feedback. I added the pthread patch back in, but I left the PATH commands in the .sh files, in case somebody would want to call node from the installer files. The changes are committed to my branch. |
Maybe we can make such a documentation html page like https://github.com/SynoCommunity/spksrc/blob/develop/spk/debian-chroot/src/app/help/enu/index.html with some instructions on best practices, how to use it? For me Node.js works now, but I still have some questions myself, for example:
|
@Dr-Bean / @Diaoul: do you have any comments on above points? I think they are not blockers for merging my patch, or does something still need to be improved? @Diaoul: there are some opened issues about node/npm here and I can't reproduce them Node/npm based on this package on DSM 5 (latest updates installed) on a DS214. It would be pleasant if this package could be tested by more people so that these issues can be closed. Also any input on how to use node effectively on synology is welcome. |
@Wind-rider if i remember this right, there was a discussion about adding custom stuff to the user PATH on install time... long story short: don't do it. if someone wants to do it, it can be done very easily. if you want to be able to call it directly from the users path, you can still symlink it to /usr/local/bin/ on install time like i did it for ffmpeg: https://github.com/SynoCommunity/spksrc/blob/develop/spk/ffmpeg/src/dsm-control.sh |
PR should be okay (I mean, I have the exact same changes to a local branch here ;), just haven't gotten round to answering your questions yet. The documentation method to use could indeed be done similar to debian-chroot. I noticed Synology added my request to support the built-in help for third party packages (see latest developers guide), so that might be interesting for DSM5+ to check out. Otherwise, we could put up a page on the synocommunity website. @Diaoul, I don't know for sure if that functionality is available? On $PATH: cytec is right, we do not want to add anything to PATH during install time, and there's no reason to either. Usage of node is the same as with any other application. Use CLI, or package your node application. The watchfolder approach you described is especially something you'd want to combine with some kind of package imo. It's not something that we would add into the node package. |
I saw that Synology now also packaged v0.10.33 with the new DSM 5.1 version - maybe we should reconsider whether we want to keep maintaining our own version in spksrc? |
Yep, lets drop this... It's sad that Synology doesn't give heads up on what kind of development they're doing, would save us some time. I already asked them about that, repeatedly, but that doesn't seem to bother them. |
Merging anyway so we have an up to date version in spksrc. |
Update Node.js to v0.10.33; remove unneeded openssl.gyp patch
@Diaoul thank you for asking them |
Please review, test and merge this commit.
I updated Node,js - it contains these changes:
This is a behavior change, by default we will not allow the negotiation to SSLv2 or SSLv3. If you want this behavior, run Node.js with either --enable-ssl2 or --enable-ssl3 respectively.
This does not change the behavior for users specifically requesting SSLv2_method or SSLv3_method. While this behavior is not advised, it is assumed you know what you're doing since you're specifically asking to use these methods.