Skip to content

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/smasch/ - /opt/ shouldn't be used by packages according to debian/lintian rules)
  • log files should go to /var/log/smasch/. There should be smasch.log and gunicorn.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 user smasch: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 by dbconfig-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