Packaging a web app that bundles a lot of stuff (OctoPrint)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux