summaryrefslogtreecommitdiff
path: root/doc/scripts.mdwn
blob: da9e65ba3a7d487fa32141786ac1677dcfaf8b43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Scripts

The Plinth front end should not directly change any aspect of the
underlying operating system.  Instead, it should call upon scripts,
either by shell command or (for python modules) via import.

Scripts live in `/scripts`.  They should have the following
characteristics:

* Do only one thing

* Require no interaction beyond passing parameters or commandline
  arguments

* Change the operation of the services and applications of the Freedom
  Plug and nothing else.

* If a script is a python file, it should be *both* usable from the
  commandline and importable as a python module.

The scripts should be of general utility.  They should be usable to
admin and configure the system even in the absence of Plinth.  These
scripts are the only supported method of making changes to a Freedom
Plug, whtether by SSH or via Plinth.