-
Notifications
You must be signed in to change notification settings - Fork 85
linuxdeploy.conf
Similar to Qt's qt.conf
, linuxdeploy and its plugins may populate a linuxdeploy.conf
inside the AppDir's usr/bin
directory, i.e., next to the binaries, to provide additional context information to the applications after they have been bundled by it.
This configuration file is primarily useful for output plugins like linuxdeploy-plugin-native_packages which can let the application know it was packaged as a certain kind of package in a certain location (which they may need to set up paths correctly, e.g., to make sure the AppRun
entrypoint is called from files like autostart configs they write to make sure input plugins' hooks are executed correctly and set up the environment accordingly (possibly fixing look and feel or accessibility issues, e.g., in the Qt plugin's case).
The file is formatted as an INI-style configuration. It is supposed to contain multiple sections, with every plugin, either input or output, adding its own section.
The format is supposed to be at least compatible both with Qt's QSettings class as well as Python's configparser module.
Sections are identified by the according plugin's name without the linuxdeploy-plugin-
prefix. For instance, linuxdeploy-plugin-appimage
writes to [appimage]
, whereas linuxdeploy-plugin-native_packages
writes to native_packages
.
In this example, the native_packages
output plugin could write its package type to .../AppDir/usr/bin/linuxdeploy.conf
:
...
[native_packages]
package_type = DEB
Another example would be having the appimage
output plugin write the AppImage type to the file:
...
[appimage]
type = 2
For the moment, linuxdeploy itself does not have any information to write to this file. This might change in the future, however, for now, it will not create the file itself.
Plugins that wish to add information are encouraged to create the file if it does not exist.
Applications that process the information should expect the file to be unavailable. They need to use something like QCoreApplication::applicationDirPath()
to find the path the current executable resides in, which should be the location of linuxdeploy.conf
.