Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
Vít
[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_li... [2] https://bugzilla.redhat.com/show_bug.cgi?id=732216
On Tue, Jan 15, 2013 at 11:51:06AM +0100, Vít Ondruch wrote:
Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
The exception shouldn't need revisiting (things that run on NodeJS should not be covered by the exception under the current guidelines) "At this time JavaScript intended to be served to a web browser on another computer is specifically exempted from this but this will likely change in the future." <= that exception does not cover JavaScript that runs on the local computer.
However, we do need some JavaScript packaging Guidelines. There have been times (Ruby, java, maybe ocaml... I can't remember) when we didn't allow package reviews to continue until the packaging guidelines for them were worked out. This may be another case where that should be done. The alternative is that a lot of things in the package spec files will need to be changed after guidelines are approved specifically because they are failing to do things that are needed for the guidelines (as opposed to most guidelines where changes are adopted as the packages are updated for other things).
sgallagh, would you have an interest in taking guidelines drafting upon yourself? It's a big task but since you've taken on Nodejs, you likely are used to big tasks :-)
-Toshio
[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_li... [2] https://bugzilla.redhat.com/show_bug.cgi?id=732216
Dne 15.1.2013 18:43, Toshio Kuratomi napsal(a):
On Tue, Jan 15, 2013 at 11:51:06AM +0100, Vít Ondruch wrote:
Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
The exception shouldn't need revisiting (things that run on NodeJS should not be covered by the exception under the current guidelines) "At this time JavaScript intended to be served to a web browser on another computer is specifically exempted from this but this will likely change in the future." <= that exception does not cover JavaScript that runs on the local computer.
You are partially right. Nevertheless, in time we did review of rubygem-coffee-script-source, there was no need to unbundle the coffeescript.js from the package IMO, since there were no other place where to put it anyway. There was no other package which would provide it. There was no easy way how to execute it, etc. But now, it should be changed. There might be more packages like this.
Vít
On Wed, Jan 16, 2013 at 10:18:34AM +0100, Vít Ondruch wrote:
Dne 15.1.2013 18:43, Toshio Kuratomi napsal(a):
On Tue, Jan 15, 2013 at 11:51:06AM +0100, Vít Ondruch wrote:
Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
The exception shouldn't need revisiting (things that run on NodeJS should not be covered by the exception under the current guidelines) "At this time JavaScript intended to be served to a web browser on another computer is specifically exempted from this but this will likely change in the future." <= that exception does not cover JavaScript that runs on the local computer.
You are partially right. Nevertheless, in time we did review of rubygem-coffee-script-source, there was no need to unbundle the coffeescript.js from the package IMO, since there were no other place where to put it anyway. There was no other package which would provide it. There was no easy way how to execute it, etc. But now, it should be changed. There might be more packages like this.
So if I'm understanding that coffee-script-source has javascript that runs on the machine that it's installed on and that it has a different upstream than rubygem-coffee-script, then it should not have passed review. The lack of JavaScript Guidelines that address where these files go and how to access them is separate from the fact that it's not allowed to ship these files bundled in another package. If you know of other cases like this, please let me/us know as they need to be unbundled.
As to how to resolve these problems -- without JavaScript Guidelines, it is very hard to solve them. It seems that the NodeJS maintainers are coming up with some de facto methods for Fedora. I'd be happy to review those and canonicalize them so that when we do this unbundling we are able to at least apply consistency to the new packages.
-Toshio
Dne 17.1.2013 21:57, Toshio Kuratomi napsal(a):
On Wed, Jan 16, 2013 at 10:18:34AM +0100, Vít Ondruch wrote:
Dne 15.1.2013 18:43, Toshio Kuratomi napsal(a):
On Tue, Jan 15, 2013 at 11:51:06AM +0100, Vít Ondruch wrote:
Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
The exception shouldn't need revisiting (things that run on NodeJS should not be covered by the exception under the current guidelines) "At this time JavaScript intended to be served to a web browser on another computer is specifically exempted from this but this will likely change in the future." <= that exception does not cover JavaScript that runs on the local computer.
You are partially right. Nevertheless, in time we did review of rubygem-coffee-script-source, there was no need to unbundle the coffeescript.js from the package IMO, since there were no other place where to put it anyway. There was no other package which would provide it. There was no easy way how to execute it, etc. But now, it should be changed. There might be more packages like this.
So if I'm understanding that coffee-script-source has javascript that runs on the machine that it's installed on and that it has a different upstream than rubygem-coffee-script, then it should not have passed review.
There are two gems: rubygem-coffee-script and rubygem-coffee-script-source and they have the same authors [1, 2]. rubygem-coffee-script-source carries the javascript code of coffeescript.
By coincidence Jeremy Ashkenas is author of coffeescript and coffeescript source code containis Rake script [3] which generates rubygem-coffee-script-source.
This is to explain who is upstream of what. Nevertheless, the upstream question is orthogonal to bundling question.
Since there was/is no better place to store JS files, since there was no standardized way how to execute the code at that time, since we did not duplicated any system library, it was pragmatic to keep the JS where it was.
The lack of JavaScript Guidelines that address where these files go and how to access them is separate from the fact that it's not allowed to ship these files bundled in another package.
No doubt about it.
If you know of other cases like this, please let me/us know as they need to be unbundled.
Definitely, that is why I am participating in this discussion.
As to how to resolve these problems -- without JavaScript Guidelines, it is very hard to solve them. It seems that the NodeJS maintainers are coming up with some de facto methods for Fedora.
Unfortunately, they are coming with nodejs packaging guidelines [4], not javascript packaging guidelines. And better to watch coffee-script review [5], since this is not node package but JS package IMO. There should not be "Requires: nodejs" at all.
I'd be happy to review those and canonicalize them so that when we do this unbundling we are able to at least apply consistency to the new packages.
Definitely.
Vít
[1] http://rubygems.org/gems/coffee-script [2] http://rubygems.org/gems/coffee-script-source [3] https://github.com/jashkenas/coffee-script/blob/master/Rakefile#L24 [4] https://fedoraproject.org/wiki/PackagingDrafts:Node.js [5] https://bugzilla.redhat.com/show_bug.cgi?id=732216
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 01/15/2013 12:43 PM, Toshio Kuratomi wrote:
On Tue, Jan 15, 2013 at 11:51:06AM +0100, V■t Ondruch wrote:
Hi,
Since there is already NodeJs in Fedora, shouldn't be the JavaScript exception [1] revisited? There are JavaScript libraries reviews, such as CofeeScript [2], already ongoing. However, there is also it copy of CoffeeScript in rubygem-coffee-script-source. I know I am going to make my life harder, on the other hand, this is just system library and should not be duplicated.
The exception shouldn't need revisiting (things that run on NodeJS should not be covered by the exception under the current guidelines) "At this time JavaScript intended to be served to a web browser on another computer is specifically exempted from this but this will likely change in the future." <= that exception does not cover JavaScript that runs on the local computer.
However, we do need some JavaScript packaging Guidelines. There have been times (Ruby, java, maybe ocaml... I can't remember) when we didn't allow package reviews to continue until the packaging guidelines for them were worked out. This may be another case where that should be done. The alternative is that a lot of things in the package spec files will need to be changed after guidelines are approved specifically because they are failing to do things that are needed for the guidelines (as opposed to most guidelines where changes are adopted as the packages are updated for other things).
sgallagh, would you have an interest in taking guidelines drafting upon yourself? It's a big task but since you've taken on Nodejs, you likely are used to big tasks :-)
This is going to require a good bit of work and I'm not as familiar with how this is organized as I would like to be. I think I may see if I can get a brainstorming session going at FUDCon this week.
Le 15/01/2013 11:51, Vít Ondruch a écrit :
shouldn't be the JavaScript exception [1] revisited?
I don't think the problem was really about the need to unbundle a javascript library, but "how" to package it.
I see 2 solutions to use a system JS library:
1/ using a symlink in the application tree.
This is probably the simpler (even if it imply, for apache, a FollowSymLinks option)
2/ using an Alias
ex: Alias /appname/jslibname /usr/share/jslibname
But this will requires 2 apache configuration files - one in the app to define the alias - one in the library to allow access to the library dir
3/ other web server
Don't know.
I have recently submit syntaxhighlighter for review[1] and have try to allow both (httpd configuration in a sub-package to avoid dependency on http in the main one).
So, I think we mainly need a packaging Guidelines for JavaScript, and then, we'll be able to drop the exception.
Regards, Remi.
packaging@lists.fedoraproject.org