mirror of https://github.com/cutefishos/calamares
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
6 years ago
|
# AppImage building for Calamares
|
||
|
|
||
|
> It is possible to build Calamares as an AppImage (perhaps other
|
||
|
> containerized formats as well). This might make sense for
|
||
|
> OEM phase-1 deployments in environments where Calamares is
|
||
|
> not using the native toolkit.
|
||
|
|
||
|
## AppImage tools
|
||
|
|
||
|
You will need
|
||
|
- [`linuxdeploy-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy/releases)
|
||
|
- [`linuxdeploy-plugin-qt-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases)
|
||
|
- [`linuxdeploy-plugin-conda.sh`](https://github.com/linuxdeploy/linuxdeploy-plugin-conda)
|
||
|
|
||
|
These tools should run -- they are bundled as AppImages after all -- on
|
||
|
any modern Linux system. The [AppImage packaging documentation](https://docs.appimage.org/packaging-guide/)
|
||
|
explains how the whole tooling works.
|
||
|
|
||
|
If the tools are not present, the build script (see below) will download them,
|
||
|
but you should save them for later.
|
||
|
|
||
|
## AppImage build
|
||
|
|
||
|
From the **source** directory, run `ci/AppImage.sh`:
|
||
|
- Use `--tools-dir` to copy the tools from a local cache rather than
|
||
|
downloading them again.
|
||
|
- Run it with `--cmake-args` for special CMake handling.
|
||
|
- Use `--skip-build` to avoid rebuilding Calamares all the time.
|
||
|
- Use `--config-dir` to copy in Calamares configuration files (e.g.
|
||
|
*settings.conf* and the module configuration files) from a given
|
||
|
directory.
|
||
|
|
||
|
The build process will:
|
||
|
- copy (or download) the AppImage tools into a fresh build directory
|
||
|
- configure and build Calamares with suitable settings
|
||
|
- modifies the standard `.desktop` file to be AppImage-compatible
|
||
|
- builds the image with the AppImage tools
|
||
|
|
||
|
## AppImage caveats
|
||
|
|
||
|
The resulting AppImage, `Calamares-x86_64.AppImage`, can be run as if it is
|
||
|
a regular Calamares executable. For internal reasons it always passes the
|
||
|
`-X` flag; any other command-line flags are passed in unchanged. Internally,
|
||
|
`XDG_*_DIRS` are used to get Calamares to find the resources inside the AppImage
|
||
|
rather than in the host system.
|