1
0
mirror of https://git.ikl.sh/132ikl/liteshort.git synced 2023-08-10 21:13:04 +03:00
liteshort/CONVENTIONS

34 lines
1.7 KiB
Plaintext
Raw Normal View History

TODO: Move to wiki
The following is a description of design philosphies and standards for liteshort. This document is mostly for developers, however if you are interested feel free to take a peek.
DESIGN PHILOSPHIES:
- Liteshort should be light on hardware resources. It doesn't need to be as minimal as possible, however it should never use excessive amounts of memory or CPU time.
- Liteshort should have readable code. Readability is more important than small performance gains.
- Liteshort should be easily configurable. If something could be an option, it should be.
- Liteshort should be simple to install and maintain. Installing should be a simple process, whether from a package manager or when installing from source.
- Liteshort should follow system design standards. This includes basic Unix design principles and the Filesystem Hierarchy Standard.
PROPOSAL FOR A DEBIAN PACKAGE
File Structure:
x Debug Executable file: liteshort in $PATH
x Hashpw executable file: lshash in $PATH
x Source directory: system Python module folder (eg. /usr/lib/python3/dist-packages/liteshort)
x Config directory: /etc/liteshort/ OR appdirs.site_config_dir OR appdirs.user_config_dir
- Socket file (if applicable): /run/liteshort.sock
Pypi Package:
The PyPi package should provide no more than the following:
x Install source to Python package directory
x Install template config files
x Install debug executables installed
x Install minimum requirements (no uwsgi)
Debian Pacakge:
The Debian package should provide no more than the following:
- Install uwsgi
- Install and enable systemd service
- Should be based upon pybuild, as to prevent redundant packaging