bdist_appimage¶
AppImage¶
An AppImage is a downloadable file for Linux [1] that contains an application and everything the application needs to run (e.g., libraries, icons, fonts, translations, etc.) that cannot be reasonably expected to be part of each target system.
AppImages are simple to understand. Every AppImage is a regular file, and every AppImage contains exactly one app with all its dependencies. Once the AppImage is made executable, a user can just run it, either by double clicking it in their desktop environment’s file manager, by running it from the console etc.
It is crucial to understand that AppImage is merely a format for distributing
applications. In this regard, AppImage is like a .zip file or an
.iso file.
bdist_appimage command options¶
When cx_Freeze calls appimagetool to create an AppImage
application bundle, it builds a read-only image of a build_exe
directory, then prepends the runtime file, the entrypoint, a desktop file,
icon from Executable.icon option (or a default icon)
and an optional update information, and finally marks the .AppImage
file as executable.
cxfreeze bdist_appimagepython setup.py bdist_appimage
The following options are available for the command:
- appimagetool¶
path to appimagetool [default: the latest version is downloaded]
- runtime-file¶
path to type2 runtime [default: the latest version is downloaded]
- sign¶
sign with gpg or gpg2
- sign-key¶
key ID to use for gpg/gpg2 signatures
- updateinformation¶
embed update information STRING (or ‘guess’) and generate zsync file
- target-name¶
name of the file to create; if the name ends with “.AppImage” then it is used verbatim, otherwise, information about the program version and platform will be added to the installer name [default: metadata name or the name of the first executable]
- target-version¶
version of the file to create [default: metadata version if available]
- bdist-base¶
base directory for creating built distributions
- build-dir¶
directory of built executables and dependent files
- dist-dir¶
directory to put final built distributions in [default: “dist”]
- skip-build¶
skip rebuilding everything (for testing/debugging)
- silent¶
suppress all output except warnings
Added in version 7.0: bdist_appimage command.
Changed in version 8.5: Renamed the appimagekit option to appimagetool option.
Added in version 8.5: runtime-file, sign, sign-key and
updateinformation options.
Signing AppImages¶
AppImages can be digitally signed by the person that who produced the AppImage,
who at creation time uses sign or sign-key options.
See also
Making AppImages updateable¶
To make an AppImage updateable, you need to embed information that describes where to check for updates and how into the AppImage. The update information always travels alongside the application, so that the end user does not have to do anything special in order to be able to check for updates.
Use updateinformation to embed update information (as specified in
the AppImageSpec) and generate the corresponding .zsync file you can
upload to the place mentioned in the update information.
A special value guess can be used to guess update information based on
GitHub or GitLab environment variables.
Here is an example of usage:
[tool.cxfreeze.bdist_appimage] updateinformation = "zsync|https://example.com/path/simple/simple.AppImage.zsync"TODO
The string “zsync|…” is called the update information.
See also