diff --git a/.github/workflows/BuildAndRelease.yml b/.github/workflows/BuildAndRelease.yml index f88946fbc..5130fecff 100644 --- a/.github/workflows/BuildAndRelease.yml +++ b/.github/workflows/BuildAndRelease.yml @@ -64,6 +64,9 @@ jobs: - name: Build MeshLab run: | sh install/linux/linux_build.sh + - name: Make MeshLab Boundle + run: | + sh install/linux/linux_make_boundle.sh - name: Deploy MeshLab and MeshLabServer run : | sh install/linux/linux_appimages.sh diff --git a/.github/workflows/BuildUbuntu.yml b/.github/workflows/BuildUbuntu.yml index 49f8d06b9..de90a1a29 100644 --- a/.github/workflows/BuildUbuntu.yml +++ b/.github/workflows/BuildUbuntu.yml @@ -31,6 +31,9 @@ jobs: - name: Build MeshLab run: | sh install/linux/linux_build.sh + - name: Make MeshLab Boundle + run: | + sh install/linux/linux_make_boundle.sh - name: Deploy MeshLab and MeshLabServer run : | sh install/linux/linux_appimages.sh diff --git a/install/linux/linux_appimages.sh b/install/linux/linux_appimages.sh index 55c7a903b..e5d99be3f 100644 --- a/install/linux/linux_appimages.sh +++ b/install/linux/linux_appimages.sh @@ -1,7 +1,7 @@ #!/bin/bash -# this is a script shell for setting up the application bundle for linux -# Requires a properly built meshlab (does not require to run the -# linux_deploy.sh script). +# this is a script shell for setting up the AppImage bundle for linux +# Requires a properly built meshlab boundle (see linux_make_boundle.sh). It does not require to run the +# linux_deploy.sh script. # # This script can be run only in the oldest supported linux distro that you are using # due to linuxdeployqt tool choice (see https://github.com/probonopd/linuxdeployqt/issues/340). @@ -22,8 +22,6 @@ else DISTRIB_PATH=$1 fi -sh linux_make_boundle.sh $@ - cd $DISTRIB_PATH export VERSION=$(cat $INSTALL_PATH/../../ML_VERSION) diff --git a/install/linux/linux_deploy.sh b/install/linux/linux_deploy.sh index 8644c5488..7a228fccb 100644 --- a/install/linux/linux_deploy.sh +++ b/install/linux/linux_deploy.sh @@ -1,6 +1,6 @@ #!/bin/bash # this is a script shell for deploying a meshlab-portable folder. -# Requires a properly built meshlab. +# Requires a properly built meshlab boundle (see linux_make_boundle.sh). # # This script can be run only in the oldest supported linux distro that you are using # due to linuxdeployqt tool choice (see https://github.com/probonopd/linuxdeployqt/issues/340). @@ -20,8 +20,6 @@ else DISTRIB_PATH=$1 fi -sh linux_make_boundle.sh $@ - cd $DISTRIB_PATH $INSTALL_PATH/resources/linuxdeployqt usr/share/applications/meshlab.desktop -bundle-non-qt-libs -executable=usr/bin/meshlabserver diff --git a/install/linux/linux_make_boundle.sh b/install/linux/linux_make_boundle.sh index fc7e2e461..73fd73bbd 100644 --- a/install/linux/linux_make_boundle.sh +++ b/install/linux/linux_make_boundle.sh @@ -1,4 +1,11 @@ #!/bin/bash +# this is a script shell for setting up the application bundle for linux +# Requires a properly built meshlab. +# +# Without given arguments, the application boundle will be placed in the meshlab/distrib +# directory. +# +# You can give as argument the DISTRIB_PATH. cd "$(dirname "$(realpath "$0")")"; #move to script directory @@ -47,13 +54,15 @@ mv meshlabserver usr/bin mv LICENSE.txt usr/share/doc/meshlab/ mv privacy.txt usr/share/doc/meshlab/ mv readme.txt usr/share/doc/meshlab/ -mv lib/libmeshlab-common* usr/lib/ +mv lib/libmeshlab-common* usr/lib/meshlab/ mv plugins/ usr/lib/meshlab/ mv lib/linux/* usr/lib/meshlab/ -#chrpath -r ../lib/ usr/lib/meshlab/plugins/*.so +chrpath -r '$ORIGIN/..' usr/lib/meshlab/plugins/*.so mv shaders/ usr/share/meshlab/ rm -r lib #tmp: moving libIXF to bin directory -cp usr/lib/meshlab/libIFX* usr/lib/ -rm usr/lib/libIFXCoreStatic.a \ No newline at end of file +mv usr/lib/meshlab/libIFX* . +mv libIFXCoreStatic.a usr/lib/meshlab +chrpath -r '$ORIGIN/../lib/meshlab/' usr/bin/meshlab +chrpath -r '$ORIGIN/../lib/meshlab/' usr/bin/meshlabserver \ No newline at end of file