linuxdeployqt icon indicating copy to clipboard operation
linuxdeployqt copied to clipboard

How to add extra plugins in the build dir?

Open trmdi opened this issue 3 years ago • 5 comments

Please see this file: https://download.opensuse.org/repositories/home:/trmdi:/test/AppImage/ (yml file: https://build.opensuse.org/package/view_file/home:trmdi:test/latte-dock/appimage.yml?expand=1)

I have 2 questions:

1, it seems that linuxdeployqt uses usr/lib and usr/plugins, while openSUSE uses usr/lib64 and usr/lib64/qt5/{plugins,qml}. How to tell linuxdeploy to use the path like openSUSE? 2, as you see in the appimage file, there are still some files remain in the build dir at usr/lib64/qt5. How to tell linuxdeployqt import those files?

trmdi avatar Jan 28 '21 16:01 trmdi

How to tell linuxdeploy to use the path like openSUSE?

As far as I remember, this is not possible. AppImages made with linuxdeployqt use the "normalized" FHS-like structure with ?usr/lib and usr/plugins.

there are still some files remain in the build dir at usr/lib64/qt5

Probably the make install step of the build process of the application has put them there? Just move them to the locations which linuxdeployqt is using.

If you don't like this, then you may want to look into the newer appimagetool deploy in go-appimage, which tries to use the filesystem structure of the host system.

Things like this have made me use FreeBSD as my daily driver. No more different distributions that all break things slightly differently to worry about.

probonopd avatar Jan 28 '21 17:01 probonopd

Probably the make install step of the build process of the application has put them there? Just move them to the locations which linuxdeployqt is using.

Ok, I am trying it. Thank you. :D

trmdi avatar Jan 28 '21 18:01 trmdi

Excuse me, I created a custom AppRun file but why it is overwritten ? https://github.com/probonopd/linuxdeployqt/blob/d41e2345694e6d09820df66e5edb6e8c01db9fb9/tools/linuxdeployqt/main.cpp#L381

Edit: solved. you have to chmod 755 it.

trmdi avatar Jan 29 '21 11:01 trmdi

Some plugins are still linked to the system's libraries. For example:

▶ ldd usr/plugins/plasma_containmentactions_lattecontextmenu.so | grep libQt5Quick
        libQt5Quick.so.5 => /usr/lib64/libQt5Quick.so.5 (0x00007f51d4717000)

/tmp/.mount_latte-WGN0AS                                                           
▶ find usr/lib -name libQt5Quick.so.5
usr/lib/libQt5Quick.so.5

How can I solve this?

Edit: solved. Use "-executable=usr/path/to/file.so"

trmdi avatar Jan 30 '21 04:01 trmdi

If the system qml dir is at /usr/lib64/qt5/qml and the app qml dir is at $BUILD_APPDIR/usr/qml then:

  • what is -qmlimport=?
  • what is -qmldir=?

Edit: Ah, I partly understood it:

  • qmlimport should point to the QML module dirs
  • qmldir should point to $BUILD_APPDIR/usr/qml

trmdi avatar Jan 30 '21 07:01 trmdi

@trmdi Hi! I saw that you were trying to build Latte-Dock as an AppImage. I'm interested in doing the same thing and was wondering if you were able to get it working. Have you had any success with this? If so, could you please share the steps you took to create the AppImage? Thank you!

aziham avatar Apr 26 '23 15:04 aziham

Probably it would be best to ask the author of Latte-Dock to provide an officially supported AppImage.

probonopd avatar Apr 26 '23 18:04 probonopd

Probably it would be best to ask the author of Latte-Dock to provide an officially supported AppImage.

He's dropped it so some people want to make the appimage in order to isolate it with the system library, I guess.

trmdi avatar Apr 27 '23 01:04 trmdi

@aziham I tried that but didn't succeed. :(

trmdi avatar Apr 27 '23 01:04 trmdi

Probably it would be best to ask the author of Latte-Dock to provide an officially supported AppImage.

@probonopd

As @trmdi have mentioned, psifidotos (the creator of Latte-Dock) is no longer maintaining the software. It might not be possible to ask the author to provide an officially supported AppImage under these circumstances.

aziham avatar Apr 27 '23 10:04 aziham

@aziham I tried that but didn't succeed. :(

@trmdi I was hoping that you could package Latte-dock as an AppImage. I tried doing it myself but was unsuccessful ☹️

My idea was to package Latte-dock along with necessary applets such as window title, global menu, virtual-desktop-bar, etc. I planned to use this package as a standalone program in my next minimal setup, which comprises only of a tiling window manager without a desktop environment.

The reason behind moving away from KDE Plasma is that dotfiles are scattered all over the place, which makes it difficult to keep track of all configurations even with dotfile managers like Chezmoi. Additionally, some KDE programs mix config and state in the same file, which adds to the complexity.

To create a custom setup with a similar Plasma workflow, the only missing piece for me is Latte-dock. Unfortunately, I haven't been able to find a bar that includes both a global menu and virtual desktops applet.

aziham avatar Apr 27 '23 11:04 aziham