Thanks to visit codestin.com
Credit goes to github.com

Skip to content

linuxdeploy.conf

TheAssassin edited this page Oct 27, 2023 · 2 revisions

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.

Rationale

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).

File format

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.

Example

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

Availability

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.

Implementing support in applications

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.

Clone this wiki locally