Skip to content

Commit 2f2fd5c

Browse files
committed
Use patchelf
1 parent b681e56 commit 2f2fd5c

File tree

3 files changed

+43
-40
lines changed

3 files changed

+43
-40
lines changed

.circleci/config.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ jobs:
4040
- run: |
4141
mkdir -p ~/artifacts
4242
node -p "require('./package').version" > ~/artifacts/pkg-version
43-
43+
44+
- run: sudo apt-get update -qq
45+
- run: sudo apt-get install -qq patchelf
4446
- run: chmod +x src/qt-mkdir.sh && src/qt-mkdir.sh ~/qt_tmp
4547
- run: chmod +x src/qt-copy-linux.sh && src/qt-copy-linux.sh ~/qt_tmp ~/Qt/6.8.0/gcc_arm64
4648
- run: cd ~/qt_tmp && tar -czf ../aarch64.gz *

.github/workflows/build.yml

+2
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ jobs:
8686
- name: Copy Qt Dir - Linux
8787
if: matrix.os == 'ubuntu-22.04'
8888
run: |
89+
sudo apt-get update -qq
90+
sudo apt-get install -qq patchelf
8991
echo "OS_NAME=linux" >> $GITHUB_ENV
9092
chmod +x src/qt-copy-linux.sh
9193
src/qt-copy-linux.sh ${{ env.QT_TMP }} ${{ github.workspace }}/../Qt/6.8.0/gcc_64

src/qt-copy-linux.sh

+38-39
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ cp $2/lib/libQt6Quick.so.6 $1/libQt6Quick.so.6
88
cp $2/lib/libQt6QuickControls2.so.6 $1/libQt6QuickControls2.so.6
99
cp $2/lib/libQt6QuickTemplates2.so.6 $1/libQt6QuickTemplates2.so.6
1010
cp $2/lib/libQt6QuickWidgets.so.6 $1/libQt6QuickWidgets.so.6
11-
1211
cp $2/lib/libQt6QuickVectorImage.so.6 $1/libQt6QuickVectorImage.so.6
1312
cp $2/lib/libQt6QmlCompiler.so.6 $1/libQt6QmlCompiler.so.6
1413
cp $2/lib/libQt6QmlCore.so.6 $1/libQt6QmlCore.so.6
1514
cp $2/lib/libQt6QuickControls2Basic.so.6 $1/libQt6QuickControls2Basic.so.6
16-
cp $2/lib/Qt6QuickControls2BasicStyleImpl.so.6 $1/Qt6QuickControls2BasicStyleImpl.so.6
15+
cp $2/lib/libQt6QuickControls2BasicStyleImpl.so.6 $1/libQt6QuickControls2BasicStyleImpl.so.6
1716
cp $2/lib/libQt6QuickControls2Impl.so.6 $1/libQt6QuickControls2Impl.so.6
1817
cp $2/lib/libQt6QuickDialogs2.so.6 $1/libQt6QuickDialogs2.so.6
1918
cp $2/lib/libQt6QuickDialogs2QuickImpl.so.6 $1/libQt6QuickDialogs2QuickImpl.so.6
@@ -26,116 +25,116 @@ cp $2/lib/libQt6QmlWorkerScript.so.6 $1/libQt6QmlWorkerScript.so.6
2625
cp $2/lib/libQt6QmlModels.so.6 $1/libQt6QmlModels.so.6
2726

2827

29-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_debugger.so
28+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_debugger.so
3029
cp $2/plugins/qmltooling/libqmldbg_debugger.so $1/plugins/qmltooling/libqmldbg_debugger.so
3130

32-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_inspector.so
31+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_inspector.so
3332
cp $2/plugins/qmltooling/libqmldbg_inspector.so $1/plugins/qmltooling/libqmldbg_inspector.so
3433

35-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_local.so
34+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_local.so
3635
cp $2/plugins/qmltooling/libqmldbg_local.so $1/plugins/qmltooling/libqmldbg_local.so
3736

38-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_messages.so
37+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_messages.so
3938
cp $2/plugins/qmltooling/libqmldbg_messages.so $1/plugins/qmltooling/libqmldbg_messages.so
4039

41-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_native.so
40+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_native.so
4241
cp $2/plugins/qmltooling/libqmldbg_native.so $1/plugins/qmltooling/libqmldbg_native.so
4342

44-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_nativedebugger.so
43+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_nativedebugger.so
4544
cp $2/plugins/qmltooling/libqmldbg_nativedebugger.so $1/plugins/qmltooling/libqmldbg_nativedebugger.so
4645

47-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_preview.so
46+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_preview.so
4847
cp $2/plugins/qmltooling/libqmldbg_preview.so $1/plugins/qmltooling/libqmldbg_preview.so
4948

50-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_profiler.so
49+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_profiler.so
5150
cp $2/plugins/qmltooling/libqmldbg_profiler.so $1/plugins/qmltooling/libqmldbg_profiler.so
5251

53-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_quickprofiler.so
52+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_quickprofiler.so
5453
cp $2/plugins/qmltooling/libqmldbg_quickprofiler.so $1/plugins/qmltooling/libqmldbg_quickprofiler.so
5554

56-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_server.so
55+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_server.so
5756
cp $2/plugins/qmltooling/libqmldbg_server.so $1/plugins/qmltooling/libqmldbg_server.so
5857

59-
chrpath -r '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_tcp.so
58+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/plugins/qmltooling/libqmldbg_tcp.so
6059
cp $2/plugins/qmltooling/libqmldbg_tcp.so $1/plugins/qmltooling/libqmldbg_tcp.so
6160

6261

63-
chrpath -r '$$ORIGIN/../..' $1/qml/QtTest/libquicktestplugin.so
62+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/qml/QtTest/libquicktestplugin.so
6463
cp $2/qml/QtTest/libquicktestplugin.so $1/qml/QtTest/libquicktestplugin.so
6564

66-
chrpath -r '$$ORIGIN/../..' $1/qml/QtQuick/libqtquick2plugin.so
65+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/qml/QtQuick/libqtquick2plugin.so
6766
cp $2/qml/QtQuick/libqtquick2plugin.so $1/qml/QtQuick/libqtquick2plugin.so
6867

69-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Window/libquickwindowplugin.so
68+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Window/libquickwindowplugin.so
7069
cp $2/qml/QtQuick/Window/libquickwindowplugin.so $1/qml/QtQuick/Window/libquickwindowplugin.so
7170

72-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/VectorImage/libqquickvectorimageplugin.so
71+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/VectorImage/libqquickvectorimageplugin.so
7372
cp $2/qml/QtQuick/VectorImage/libqquickvectorimageplugin.so $1/qml/QtQuick/VectorImage/libqquickvectorimageplugin.so
7473

75-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/tooling/libquicktoolingplugin.so
74+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/tooling/libquicktoolingplugin.so
7675
cp $2/qml/QtQuick/tooling/libquicktoolingplugin.so $1/qml/QtQuick/tooling/libquicktoolingplugin.so
7776

78-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Templates/libqtquicktemplates2plugin.so
77+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Templates/libqtquicktemplates2plugin.so
7978
cp $2/qml/QtQuick/Templates/libqtquicktemplates2plugin.so $1/qml/QtQuick/Templates/libqtquicktemplates2plugin.so
8079

81-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Shapes/libqmlshapesplugin.so
80+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Shapes/libqmlshapesplugin.so
8281
cp $2/qml/QtQuick/Shapes/libqmlshapesplugin.so $1/qml/QtQuick/Shapes/libqmlshapesplugin.so
8382

84-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Particles/libparticlesplugin.so
83+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Particles/libparticlesplugin.so
8584
cp $2/qml/QtQuick/Particles/libparticlesplugin.so $1/qml/QtQuick/Particles/libparticlesplugin.so
8685

87-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/NativeStyle/libqtquickcontrols2nativestyleplugin.so
86+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/NativeStyle/libqtquickcontrols2nativestyleplugin.so
8887
cp $2/qml/QtQuick/NativeStyle/libqtquickcontrols2nativestyleplugin.so $1/qml/QtQuick/NativeStyle/libqtquickcontrols2nativestyleplugin.so
8988

90-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
89+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
9190
cp $2/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so $1/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
9291

93-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
92+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
9493
cp $2/qml/QtQuick/Layouts/libqquicklayoutsplugin.so $1/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
9594

96-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Effects/libeffectsplugin.so
95+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Effects/libeffectsplugin.so
9796
cp $2/qml/QtQuick/Effects/libeffectsplugin.so $1/qml/QtQuick/Effects/libeffectsplugin.so
9897

99-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Dialogs/libqtquickdialogsplugin.so
98+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Dialogs/libqtquickdialogsplugin.so
10099
cp $2/qml/QtQuick/Dialogs/libqtquickdialogsplugin.so $1/qml/QtQuick/Dialogs/libqtquickdialogsplugin.so
101100

102-
chrpath -r '$$ORIGIN/../../../..' $1/qml/QtQuick/Dialogs/quickimpl/libqtquickdialogs2quickimplplugin.so
101+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../../..' $1/qml/QtQuick/Dialogs/quickimpl/libqtquickdialogs2quickimplplugin.so
103102
cp $2/qml/QtQuick/Dialogs/quickimpl/libqtquickdialogs2quickimplplugin.so $1/qml/QtQuick/Dialogs/quickimpl/libqtquickdialogs2quickimplplugin.so
104103

105-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQuick/Controls/libqtquickcontrols2plugin.so
104+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQuick/Controls/libqtquickcontrols2plugin.so
106105
cp $2/qml/QtQuick/Controls/libqtquickcontrols2plugin.so $1/qml/QtQuick/Controls/libqtquickcontrols2plugin.so
107106

108-
chrpath -r '$$ORIGIN/../../../..' $1/qml/QtQuick/Controls/impl/libqtquickcontrols2implplugin.so
107+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../../..' $1/qml/QtQuick/Controls/impl/libqtquickcontrols2implplugin.so
109108
cp $2/qml/QtQuick/Controls/impl/libqtquickcontrols2implplugin.so $1/qml/QtQuick/Controls/impl/libqtquickcontrols2implplugin.so
110109

111-
chrpath -r '$$ORIGIN/../../../..' $1/qml/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so
110+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../../..' $1/qml/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so
112111
cp $2/qml/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so $1/qml/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin.so
113112

114-
chrpath -r '$$ORIGIN/../../../../..' $1/qml/QtQuick/Controls/Basic/impl/libqtquickcontrols2basicstyleimplplugin.so
113+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../../../..' $1/qml/QtQuick/Controls/Basic/impl/libqtquickcontrols2basicstyleimplplugin.so
115114
cp $2/qml/QtQuick/Controls/Basic/impl/libqtquickcontrols2basicstyleimplplugin.so $1/qml/QtQuick/Controls/Basic/impl/libqtquickcontrols2basicstyleimplplugin.so
116115

117-
chrpath -r '$$ORIGIN/../..' $1/qml/QtQml/libqmlplugin.so
116+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/qml/QtQml/libqmlplugin.so
118117
cp $2/qml/QtQml/libqmlplugin.so $1/qml/QtQml/libqmlplugin.so
119118

120-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQml/XmlListModel/libqmlxmllistmodelplugin.so
119+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQml/XmlListModel/libqmlxmllistmodelplugin.so
121120
cp $2/qml/QtQml/XmlListModel/libqmlxmllistmodelplugin.so $1/qml/QtQml/XmlListModel/libqmlxmllistmodelplugin.so
122121

123-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQml/WorkerScript/libworkerscriptplugin.so
122+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQml/WorkerScript/libworkerscriptplugin.so
124123
cp $2/qml/QtQml/WorkerScript/libworkerscriptplugin.so $1/qml/QtQml/WorkerScript/libworkerscriptplugin.so
125124

126-
chrpath -r '$$ORIGIN/../../..' $1/qml/QtQml/Models/libmodelsplugin.so
125+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/QtQml/Models/libmodelsplugin.so
127126
cp $2/qml/QtQml/Models/libmodelsplugin.so $1/qml/QtQml/Models/libmodelsplugin.so
128127

129-
chrpath -r '$$ORIGIN/../..' $1/qml/QtNetwork/libqmlnetworkplugin.so
128+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/qml/QtNetwork/libqmlnetworkplugin.so
130129
cp $2/qml/QtNetwork/libqmlnetworkplugin.so $1/qml/QtNetwork/libqmlnetworkplugin.so
131130

132-
chrpath -r '$$ORIGIN/../..' $1/qml/QtCore/libqtqmlcoreplugin.so
131+
patchelf --force-rpath --set-rpath '$$ORIGIN/../..' $1/qml/QtCore/libqtqmlcoreplugin.so
133132
cp $2/qml/QtCore/libqtqmlcoreplugin.so $1/qml/QtCore/libqtqmlcoreplugin.so
134133

135-
chrpath -r '$$ORIGIN/../../../..' $1/qml/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so
134+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../../..' $1/qml/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so
136135
cp $2/qml/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so $1/qml/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so
137136

138-
chrpath -r '$$ORIGIN/../../..' $1/qml/Assets/Downloader/libqmlassetdownloaderplugin.so
137+
patchelf --force-rpath --set-rpath '$$ORIGIN/../../..' $1/qml/Assets/Downloader/libqmlassetdownloaderplugin.so
139138
cp $2/qml/Assets/Downloader/libqmlassetdownloaderplugin.so $1/qml/Assets/Downloader/libqmlassetdownloaderplugin.so
140139

141140

0 commit comments

Comments
 (0)