prepare installable debian package
Things to consider:
-
CHANGELOG must be available in the source-code (deb package must have a changelog) -
configuration files should be in /etc/smasch/
. It should consist at least of:local_settings.py
,gunicorn.socket
. The files should be symlinked to source files. Config files must have 0600 privileges (database credentials are in plain text) -
smasch sources should be located at /usr/lib/smasch/
(- /opt/ shouldn't be used by packages according to debian/lintian rules)/opt/smasch/
-
log files should go to /var/log/smasch/
. There should besmasch.log
andgunicorn.log
. Consider rotation of log files. -
smasch sources should be owned by user smasch:smasch
-
gunicorn service should be created together with the installation. gunicorn
service should be run by usersmasch:smasch
-
the basic installation should maybe depend on the sqllite
db (check how difficult it is to use with current migration scripts), however database should be configured bydbconfig-common
(https://www.debian.org/doc/manuals/dbconfig-common/ch-develguide.html) - don't introduce nginx proxy - describe it in the documentation
- statics/media would have to be served by gunicorn - describe in documentation how to do it with nginx
Edited by Piotr Gawron