Repository navigation
Conversation
This is to let QtKeychain find the dbus library.
|
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
erikjv
marked this pull request as draft
September 28, 2026 15:49
Add with_egl, with_libjpeg, and qtwayland options to match the artifact builder's conanfile, ensuring the pre-built packages in Artifactory have matching package IDs. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Ensures package IDs match by using the exact same option declarations in the same format (default_options dict vs configure method). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Change build_type from Release to RelWithDebInfo for debug symbols. Fix compiler.version from 13 to 11 to match AlmaLinux 9's GCC. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This header no longer exists on master. It was incorrectly kept during the cherry-pick conflict resolution. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
glib pulls in libffi which fails to build with Apple clang 17. glib is only needed on Linux (for D-Bus); on macOS harfbuzz works without it. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Standalone script that runs cmake --install into an AppDir and calls linuxdeploy to produce an AppImage. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
When qmake is not on PATH, search the Conan cache as a fallback. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt needs QT_PLUGIN_PATH and QML2_IMPORT_PATH to find Qt plugins when Qt is installed in a non-standard location (e.g. Conan cache). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt crashes with a filesystem_error when a plugin directory (e.g. printsupport) doesn't exist in the Qt prefix. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Removes NO_STRIP=1 so debug symbols are stripped, significantly reducing AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Split linuxdeploy into populate + package steps with a full file listing in between, to identify unnecessary files for size reduction. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Remove dev files (headers, cmake, static libs), unnecessary Qt modules (Designer, Help, UiTools, Test, WaylandCompositor), tool translations, and other build artifacts to reduce AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The two-step linuxdeploy flow (populate then package) doesn't strip automatically. Add an explicit strip step in the cleanup phase. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Remove FluentWinUI3 (Windows-only), Imagine, NativeStyle, Particles, VectorImage, ShaderTools, and additional tool translations to reduce AppImage size. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
These are pulled in by -devel packages in the build container but are not needed at runtime (Athena/Xt widgets, unused X extensions). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Markdown rendering in text widgets is not needed by the client. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
erikjv
force-pushed
the
feat/conan-artifactory
branch
from
October 6, 2026 17:00
db3443c to
535c154
Compare
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The bundled glib crashes with a type registration assertion when it loads GIO modules compiled against a different system glib version. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The Conan Qt recipe creates transitive link dependencies that pull Designer, Help, UiTools, QuickTest, ShaderTools, PrintSupport, and WaylandCompositor into the binary. Removing them from the AppDir causes crashes due to symbol resolution falling back to system libs. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
These require a Conan Qt package rebuild before they take effect. - designer/assistant: we only need linguist tools from qttools - md4c: markdown rendering in text widgets is not needed Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Qt 6.8.3 -> 6.11.1 - zlib 1.3.1 -> 1.3.2 - sqlite3 3.49.1 -> 3.51.3 - openssl 3.4.2 -> 3.4.8 - Minimum Qt version in CMakeLists bumped to 6.11 Requires CCI sync (owncloud/conan-center-index#65) and a Conan package rebuild before the client can be built. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Upstream pruned cmake/3.30.0. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Matches CMAKE_OSX_DEPLOYMENT_TARGET in CMakeLists.txt and the minimum macOS version supported by Qt 6.11. Added cross-reference comments to keep both in sync. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
544 QML designer support files were being bundled by linuxdeploy-plugin-qt. These are only used by Qt Designer, not at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Extract the Conan package lib paths from the binary's RPATH and prepend them to LD_LIBRARY_PATH before running linuxdeploy. This ensures linuxdeploy bundles the Conan-built glib (2.86) instead of the system glib from the build container, avoiding version conflicts on the target system. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
readelf may report RUNPATH instead of RPATH. Also add || true to prevent pipefail from aborting on empty grep results. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Replace fragile shell grep/sed pipeline with a Python script that reliably parses readelf output across distributions. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy resolves dependencies from system paths, not LD_LIBRARY_PATH. Pre-populate the AppDir with Conan-built shared libraries (glib, libffi, libsecret, etc.) so linuxdeploy finds them there instead of bundling incompatible system versions from the build container. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Only copy from lib directories, not plugin directories. Qt plugins are handled separately by linuxdeploy-plugin-qt via QT_PLUGIN_PATH. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt expects plugins at usr/plugins/ when it finds the corresponding Qt libs in usr/lib/. Copy Qt plugins from Conan cache preserving the subdirectory structure. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Enable --verbosity=2 for easier debugging. Create platforminputcontexts dir in both Qt prefix and AppDir to prevent linuxdeploy-plugin-qt crash. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt crashes when it finds a Qt module whose plugin directory doesn't exist in the AppDir. Instead of listing individual dirs, copy the entire Qt plugins tree from the Conan Qt prefix. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
mkdir -p the plugins dir before copying, and drop -n flag so Conan-built plugins overwrite any system ones. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt crashes when iterating a plugin category that doesn't exist as a directory, even if no plugins were built for it. Create all standard plugin subdirectories unconditionally. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt runs qmlimportscanner during QML deployment. It needs to be on PATH. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
qmake -query QT_INSTALL_PREFIX returns the AppDir path when a qt.conf is present there. Derive the Qt Conan directory from qmake's actual filesystem location instead, so qmlimportscanner and plugins are found in the Conan cache. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Setting QT_PLUGIN_PATH causes linuxdeploy-plugin-qt to iterate all plugin dirs in that path, crashing on missing subdirectories (e.g. printsupport when PrintSupport is disabled). Without QT_PLUGIN_PATH, it uses qmake -query QT_INSTALL_PLUGINS which works correctly. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
linuxdeploy-plugin-qt iterates plugin dirs from qmake -query and crashes on any missing subdirectory. Create all standard Qt plugin directories in both locations. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
cp without -a dereferences symlinks, tripling the AppDir size (libQt6Gui.so, .so.6, .so.6.11.1 each as full copies instead of the last one being real and the others being symlinks). Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Qt's glib event loop integration causes a constructor ordering crash in AppImage: Qt6Core initializes before libgobject and calls gobject type system functions that aren't ready yet. The client doesn't need glib integration — Qt's own event loop works for all our use cases. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
glib was statically linked into libownCloudLibSync, creating duplicate glib symbols that shadowed the dynamic glib at runtime. This caused gobject's type system initialization to fail because it used the uninitialized static copy instead of the initialized dynamic one. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cherry-picked and rebased from #12179 onto current master.
Test plan
conan build . --profile=.conan/profiles/ubuntu-latest-x86_64.conanprofile