The code has never belonged into the BasicPluginsDeployer anyway. This
also makes calling the basic deployer's default code optional to
custom deployers.
This commit further puts a note in all existing deployers which call
the default deployment code for future developers.
Also removes static prefix of most functions, as you can't declare
static methods more than once (e.g., by including a header more than
once, by accident or intentionally).
Should overall speed up compilation a bit.
Gtk 2 platform theme & style is deployed by default if possible.
By setting the DEPLOY_PLATFORM_THEMES environment variable all themes
and styles can be deployed. This feature is experimental, and might
lead to segfaults etc. Use with care.
* Revert "Disable tests until further notice"
This reverts commit 6ecd2fb1e0.
* Revert "Needs libGL for some reason"
This reverts commit 65550198e0.
* Revert "Don't need to ship the egl version for x86 and amd64"
This reverts commit a559d1525c.
* Revert "Fix tests mk. 2"
This reverts commit 31f8509d4b.
* Revert "Fix tests"
This reverts commit 2765eaf2f2.
* Revert "Fix package name"
This reverts commit a071ef73e6.
* Revert "Need an additional package now"
This reverts commit 7c1c92bd76.
* Revert "Upgrade to xenial to get wayland packages"
This reverts commit b10b5b0a8c.
* Revert "UI deployments require wayland libraries now"
This reverts commit 5711608a60.
* Revert "Add experimental wayland integration support"
This reverts commit 661d8320
Seems like 0.10 breaks Qt libraries which expect a symbol called
qt_version_tag in a specific section in the symbols. Patchelf breaks
this by apparently moving the symbols to another section
(section 15 vs. 13).
We found out by looking into the readelf outputs of libQt5Core.so.5.
@azubieta spotted the different numbers, and looked up their meaning.
linuxdeployqt uses the patchelf binaries Debian jessie provides, which
is 0.8. Therefore we try to build that version from source instead,
hoping that this version won't break libraries.
If that doesn't work either, we'll try with the pre-built binaries.
Plugin for linuxdeploy to bundle Qt dependencies of applications and libraries.
***More information will follow soon!***
## About
linuxdeploy is a tool to create and maintain AppDirs, which can be turned into application bundles like AppImages.
linuxdeploy-plugin-qt is a bundling plugin for linuxdeploy. If an application uses Qt, linuxdeploy-plugin-qt will bundle all the Qt plugins and resources such as QML files or translations.
As linuxdeploy plugins are standalone applications, this software can also be run standalone. However, usage as a plugin from linuxdeploy is highly encouraged.
## Usage
As all linuxdeploy plugins, linuxdeploy-plugin-qt is a standalone tool implementing the so-called [Plugin Specification](https://github.com/linuxdeploy/linuxdeploy/wiki/Plugin-system). Therefore, there's two ways of using it: in "plugin mode" (i.e., together with linuxdeploy), or "standalone mode" (i.e., calling it directly).
The most widely and also recommended method is to use it together with linuxdeploy.
### Plugin mode
Just download the plugin's official AppImage, and put it next to linuxdeploy's AppImage (alternatively, put it into one of the other [search locations](https://github.com/linuxdeploy/linuxdeploy/wiki/Plugin-system#plugin-discovery)). Make sure the AppImage is executable, otherwise it cannot be called by linuxdeploy.
To enable the plugin, just call linuxdeploy as follows:
That's it! All you have to add is `--plugin qt`, and the plugin will be called by linuxdeploy.
**Note:** If the application doesn't use Qt, linuxdeploy-plugin-qt will return an error. That's expected behavior, as it might help discover issues when a program is expected to use Qt but suddenly does not any more.
### Standalone mode
To use linuxdeploy-plugin-standalone, download the official AppImage, make it executable and run it like:
linuxdeploy-plugin-qt will look for Qt libraries in the library directory `usr/lib/` and deploy the Qt plugins and other resources for these. This means that if linuxdeploy or another tool haven't been run on the AppDir yet, i.e., no Qt libraries have been deployed yet, linuxdeploy-plugin-qt won't be able to recognize which plugins and resources have to be deployed, and will return an error.
### Environment variables
Just like all linuxdeploy plugins, the Qt plugin's behavior can be configured some environment variables.
**General:**
-`$DEBUG=1`: enables verbose output, useful for debugging (equal to linuxdeploy's `-v0`)
-`$LD_LIBRARY_PATH=pathA:pathB`: Paths to check for library dependencies (see `man ld.so` for more information)
**Qt specific:**
-`$QMAKE=/path/to/my/qmake`: use another `qmake` binary to detect paths of plugins and other resources (usually doesn't need to be set manually, most Qt environments ship scripts changing `$PATH`)
-`$EXTRA_QT_PLUGINS=pluginA;pluginB`: Plugins to deploy even if not found automatically by linuxdeploy-plugin-qt
QML related:
-`$QML_SOURCES_PATHS`: directory containing the application's QML files -- useful/needed if QML files are "baked" into the binaries
-`$QML_MODULES_PATHS`: extra directories containing imported QML files (normally doesn't need to be specified)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.