About the provided tryton-sao-X.Y.Z.gz archive


(Sebastien Marie) #1

On a recent thread it was discussed about sao size that need to be deployed. In order to avoid hijacking the thread with a side question, I am starting a new one here.

Currently, sao is available in two versions:

  • a development version (via hg.tryton.org)
  • a “compiled” package via (via downloads.tryton.org) – by compiled I mean, concat & minified and all the stuff npm did on it at build-time.

But I have a problem with the “compiled” package as it isn’t self-contained: lot of dependencies are still required to be present, and aren’t provided with the archive (like jquery, bootstrap, moment, …)

To get them, it seems to be required to run npm and grunt first, and so the usefullness of the “compiled” package is extremely low.

Do you think it would be useful/doable to provide a complete tarball with all runtime dependencies included ? The deployment would be lot more simple (as it would be just a tarball extraction)

And as I am on tryton-sao archive, I would add that the current layout for the archive is a bit unusual: tryton-sao-5.0.1.tgz contains a package/ directory with all the stuff inside, whereas it would be more expected to have a tryton-sao-5.0.1/ directory. But it is only a detail.


(Cédric Krier) #2

You can also just extract the dependencies (without npm nor grunt) like you would do with sao.
This is how Gentoo packages are made.

The main issue is update and security fixes. We do not want to have to track all the dependencies.


(Sebastien Marie) #3

yes, it is understandable


(Priit Laes) #4

If you want to create a basic distributable zip file for deployment, you can see following ticket / patch:
https://bugs.tryton.org/issue7046
https://codereview.tryton.org/37911002


(Sebastien Marie) #5

thanks, but I think an additionnal target in sao doesn’t solve the problem.

I would add that proper cleanup of bower_components is a must-have : you could switch from 55Mo to 9Mo by including only the required files.

fow now, I am using a simple script to download and extract the bower dependencies.