Re: F23 Self Contained Change: Node.js 0.12

2015-06-25 Thread Stephen Gallagher
On Wed, 2015-06-24 at 13:23 -0700, T.C. Hollingsworth wrote:
 On Wed, Jun 24, 2015 at 1:05 AM, Vít Ondruch vondr...@redhat.com 
 wrote:
  What the version of v8 will be? I am asking, since rubygem
  -therubyracer
  is using system version of v8 and I am bit afraid what impact it 
  will have.
 
 3.28.73 for nodejs 0.12, 4.2.77.13 for iojs.
 
 Looks like rubygem-therubyracer is still on 3.16.  :-(
 
 I don't mind doing a v8-3.14 compat package for a few Fedora 
 releases,
 since I'm still going to be maintaining it in EPEL for the forseeable
 future anyway...
 
  How is Chromium compatible with the updated Node.js (not user of
  Chromium though, neither it is in Fedora AFAIK).
 
 Not at all, nor has it been ever, nor will it be ever.  Last time I
 checked spot didn't even bother separating v8 from chromium anymore,
 it's gotten so bad.  :-/
 
  And since the two questions above, I am not sure it should not be 
  system
  wide change (not mentioning all the nodejs- packages which depends 
  on
  Node.js).
 
 Well the nodejs-* packages are clearly within our SIG, which the
 Change policy says is okay for Self-Contained Change.
 
 The v8 changes do affect two other packages, though.  I could adjust
 the category of the wiki page, or split out the v8 changes from
 io.js/nodejs012 into a v8 systemwide one.  But the change deadline 
 was
 yesterday, is this still okay?
 


I'll indicate to FESCo that we should consider the Node.js update to be
system-wide when we discuss it at the meeting next week. I don't think
it's worth separating into two Change Proposals considering it doesn't
change the work being done, really.



 -T.C.
 
 On Wed, Jun 24, 2015 at 1:05 AM, Vít Ondruch vondr...@redhat.com 
 wrote:
  Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
 -- Update v8
   
  
  What the version of v8 will be? I am asking, since rubygem
  -therubyracer
  is using system version of v8 and I am bit afraid what impact it 
  will have.
  
  How is Chromium compatible with the updated Node.js (not user of
  Chromium though, neither it is in Fedora AFAIK).
  
  And since the two questions above, I am not sure it should not be 
  system
  wide change (not mentioning all the nodejs- packages which depends 
  on
  Node.js).
  
  
  Vít
  --
  devel mailing list
  devel@lists.fedoraproject.org
  https://admin.fedoraproject.org/mailman/listinfo/devel
  Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct


signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread Peter Robinson
On Wed, Jun 24, 2015 at 9:05 AM, Vít Ondruch vondr...@redhat.com wrote:
 Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
   -- Update v8


 What the version of v8 will be? I am asking, since rubygem-therubyracer
 is using system version of v8 and I am bit afraid what impact it will have.

 How is Chromium compatible with the updated Node.js (not user of
 Chromium though, neither it is in Fedora AFAIK).

The other one is mongodb which is very dependent on v8

 And since the two questions above, I am not sure it should not be system
 wide change (not mentioning all the nodejs- packages which depends on
 Node.js).

Agreed, this has a much wider impact. I'm looking forward to the
upgrade of v8 because the last time I looked the required version for
nodejs greatly enhances support for some of the secondary arches.

Peter
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread Vít Ondruch
Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
   -- Update v8


What the version of v8 will be? I am asking, since rubygem-therubyracer
is using system version of v8 and I am bit afraid what impact it will have.

How is Chromium compatible with the updated Node.js (not user of
Chromium though, neither it is in Fedora AFAIK).

And since the two questions above, I am not sure it should not be system
wide change (not mentioning all the nodejs- packages which depends on
Node.js).


Vít
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread Richard W.M. Jones
On Wed, Jun 24, 2015 at 01:42:14PM +0100, Richard W.M. Jones wrote:
 On Wed, Jun 24, 2015 at 09:16:28AM +0100, Peter Robinson wrote:
  On Wed, Jun 24, 2015 at 9:05 AM, Vít Ondruch vondr...@redhat.com wrote:
   Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
 -- Update v8
  
  
   What the version of v8 will be? I am asking, since rubygem-therubyracer
   is using system version of v8 and I am bit afraid what impact it will 
   have.
  
   How is Chromium compatible with the updated Node.js (not user of
   Chromium though, neither it is in Fedora AFAIK).
  
  The other one is mongodb which is very dependent on v8
 
 Also recent versions of v8 support (upstream) aarch64, but when looked
 at v8 in Fedora (this would be about 6 months ago) it was not possible
 to update to that version because it broke mongodb and one other

package.  As a result I could NOT get mongodb to work on aarch64, which
  ^^^

 impacts getting parts of OpenStack working on aarch64.
 
 Rich.
 
 -- 
 Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
 Read my programming and virtualization blog: http://rwmj.wordpress.com
 virt-p2v converts physical machines to virtual machines.  Boot with a
 live CD or over the network (PXE) and turn machines into KVM guests.
 http://libguestfs.org/virt-v2v
 -- 
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread Richard W.M. Jones
On Wed, Jun 24, 2015 at 09:16:28AM +0100, Peter Robinson wrote:
 On Wed, Jun 24, 2015 at 9:05 AM, Vít Ondruch vondr...@redhat.com wrote:
  Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
-- Update v8
 
 
  What the version of v8 will be? I am asking, since rubygem-therubyracer
  is using system version of v8 and I am bit afraid what impact it will have.
 
  How is Chromium compatible with the updated Node.js (not user of
  Chromium though, neither it is in Fedora AFAIK).
 
 The other one is mongodb which is very dependent on v8

Also recent versions of v8 support (upstream) aarch64, but when looked
at v8 in Fedora (this would be about 6 months ago) it was not possible
to update to that version because it broke mongodb and one other
package.  As a result I could get mongodb to work on aarch64, which
impacts getting parts of OpenStack working on aarch64.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread T.C. Hollingsworth
On Wed, Jun 24, 2015 at 1:16 AM, Peter Robinson pbrobin...@gmail.com wrote:
 On Wed, Jun 24, 2015 at 9:05 AM, Vít Ondruch vondr...@redhat.com wrote:
 Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
   -- Update v8


 What the version of v8 will be? I am asking, since rubygem-therubyracer
 is using system version of v8 and I am bit afraid what impact it will have.

 How is Chromium compatible with the updated Node.js (not user of
 Chromium though, neither it is in Fedora AFAIK).

 The other one is mongodb which is very dependent on v8

I think we may be able to port mongodb now, it's been ported to 3.25
at least.  If not it can still limp along with v8 3.14 for a couple
years.

 And since the two questions above, I am not sure it should not be system
 wide change (not mentioning all the nodejs- packages which depends on
 Node.js).

 Agreed, this has a much wider impact. I'm looking forward to the
 upgrade of v8 because the last time I looked the required version for
 nodejs greatly enhances support for some of the secondary arches.

node.js 0.12 is the first to use a v8 that supports aarch64, but io.js
will probably work a lot better there.  Also, io.js supports PPC
upstream now, node.js won't until the codebases are merged.

Oh, and I'm also going to turn on MIPS now that there's a budding
secondary arch effort, but v8 has supported that forever...

-T.C.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 Self Contained Change: Node.js 0.12

2015-06-24 Thread T.C. Hollingsworth
On Wed, Jun 24, 2015 at 1:05 AM, Vít Ondruch vondr...@redhat.com wrote:
 What the version of v8 will be? I am asking, since rubygem-therubyracer
 is using system version of v8 and I am bit afraid what impact it will have.

3.28.73 for nodejs 0.12, 4.2.77.13 for iojs.

Looks like rubygem-therubyracer is still on 3.16.  :-(

I don't mind doing a v8-3.14 compat package for a few Fedora releases,
since I'm still going to be maintaining it in EPEL for the forseeable
future anyway...

 How is Chromium compatible with the updated Node.js (not user of
 Chromium though, neither it is in Fedora AFAIK).

Not at all, nor has it been ever, nor will it be ever.  Last time I
checked spot didn't even bother separating v8 from chromium anymore,
it's gotten so bad.  :-/

 And since the two questions above, I am not sure it should not be system
 wide change (not mentioning all the nodejs- packages which depends on
 Node.js).

Well the nodejs-* packages are clearly within our SIG, which the
Change policy says is okay for Self-Contained Change.

The v8 changes do affect two other packages, though.  I could adjust
the category of the wiki page, or split out the v8 changes from
io.js/nodejs012 into a v8 systemwide one.  But the change deadline was
yesterday, is this still okay?

-T.C.

On Wed, Jun 24, 2015 at 1:05 AM, Vít Ondruch vondr...@redhat.com wrote:
 Dne 24.6.2015 v 01:37 Jan Kurik napsal(a):
   -- Update v8


 What the version of v8 will be? I am asking, since rubygem-therubyracer
 is using system version of v8 and I am bit afraid what impact it will have.

 How is Chromium compatible with the updated Node.js (not user of
 Chromium though, neither it is in Fedora AFAIK).

 And since the two questions above, I am not sure it should not be system
 wide change (not mentioning all the nodejs- packages which depends on
 Node.js).


 Vít
 --
 devel mailing list
 devel@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

F23 Self Contained Change: Node.js 0.12

2015-06-23 Thread Jan Kurik
= Proposed Self Contained Change: Node.js 0.12 =
https://fedoraproject.org/wiki/Changes/NodeJS012

Change owner(s): T.C. Hollingsworth tchollingsworth at gmail dot com

Fedora 23 will be updated to Node.js 0.12, the latest release of the platform 
built on Chrome's JavaScript runtime for easily building fast, scalable network 
applications. 

== Detailed Description ==
Node.js has seen many changes between v0.10 and v0.12. There is a listing of 
changes documented on the wiki. Note that this release includes API updates 
that may require dependency updates. Following are some highlights:

* Streams 3
The Streams implementation now works the way you thought it already 
should, without introducing any changes to the API. Basically this means no 
more getting stuck in old mode, there are only streams that are flowing or 
not.
Streams now support the use of cork and uncork mechanisms to prevent 
flushing writes out to the system if an application is going to be performing 
many writes in a row. There is an implicit uncork performed when you end a 
writable stream. 

* HTTP
maxSockets are no longer limited to 5. The default is now set to 
Infinity with the developer and the operating system given control over how 
many simultaneous connections an application can keep open to a given host.
Proper KeepAlive support means that sockets will stay open until they 
timeout at the configured time, are closed by the remote side, or the process 
exits. Developer's no longer have to make sure requests have been pipelined to 
keep the socket open, or use an alternative module to get that support.
Developers can also now explicitly flushHeaders to ensure time to first 
byte is low and proxied connections are held open. 

* Cluster
Now has two modes of operation, the new default is a round robin 
distribution mechanism where the master accepts new connections and distributes 
them to your workers. If you want you can still opt back into the old method 
where your workers are responsible for acception connections. 

* TLS
We have the new TLSWrap mechanism under the hood, this eliminates quite 
a few of the hops back and forth between JavaScript and our C++ implementations.
Added APIs for asynchronous SNI callbacks, OCSP stapling, and storage 
events. 

* Buffer
We use a more accurate mechanism for allocating memory for buffers now, 
which means you'll see less overhead and impact from holding onto to small 
slices of Buffers. This reduces the amount of memory pressure on the system, 
which means GC runs are quicker, which means Node.js is on CPU less, and thus 
lower latency for your applications. 

* child_process
spawnSync/execSync have been added to facilitate synchronous child 
processes, warning your node process won't make forward progress while waiting 
for the child to exit, caveat emptor! 

* Crypto
Added APIs for loading custom engines for use with compiled in OpenSSL.
More APIs support supplying the pass phrases.
Added APIs for RSA public/private key encryption/decryption. 

* VM
The module is now based on the Contextify module, which shares values 
from the sandbox to avoid missing changes inside the execution from appearing 
in the parent context.
Initial support for ECMAScript Internationalization API 1.0 (ECMA-402)
By default, Node.js v0.12.0 binaries are shipped with ECMA-402 support, 
but only for the English language. In other words, the ECMA-402 API is working 
as you would expect, but only data for the English language is included. You 
can find more info on how to include more languages in the Wiki. 

These are just some of the changes you can find in this release of v0.12, and 
it's thanks to the hard work of the community and the members of team curating 
Node.js.

We are also pleased to report that this release of Node.js has tests passing on 
all of our supported platforms. On the one hand, this seems obvious (what are 
tests for if not to verify before you release it?!), but this is actually the 
first release of Node.js that has operated under this constraint. Requiring 
that all tests pass before releasing Node.js marks an important development for 
the project, and is essential for building a solid path moving forward. 

== Scope ==
* Proposal owners:
  -- Update v8
  -- Update nodejs
  -- Rebuild all binary modules, apply patches as necessary
  -- Update npm 
* Other developers:
  -- Other Node.js packagers' attention may be required if the update causes 
issues for their packages. 
* Release engineering: N/A (not a System Wide Change) 
* Policies and guidelines:
  -- Some minor updates to the Node.js guidelines are planned, however they are 
just Nice To Have for the purposes of this specific change. 
* Trademark approval: N/A (not needed for this Change) 
-- 
Jan Kuřík
___
devel-announce mailing list

F23 Self Contained Change: Node.js 0.12

2015-06-23 Thread Jan Kurik
= Proposed Self Contained Change: Node.js 0.12 =
https://fedoraproject.org/wiki/Changes/NodeJS012

Change owner(s): T.C. Hollingsworth tchollingsworth at gmail dot com

Fedora 23 will be updated to Node.js 0.12, the latest release of the platform 
built on Chrome's JavaScript runtime for easily building fast, scalable network 
applications. 

== Detailed Description ==
Node.js has seen many changes between v0.10 and v0.12. There is a listing of 
changes documented on the wiki. Note that this release includes API updates 
that may require dependency updates. Following are some highlights:

* Streams 3
The Streams implementation now works the way you thought it already 
should, without introducing any changes to the API. Basically this means no 
more getting stuck in old mode, there are only streams that are flowing or 
not.
Streams now support the use of cork and uncork mechanisms to prevent 
flushing writes out to the system if an application is going to be performing 
many writes in a row. There is an implicit uncork performed when you end a 
writable stream. 

* HTTP
maxSockets are no longer limited to 5. The default is now set to 
Infinity with the developer and the operating system given control over how 
many simultaneous connections an application can keep open to a given host.
Proper KeepAlive support means that sockets will stay open until they 
timeout at the configured time, are closed by the remote side, or the process 
exits. Developer's no longer have to make sure requests have been pipelined to 
keep the socket open, or use an alternative module to get that support.
Developers can also now explicitly flushHeaders to ensure time to first 
byte is low and proxied connections are held open. 

* Cluster
Now has two modes of operation, the new default is a round robin 
distribution mechanism where the master accepts new connections and distributes 
them to your workers. If you want you can still opt back into the old method 
where your workers are responsible for acception connections. 

* TLS
We have the new TLSWrap mechanism under the hood, this eliminates quite 
a few of the hops back and forth between JavaScript and our C++ implementations.
Added APIs for asynchronous SNI callbacks, OCSP stapling, and storage 
events. 

* Buffer
We use a more accurate mechanism for allocating memory for buffers now, 
which means you'll see less overhead and impact from holding onto to small 
slices of Buffers. This reduces the amount of memory pressure on the system, 
which means GC runs are quicker, which means Node.js is on CPU less, and thus 
lower latency for your applications. 

* child_process
spawnSync/execSync have been added to facilitate synchronous child 
processes, warning your node process won't make forward progress while waiting 
for the child to exit, caveat emptor! 

* Crypto
Added APIs for loading custom engines for use with compiled in OpenSSL.
More APIs support supplying the pass phrases.
Added APIs for RSA public/private key encryption/decryption. 

* VM
The module is now based on the Contextify module, which shares values 
from the sandbox to avoid missing changes inside the execution from appearing 
in the parent context.
Initial support for ECMAScript Internationalization API 1.0 (ECMA-402)
By default, Node.js v0.12.0 binaries are shipped with ECMA-402 support, 
but only for the English language. In other words, the ECMA-402 API is working 
as you would expect, but only data for the English language is included. You 
can find more info on how to include more languages in the Wiki. 

These are just some of the changes you can find in this release of v0.12, and 
it's thanks to the hard work of the community and the members of team curating 
Node.js.

We are also pleased to report that this release of Node.js has tests passing on 
all of our supported platforms. On the one hand, this seems obvious (what are 
tests for if not to verify before you release it?!), but this is actually the 
first release of Node.js that has operated under this constraint. Requiring 
that all tests pass before releasing Node.js marks an important development for 
the project, and is essential for building a solid path moving forward. 

== Scope ==
* Proposal owners:
  -- Update v8
  -- Update nodejs
  -- Rebuild all binary modules, apply patches as necessary
  -- Update npm 
* Other developers:
  -- Other Node.js packagers' attention may be required if the update causes 
issues for their packages. 
* Release engineering: N/A (not a System Wide Change) 
* Policies and guidelines:
  -- Some minor updates to the Node.js guidelines are planned, however they are 
just Nice To Have for the purposes of this specific change. 
* Trademark approval: N/A (not needed for this Change) 
-- 
Jan Kuřík
___
devel-announce mailing list