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