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