Red Hat Bugzilla – Bug 857992
Last modified: 2014-03-19 12:56:40 EDT
Another try of getting jquery into fedora ;)...
Spec URL: http://brummbq.fedorapeople.org/jquery.spec
SRPM URL: http://brummbq.fedorapeople.org/jquery-1.7.2-2.fc17.src.rpm
traverse HTML documents, handle events, perform animations, and add
Ajax interactions to your web pages. jQuery is designed to change the
Fedora Account System Username: brummbq
*** Bug 805587 has been marked as a duplicate of this bug. ***
I'm asking myself currently, if it is really desirable to make a package.
Reason: many web based frameworks and other packages bundle jquery in any form. Mostly, they are tailored to a specific jquery version, so unbundling is not really an option.
When jquery becomes a package: what happens with the packages bundling (more or less) silently jquery? Take django as example. It's upstream voted against unbundling; Security reasons are also not that problem, because it's client side, and should/will be interpreted in a sandbox.
To be more productive:
I'd define a <Directory> in your httpd-conf snipped, and to make it more readable, I'd put that everything in a separate file.
Anyway if you would be able to obtain a global exception for jquery* bundling I would drop this package happily :)
The issue raises a few questions: For example, what _may_ be bundled, what _must not_ be bundled.
Think of jQuery plugins: Do we package each plugin seperately? What if a webapp bundles a plugin that is only part of that particular webapp?
Do we unbundle it as well?
I guess we need to fundamentally discuss this. I'm unsure if we can make this in the F18 timeframe.
jquery: latest version is (currently) 1.8.2. , 1.8.1 was released on Aug 30, so you'l need to update this package.
In my experience, esp. web developers are pretty ignorant in bundling/copying external code. And also, most of them don't care for backwards compatibility.
For example: Django developers: they said about the request to unbundle: Not having external dependencies is a design choice of Django.
Django still uses jquery 1.4.2, and I don't see, this will change in the near future.
jquery's release notes list some changes affecting backwards compatibility:
When breaking other's packages by upgrading to newer versions, you're also requested to fix those issues. I'm sure, I don't want to do that.
(In reply to comment #4)
> Think of jQuery plugins: Do we package each plugin seperately? What if a
> webapp bundles a plugin that is only part of that particular webapp?
> Do we unbundle it as well?
> I guess we need to fundamentally discuss this. I'm unsure if we can make
> this in the F18 timeframe.
Regarding jQuery plugins I think it does not harm if we put everything together in one package? Of course if a js lib is unique/forked it doesn't make sense to distribute it separately.
(In reply to comment #5)
> jquery: latest version is (currently) 1.8.2. , 1.8.1 was released on Aug 30,
> so you'l need to update this package.
If I'm obliged to build it from source I've a problem because nodejs is still not in fedora. Or would it be ok to use the ready-to-use version from the website?
> In my experience, esp. web developers are pretty ignorant in
> bundling/copying external code. And also, most of them don't care for
> backwards compatibility.
> For example: Django developers: they said about the request to unbundle: Not
> having external dependencies is a design choice of Django.
> Django still uses jquery 1.4.2, and I don't see, this will change in the
> near future.
agreed, in such cases we should respect the decision of upstream.
> jquery's release notes list some changes affecting backwards compatibility:
> When breaking other's packages by upgrading to newer versions, you're also
> requested to fix those issues. I'm sure, I don't want to do that.
I think we must provide different jquery packages right from the beginning i.e.: jquery1.7; jquery1.8 and use them explicitly as deps in the packages. If the maintainer knows for sure that his app supports the next jquery release he can bump it manually and go to a "higher" jquery package.
Node.js is now available in Fedora 18 and Rawhide and should no longer block this package.
(In reply to comment #7)
> Node.js is now available in Fedora 18 and Rawhide and should no longer block
> this package.
aye, node.js is a big step forward but I need also npm to install 'grunt'. The JQuery buildsystem has changed quite a bit in recent releases.
Are you planning to package nodejs-grunt* (also grunt-init, grunt-cli). I've looked briefly over them and I worry that not all nodejs deps for grunt are fulfilled in fedora 18.
I need a test case to finish up npm2rpm, so might as well kill two birds with one stone. ;-)
For the record, the missing deps are:
│ └── email@example.com
│ └─┬ firstname.lastname@example.org
│ ├── email@example.com
│ └── firstname.lastname@example.org
I can probably get these up for review next week sometime.
Oops, forgot about grunt-cli and grunt-init. The full list of packages is really:
│ ├── email@example.com
│ ├── firstname.lastname@example.org
│ ├── email@example.com
│ ├─┬ firstname.lastname@example.org
│ │ └── email@example.com
│ ├── firstname.lastname@example.org
│ ├── email@example.com
│ ├─┬ firstname.lastname@example.org
│ │ └─┬ email@example.com
│ │ ├── firstname.lastname@example.org
│ │ └── email@example.com
│ ├── firstname.lastname@example.org
│ └── email@example.com
│ ├─┬ firstname.lastname@example.org
│ │ └── email@example.com
│ └── firstname.lastname@example.org
│ ├── email@example.com
│ └── firstname.lastname@example.org
If you want to help out with getting a head start on the reviews that will be needed, one of grunt-init's deps (winston) is already awaiting review in bug 911060.
I didn't realise you'd made a fancy list of dependencies T.C.! I would have used it if I'd bothered to look.. Anyway I've packaged grunt, grunt-cli and grunt-init and they're all now up for review :)
(In reply to Jamie Nguyen from comment #12)
> I didn't realise you'd made a fancy list of dependencies T.C.! I would have
> used it if I'd bothered to look.. Anyway I've packaged grunt, grunt-cli and
> grunt-init and they're all now up for review :)
That list was actually generated by npm. To get it, do something like:
npm install bar
Comes in handy when figuring out exactly how much work something will be to package. ;-)
devDependencies for jquery that still need to be packaged:
Also, this one is ineligible for Fedora due to its use of the "evil" JSON license, and will need to be patched out:
It's only used in the test suite so that's not a big deal.
Can't see sizzle between dependencies you list ...
This bug is now being closed duplicate of the review request for js-jquery1, which provides the latest version of the 1.x jQuery branch. Most web applications depend on this version.
If your application depends on jQuery 2.x, please manually change its dependency to bug 1078368. Thanks!
*** This bug has been marked as a duplicate of bug 1078371 ***