Add KDE Connect qml file directory for macOS package
Needs ReviewPublic

Authored by Inoki on Aug 14 2019, 7:30 AM.

Details

Reviewers
vonreth
Group Reviewers
KDE Connect
Summary

macdeployqt needs to find and link relevant libs imported by qml.

There are 4 components which are using qml:

  1. KDE Connect qml application
  2. KDE Connect sms application
  3. Presenter plugin
  4. KDE Connect sftp browser

But 1 and 2 are linked with libkdeconnectcore, thus they are indirectly linked to qca-qt5. So, qmldir of 1 and 2 will be added after KDE Connect getting rid of qca-qt5 :)

Diff Detail

Repository
R877 Craft Blueprints for KDE
Lint
Lint Skipped
Unit
Unit Tests Skipped
Inoki requested review of this revision.Aug 14 2019, 7:30 AM
Inoki created this revision.

So libkdeconnectcore links the lib and not the framework?

Inoki added a comment.EditedAug 14 2019, 9:12 AM

So libkdeconnectcore links the lib and not the framework?

Yes, Craft copied qca-qt5 from qca-qt5.framework/ into Framekworks. And add this in libkdeconnectcore:
@executable_path/../Frameworks/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)

And after macdeployqt, some libs in Frameworks/ are "fixed" with qca-qt5.framework/Versions/2.2.0/qca-qt5 when 1 or 2 are applied.

➜  Frameworks otool -L *.dylib | grep qca-qt5
	@executable_path/../Frameworks/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
	@executable_path/../Frameworks/qca-qt5.framework/Versions/2.2.0/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
	@executable_path/../Frameworks/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
	@executable_path/../Frameworks/qca-qt5.framework/Versions/2.2.0/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
	@executable_path/../Frameworks/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
	@executable_path/../Frameworks/qca-qt5 (compatibility version 2.0.0, current version 2.2.0)
Inoki added a comment.Aug 14 2019, 9:38 AM

I found 2 libs which are changed and recovery them in command line, it works:

➜  Frameworks install_name_tool -change @executable_path/../Frameworks/qca-qt5.framework/Versions/2.2.0/qca-qt5 @executable_path/../Frameworks/qca-qt5 libkdeconnectcore.1.dylib
➜  Frameworks install_name_tool -change @executable_path/../Frameworks/qca-qt5.framework/Versions/2.2.0/qca-qt5 @executable_path/../Frameworks/qca-qt5 libkdeconnectinterfaces.1.dyli

What's the status of this?

Inoki added a comment.Apr 16 2020, 7:31 PM

What's the status of this?

The same crash exists

0x107f23000 - 0x107fc1fff +qca-qt5 (0) <8AD89D12-B4D4-391E-B94A-83EE3451217D> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/qca-qt5
0x108015000 - 0x1080fcff7 +libKF5KIOCore.5.dylib (0) <324D7639-3586-34F5-8726-CFA71EF78EC3> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5KIOCore.5.dylib
0x108155000 - 0x108264ffb +org.qt-project.QtNetwork (5.13 - 5.13.2) <47A9036B-7DF1-38B6-BDD9-E9D46D0B30F0> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
0x1082b8000 - 0x1082cbff3 +libKF5JobWidgets.5.dylib (0) <C5982CAB-B254-3FEF-9A45-90544D07463D> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5JobWidgets.5.dylib
0x1082de000 - 0x108346fff +libKF5Service.5.dylib (0) <37A3F947-F6E2-391C-A2CE-1A303D3B5B47> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5Service.5.dylib
0x10836b000 - 0x108375ffb +libKF5DBusAddons.5.dylib (0) <58FCAA96-716D-32C4-A4ED-8CF6EC2353A2> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5DBusAddons.5.dylib
0x108386000 - 0x1083a4fff +libKF5Completion.5.dylib (0) <CD8726C4-ECB5-3A44-AEA6-F0403A31DD87> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5Completion.5.dylib
0x1083c2000 - 0x1083c6fff +org.qt-project.QtConcurrent (5.13 - 5.13.2) <8B762AFF-7376-3186-B7E8-B6D07F09146D> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent
0x1083cc000 - 0x10840efff +libKF5I18n.5.dylib (0) <7EFF4D05-7D11-34ED-9E49-08C4A00D320D> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5I18n.5.dylib
0x10841c000 - 0x1084bfff3 +libKF5WidgetsAddons.5.dylib (0) <ABE784D7-4E61-3255-B365-3B133D26B0CD> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5WidgetsAddons.5.dylib
0x10853b000 - 0x10897efff +org.qt-project.QtWidgets (5.13 - 5.13.2) <E79BCD61-8EFB-38A5-B3C7-6344FC04CF95> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets
0x108ae8000 - 0x108f43fe3 +org.qt-project.QtGui (5.13 - 5.13.2) <C1CF333B-79AF-3FD0-98B4-70CED7859C12> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtGui.framework/Versions/5/QtGui
0x10904c000 - 0x1090b4ffb +libKF5CoreAddons.5.dylib (0) <330725C0-104E-323E-A498-B78E1E3084D1> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5CoreAddons.5.dylib
0x1090e0000 - 0x109117ff3 +libKF5ConfigCore.5.dylib (0) <4681230A-3972-3381-89D5-C1CF508E4D9B> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/libKF5ConfigCore.5.dylib
0x109138000 - 0x109196fff +org.qt-project.QtDBus (5.13 - 5.13.2) <6F3B1A77-8111-3841-90D7-A57E1A7088B5> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtDBus.framework/Versions/5/QtDBus
0x1091b3000 - 0x1096d8fff +org.qt-project.QtCore (5.13 - 5.13.2) <0F7AF092-D7BB-323E-9BF2-05A7AA4452A9> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore
0x109797000 - 0x109835fff + (??? - ???) <8AD89D12-B4D4-391E-B94A-83EE3451217D> /Users/USER/*/kdeconnect-indicator.app/Contents/Frameworks/qca-qt5.framework/Versions/2.2.0/qca-qt5