Docs: give up on PythonQt modules

This commit is contained in:
Adriaan de Groot 2020-06-25 14:38:09 +02:00
parent fa2f91aa46
commit 6735ff1cd0

View file

@ -9,20 +9,16 @@ Each Calamares module lives in its own directory.
All modules are installed in `$DESTDIR/lib/calamares/modules`. All modules are installed in `$DESTDIR/lib/calamares/modules`.
There are two **types** of Calamares module: There are two **types** of Calamares module:
* viewmodule, for user-visible modules. These may be in C++, or PythonQt. * viewmodule, for user-visible modules. These use C++ and QWidgets or QML
* jobmodule, for not-user-visible modules. These may be done in C++, * jobmodule, for not-user-visible modules. These may be done in C++,
Python, or as external processes. Python, or as external processes.
A viewmodule exposes a UI to the user. The PythonQt-based modules A viewmodule exposes a UI to the user.
are considered experimental (and as of march 2019 may be on the
way out again as never-used-much and PythonQt is not packaged
on Debian anymore).
There are three (four) **interfaces** for Calamares modules: There are three **interfaces** for Calamares modules:
* qtplugin (viewmodules, jobmodules), * qtplugin (viewmodules, jobmodules),
* python (jobmodules only), * python (jobmodules only),
* pythonqt (viewmodules, jobmodules, optional), * process (jobmodules only, not recommended).
* process (jobmodules only).
## Module directory ## Module directory
@ -50,7 +46,7 @@ Module descriptors **must** have the following keys:
- *interface* (see below for the different interfaces; generally we - *interface* (see below for the different interfaces; generally we
refer to the kinds of modules by their interface) refer to the kinds of modules by their interface)
Module descriptors for Python and PythonQt modules **must** have the following key: Module descriptors for Python modules **must** have the following key:
- *script* (the name of the Python script to load, nearly always `main.py`) - *script* (the name of the Python script to load, nearly always `main.py`)
Module descriptors **may** have the following keys: Module descriptors **may** have the following keys:
@ -139,9 +135,8 @@ nearly all cases can be described in CMake.
Modules may use one of the python interfaces, which may be present Modules may use one of the python interfaces, which may be present
in a Calamares installation (but also may not be). These modules must have in a Calamares installation (but also may not be). These modules must have
a `module.desc` file. The Python script must implement one or more of the a `module.desc` file. The Python script must implement the
Python interfaces for Calamares -- either the python jobmodule interface, Python jobmodule interface.
or the experimental pythonqt job- and viewmodule interfaces.
To add a Python or process jobmodule, put it in a subdirectory and make sure To add a Python or process jobmodule, put it in a subdirectory and make sure
it has a `module.desc`. It will be picked up automatically by our CMake magic. it has a `module.desc`. It will be picked up automatically by our CMake magic.
@ -178,32 +173,20 @@ description if something went wrong.
## PythonQt modules ## PythonQt modules (deprecated)
> Type: viewmodule, jobmodule > Type: viewmodule, jobmodule
> Interface: pythonqt > Interface: pythonqt
The PythonQt modules are considered experimental and may be removed again The PythonQt modules are deprecated and will be removed in Calamares 3.3.
due to low uptake. Their documentation is also almost completely lacking. Their documentation is also almost completely lacking.
### PythonQt Jobmodule
A PythonQt jobmodule implements the experimental Job interface by defining
a subclass of something.
### PythonQt Viewmodule
A PythonQt viewmodule implements the experimental View interface by defining
a subclass of something.
### Python API
**TODO:** this needs documentation
## Process jobmodules ## Process jobmodules
Use of this kind of module is **not** recommended.
> Type: jobmodule > Type: jobmodule
> Interface: process > Interface: process