Hi,
I would like to package OctoPrint [1], a webapp that host 3D printers.
I started with building a (somehow) working package in Copr [2][3]. This
package probably doesn't follow FHS and violates other guidelines as
well, but that's not the issue right now.
What bothers me, if I want OctoPrint in Fedora (and I do) is bundling.
Currently, upstream OctoPrint bundles a lot of stuff [4]:
* Twitter Bootstrap
* jQuery stuff
* AVLTree
* Knockout
* LESS
* Modernizr
* SockJS client
* underscore.js
* Font Awesome
I've never packaged a webapp into Fedora but I think that all the
standard rules like no bundled libraries apply here as well.
So the situation here is:
1) bootstrap and jquery are packaged in Fedora as rubygems while
OctoPrint is witten in Python. I'm not really into shiping all Ruby (and
Rails) only to have bootstrap and jquery. Not to mention that the
version in those rubygems is probably not the same as in OctoPrint.
2) underscore.js is packaged as nodejs package and we have the same
problem (if the thing in package is the same thing as in OctoPrint at all).
3) AVLTree is not in Fedora at all, but the js file in OCtoPRint is
different form "uspream" - single js. file on gist.github.com
4) Knockout is not in Fedora, but upstream version [5] is one year in
front of what is bundled in OctoPrint. Modernizr is not packaged and
upstream version is ahead as well.
5) LESS is packaged as nodejs package and pull nodejs with it. Also,
completely different version than in OctoPrint
6) We do have python-sockjs-tornado in Fedora, witch is a dependency of
OctoPrint as well, but I see no client packaged. However, the latest
upstream version is in OctoPrint.
7) Font Awesome is being reviewed [6], but exist as texlive- package as well
While I'm probably able to package all unpackaged bundles in Fedora and
deal with different versions communicating with upstream, I'm not quite
sure with all stuff that's depending on Node.js, TeX or Ruby. I don't
want this Python app to pull all this.
Should I just pull the deps and don't care? Is this just a big red
light, saying: No, this will never hit Fedora? Or what is a desired
approach here?
Thanks for any help with this.
[1] http://octoprint.org/
[2] https://github.com/hroncok/SPECS/blob/master/octoprint.spec
[3] http://copr.fedoraproject.org/coprs/churchyard/octoprint/
[4] https://github.com/foosel/OctoPrint/tree/master/octoprint/static/js/lib
[5] http://knockoutjs.com/
[6] https://bugzilla.redhat.com/show_bug.cgi?id=1026376
--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
--
packaging mailing list
packaging@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/packaging