annotate doc/installation.rst @ 3439:b166a59b1724

tests, doc(testing): added `pytest-dependency` plugin to `backend_e2e` image + doc
author Goffi <goffi@goffi.org>
date Fri, 04 Dec 2020 12:37:38 +0100
parents dea30b1eb166
children 4705f80b6e23
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3022
03fe31effa7f doc: some corrections:
Goffi <goffi@goffi.org>
parents: 2946
diff changeset
1 .. _installation:
03fe31effa7f doc: some corrections:
Goffi <goffi@goffi.org>
parents: 2946
diff changeset
2
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 ============
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 Installation
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 ============
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
6
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 This are the instructions to install SàT using Python.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
8 Note that if you are using GNU/Linux, Salut à Toi may already be present on your distribution.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
9
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 Salut à Toi is made of one backend, and several frontends. To use it, the first thing to do is to install the backend.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
11
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
12 We recommand to use development version for now, until the release of 0.8.
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
13
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 Development version
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 -------------------
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
16
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 *Note for Arch users: a pkgbuild is available for your distribution on
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 AUR, check sat-xmpp-hg (as well as other sat-\* packages).*
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 You can install the latest development version using pip. You need to
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 have the following dependencies installed first:
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
22
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
23 - Python 3 with development headers
3383
dea30b1eb166 doc, core: typos
Goffi <goffi@goffi.org>
parents: 3369
diff changeset
24 - Python 3 "venv", which may already be installed with Python 3
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 - Mercurial
3383
dea30b1eb166 doc, core: typos
Goffi <goffi@goffi.org>
parents: 3369
diff changeset
26 - libcairo 2 with development header
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
27 - libjpeg with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 - libgirepository 1.0 with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 - libdbus-1 with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 - libdbus-glib-1 with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
31 - libxml2 with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 - libxlt2 with development headers
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 - D-Bus x11 tools (this doesn't needs X11, it is just needed for dbus-launch)
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 - cmake
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
35
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
36 On Debian and derivatives, you can get all this with following command::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
37
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
38 $ sudo apt-get install python3-dev python3-venv python3-wheel mercurial libxml2-dev libxslt-dev libcairo2-dev libjpeg-dev libgirepository1.0-dev libdbus-1-dev libdbus-glib-1-dev dbus-x11 cmake
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
39
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
40 Now go in a location where you can install Salut à Toi, for
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
41 instance your home directory::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
42
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
43 $ cd
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
44
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
45 And enter the following commands (here we install SàT with SVG support, which is needed to
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
46 display SVG avatars on some frontends)::
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
47
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
48 $ python3 -m venv sat
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
49 $ source sat/bin/activate
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
50 $ pip install wheel
3369
96b2f84a685c doc (installation): added instruction to download dev version of `sat_template`
Goffi <goffi@goffi.org>
parents: 3353
diff changeset
51 $ pip install hg+https://repos.goffi.org/sat_tmp hg+https://repos.goffi.org/sat_templates "hg+https://repos.goffi.org/sat#egg=sat[SVG]"
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
52
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
53 Don't worry if you see the following message, SàT should work anyway::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
54
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
55 Failed building wheel for pygobject
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
56
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
57 After installing SàT, you need to install the media::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
58
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
59 $ cd
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
60 $ hg clone https://repos.goffi.org/sat_media
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
61
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
62 then, create the directory ``~/.config/sat``::
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
63
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
64 $ mkdir -p ~/.config/sat
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
65
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
66 and the file ``~/.config/sat/sat.conf`` containing:
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
67
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
68 .. sourcecode:: cfg
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
69
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
70 [DEFAULT]
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
71 media_dir = ~/sat_media
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
72
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
73 Of course, replace ``~/sat_media`` with the actual path you have used.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
74
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
75 You can check :ref:`configuration` for details
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
76
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
77 Usage
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
78 =====
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
79
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
80 To launch the sat backend, enter::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
81
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
82 $ sat
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
83
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
84 …or, if you want to launch it in foreground::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
85
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
86 $ sat fg
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
87
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
88 You can stop it with::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
89
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
90 $ sat stop
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
91
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
92 To know if backend is launched or not::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
93
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
94 $ sat status
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
95
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
96 **NOTE**: since SàT v0.5.0, the backend is automatically launched when a frontend needs it.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
97
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
98 You can check that SàT is installed correctly by trying jp (the backend need to be launched first, check below)::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
99
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
100 $ jp --version
3260
e9ecd133773b doc (installation): updated instructions for backend
Goffi <goffi@goffi.org>
parents: 3022
diff changeset
101 jp 0.8.0D « La Cecília » (rev df26f1a9020a [M] (default 2020-04-14 21:01 +0200) +231) Copyright (C) 2009-2020 Jérôme Poisson, Adrien Cossa
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
102 This program comes with ABSOLUTELY NO WARRANTY;
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
103 This is free software, and you are welcome to redistribute it under certain conditions.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
104
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
105 If you have a similar output, SàT is working.
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
106
3353
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
107 .. note::
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
108
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
109 if you have the message ``/!\ D-Bus is not launched, please see README to see
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
110 instructions on how to launch it`` that mean that the D-Bus service is not launched, this
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
111 usually happens when launching SàT on a server, without graphic interface like X.org or
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
112 Wayland (in which case D-Bus service should be launcher automatically).
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
113
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
114 As the message states, instructions on how to launch the service are given in the README
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
115 file of Salut à Toi.
7726916c1ba6 doc: updated installation instructions
Goffi <goffi@goffi.org>
parents: 3260
diff changeset
116
2946
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
117 Frontends
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
118 =========
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
119
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
120 So far, the following frontends exist and are actively maintained:
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
121
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
122 Cagou
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
123 desktop/mobile (Android) frontend
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
124
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
125 Libervia
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
126 the web frontend
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
127
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
128 Primitivus
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
129 Text User Interface
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
130
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
131 jp
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
132 Command Line Interface
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
133
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
134 To launch Primitivus, just type::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
135
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
136 $ primitivus
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
137
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
138 then create a profile (XMPP account must already exist).
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
139
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
140 To use jp, follow its help::
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
141
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
142 $ jp --help
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
143
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
144
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
145 There are some other frontends:
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
146
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
147 Bellaciao
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
148 based on Qt, a rich desktop frontend (currently on hold)
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
149
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
150 Wix
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
151 former desktop frontend based on WxWidgets (deprecated with version 0.6.0)
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
152
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
153 Sententia
ce16847a7b6d doc: documentation first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
154 Emacs frontend developed by a third party (development is currently stalled)