mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-13 00:07:24 +00:00
remove pack phase from linux
This commit is contained in:
parent
af41793318
commit
07d6760c82
1
.github/workflows/BuildMeshLab.yml
vendored
1
.github/workflows/BuildMeshLab.yml
vendored
@ -68,6 +68,7 @@ jobs:
|
||||
run: |
|
||||
bash scripts/${{ runner.os }}/2_deploy.sh
|
||||
- name: Packaging
|
||||
if: runner.os != 'Linux'
|
||||
shell: bash
|
||||
run: |
|
||||
bash scripts/${{ runner.os }}/3_pack.sh
|
||||
|
||||
@ -1,17 +1,9 @@
|
||||
#!/bin/bash
|
||||
# This is a script shell for deploying a meshlab-portable folder and create an AppImage.
|
||||
# Requires a properly built MeshLab (see 1_build.sh).
|
||||
#
|
||||
# Without given arguments, the folder that will be deployed is meshlab/install, which
|
||||
# should be the path where MeshLab has been installed (default output of 1_build.sh).
|
||||
# The AppImage will be placed in the directory where the script is run.
|
||||
#
|
||||
# You can give as argument the path where you installed MeshLab.
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
QT_DIR=""
|
||||
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
@ -25,36 +17,28 @@ case $i in
|
||||
QT_DIR=${i#*=}
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
bash $SCRIPTS_PATH/internal/make_bundle.sh -i=$INSTALL_PATH
|
||||
bash $SCRIPTS_PATH/internal/2a_make_bundle.sh -i=$INSTALL_PATH
|
||||
|
||||
if [ ! -z "$QT_DIR" ]
|
||||
then
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_DIR/lib
|
||||
export QMAKE=$QT_DIR/bin/qmake
|
||||
fi
|
||||
echo "======= Bundle created ======="
|
||||
|
||||
chmod +x $INSTALL_PATH/usr/bin/meshlab
|
||||
bash $SCRIPTS_PATH/internal/2b_deb.sh -i=$INSTALL_PATH -p=$PACKAGES_PATH
|
||||
|
||||
for plugin in $INSTALL_PATH/usr/lib/meshlab/plugins/*.so
|
||||
do
|
||||
# allow plugins to find linked libraries in usr/lib, usr/lib/meshlab and usr/lib/meshlab/plugins
|
||||
patchelf --set-rpath '$ORIGIN/../../:$ORIGIN/../:$ORIGIN' $plugin
|
||||
done
|
||||
echo "======= Deb Created ======="
|
||||
|
||||
$RESOURCES_PATH/linux/linuxdeploy --appdir=$INSTALL_PATH \
|
||||
--plugin qt
|
||||
bash $SCRIPTS_PATH/internal/2c_portable.sh -i=$INSTALL_PATH -qt=$QT_DIR
|
||||
|
||||
# after deploy, all required libraries are placed into usr/lib, therefore we can remove the ones in
|
||||
# usr/lib/meshlab (except for the ones that are loaded at runtime)
|
||||
shopt -s extglob
|
||||
cd $INSTALL_PATH/usr/lib/meshlab
|
||||
rm -v !("libIFXCore.so"|"libIFXExporting.so"|"libIFXScheduling.so")
|
||||
echo "======= Portable Version Created ======="
|
||||
|
||||
#at this point, distrib folder contains all the files necessary to execute meshlab
|
||||
echo "$INSTALL_PATH is now a self contained meshlab application"
|
||||
bash $SCRIPTS_PATH/internal/2d_appimage.sh -i=$INSTALL_PATH -p=$PACKAGES_PATH
|
||||
|
||||
echo "======= AppImage Created ======="
|
||||
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
# This is a script shell for deploying a meshlab-portable folder and create an AppImage.
|
||||
# Requires a properly built MeshLab (see 1_build.sh).
|
||||
#
|
||||
# Without given arguments, the folder that will be deployed is meshlab/install, which
|
||||
# should be the path where MeshLab has been installed (default output of 1_build.sh).
|
||||
# The AppImage will be placed in the directory where the script is run.
|
||||
#
|
||||
# You can give as argument the path where you installed MeshLab.
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
PACKAGE_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
do
|
||||
case $i in
|
||||
-i=*|--install_path=*)
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--package_path=*)
|
||||
PACKAGE_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
$RESOURCES_PATH/linux/linuxdeploy --appdir=$INSTALL_PATH \
|
||||
--output appimage
|
||||
|
||||
#get version
|
||||
IFS=' ' #space delimiter
|
||||
STR_VERSION=$($INSTALL_PATH/AppRun --version)
|
||||
read -a strarr <<< "$STR_VERSION"
|
||||
ML_VERSION=${strarr[1]} #get the meshlab version from the string
|
||||
|
||||
mkdir $PACKAGE_PATH
|
||||
mv MeshLab-*.AppImage $PACKAGE_PATH/MeshLab$ML_VERSION-linux.AppImage
|
||||
@ -1,11 +1,4 @@
|
||||
#!/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/install
|
||||
# directory.
|
||||
#
|
||||
# You can give as argument the path were meshlab has been installed.
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"/../
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
@ -26,8 +19,6 @@ case $i in
|
||||
esac
|
||||
done
|
||||
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTALL_PATH
|
||||
|
||||
#check if we have an exec in distrib
|
||||
if ! [ -f $INSTALL_PATH/usr/bin/meshlab ]
|
||||
then
|
||||
@ -70,6 +61,10 @@ cp $RESOURCES_PATH/LICENSE.txt $INSTALL_PATH/usr/share/doc/meshlab/
|
||||
cp $RESOURCES_PATH/privacy.txt $INSTALL_PATH/usr/share/doc/meshlab/
|
||||
cp $RESOURCES_PATH/readme.txt $INSTALL_PATH/usr/share/doc/meshlab/
|
||||
|
||||
for filename in $INSTALL_PATH/usr/lib/meshlab/plugins/*.so; do
|
||||
patchelf --set-rpath '$ORIGIN/../' $filename
|
||||
for plugin in $INSTALL_PATH/usr/lib/meshlab/plugins/*.so
|
||||
do
|
||||
# allow plugins to find linked libraries in usr/lib, usr/lib/meshlab and usr/lib/meshlab/plugins
|
||||
patchelf --set-rpath '$ORIGIN/../../:$ORIGIN/../:$ORIGIN' $plugin
|
||||
done
|
||||
|
||||
chmod +x $INSTALL_PATH/usr/bin/meshlab
|
||||
26
scripts/Linux/internal/2b_deb.sh
Normal file
26
scripts/Linux/internal/2b_deb.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"/..
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
do
|
||||
case $i in
|
||||
-i=*|--install_path=*)
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
mkdir $PACKAGES_PATH
|
||||
42
scripts/Linux/internal/2c_portable.sh
Normal file
42
scripts/Linux/internal/2c_portable.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"/..
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
QT_DIR=""
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
do
|
||||
case $i in
|
||||
-i=*|--install_path=*)
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-qt=*|--qt_dir=*)
|
||||
QT_DIR=${i#*=}
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ ! -z "$QT_DIR" ]
|
||||
then
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_DIR/lib
|
||||
export QMAKE=$QT_DIR/bin/qmake
|
||||
fi
|
||||
|
||||
$RESOURCES_PATH/linux/linuxdeploy --appdir=$INSTALL_PATH \
|
||||
--plugin qt
|
||||
|
||||
# after deploy, all required libraries are placed into usr/lib, therefore we can remove the ones in
|
||||
# usr/lib/meshlab (except for the ones that are loaded at runtime)
|
||||
shopt -s extglob
|
||||
cd $INSTALL_PATH/usr/lib/meshlab
|
||||
rm -v !("libIFXCore.so"|"libIFXExporting.so"|"libIFXScheduling.so")
|
||||
|
||||
#at this point, distrib folder contains all the files necessary to execute meshlab
|
||||
echo "$INSTALL_PATH is now a self contained meshlab application"
|
||||
36
scripts/Linux/internal/2d_appimage.sh
Normal file
36
scripts/Linux/internal/2d_appimage.sh
Normal file
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"/..
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
do
|
||||
case $i in
|
||||
-i=*|--install_path=*)
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
$RESOURCES_PATH/linux/linuxdeploy --appdir=$INSTALL_PATH \
|
||||
--output appimage
|
||||
|
||||
#get version
|
||||
IFS=' ' #space delimiter
|
||||
STR_VERSION=$($INSTALL_PATH/AppRun --version)
|
||||
read -a strarr <<< "$STR_VERSION"
|
||||
ML_VERSION=${strarr[1]} #get the meshlab version from the string
|
||||
|
||||
mkdir $PACKAGES_PATH
|
||||
mv MeshLab-*.AppImage $PACKAGES_PATH/MeshLab$ML_VERSION-linux.AppImage
|
||||
@ -1,20 +1,4 @@
|
||||
#!/bin/bash
|
||||
# This is a script shell for compiling and deploying MeshLab in a Linux environment.
|
||||
#
|
||||
# Requires a Qt environment which is set-up properly, and an accessible
|
||||
# cmake binary.
|
||||
#
|
||||
# Without given arguments, MeshLab will be built in the meshlab/build,
|
||||
# the folder meshlab/install will be a portable version of MeshLab and
|
||||
# the AppImage will be placed in meshlab/src.
|
||||
#
|
||||
# You can give as argument the build path, the install path (that will contain
|
||||
# the portable version of MeshLab), and the number of cores to use to build MeshLab
|
||||
# (default: 4).
|
||||
# The AppImage will be placed in the directory where the script is run.
|
||||
#
|
||||
# Example of call:
|
||||
# bash make_it.sh --build_path=path/to/build --install_path=path/to/install -j8
|
||||
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
|
||||
SOURCE_PATH=$SCRIPTS_PATH/../..
|
||||
@ -66,5 +50,4 @@ esac
|
||||
done
|
||||
|
||||
bash $SCRIPTS_PATH/1_build.sh -b=$BUILD_PATH -i=$INSTALL_PATH $NIGHTLY_OPTION $DOUBLE_PRECISION_OPTION $QT_DIR_OPTION $CCACHE_OPTION
|
||||
bash $SCRIPTS_PATH/2_deploy.sh -i=$INSTALL_PATH $QT_DIR_OPTION
|
||||
bash $SCRIPTS_PATH/3_pack.sh -i=$INSTALL_PATH -p=$PACKAGE_PATH
|
||||
bash $SCRIPTS_PATH/2_deploy.sh -i=$INSTALL_PATH -p=$PACKAGE_PATH $QT_DIR_OPTION
|
||||
|
||||
@ -78,9 +78,9 @@ It takes the following input arguments:
|
||||
- `--install_path`: the directory containing MeshLab deployed; it should be the same argument given to the `2_deploy.sh` script;
|
||||
- default: `[meshlab_repo]/install`
|
||||
- example: `--install_path=path/to/install`
|
||||
- `--package_path`: the directory where the output package(s) will be placed;
|
||||
- `--packages_path`: the directory where the output package(s) will be placed;
|
||||
- default: `[meshlab_repo]/packages`
|
||||
- example: `--package_path=path/to/packages`
|
||||
- example: `--packages_path=path/to/packages`
|
||||
|
||||
Example of call:
|
||||
```
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
PACKAGE_PATH=$SCRIPTS_PATH/../../packages
|
||||
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
@ -22,8 +22,8 @@ case $i in
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--package_path=*)
|
||||
PACKAGE_PATH="${i#*=}"
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
@ -40,5 +40,5 @@ rm $INSTALL_PATH/meshlab_final.nsi
|
||||
rm $INSTALL_PATH/ExecWaitJob.nsh
|
||||
rm $INSTALL_PATH/FileAssociation.nsh
|
||||
|
||||
mkdir $PACKAGE_PATH
|
||||
mv $INSTALL_PATH/MeshLab*-windows.exe $PACKAGE_PATH
|
||||
mkdir $PACKAGES_PATH
|
||||
mv $INSTALL_PATH/MeshLab*-windows.exe $PACKAGES_PATH
|
||||
|
||||
@ -19,7 +19,7 @@ SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
|
||||
SOURCE_PATH=$SCRIPTS_PATH/../..
|
||||
BUILD_PATH=$SOURCE_PATH/build
|
||||
INSTALL_PATH=$SOURCE_PATH/install
|
||||
PACKAGE_PATH=$SOURCE_PATH/packages
|
||||
PACKAGES_PATH=$SOURCE_PATH/packages
|
||||
|
||||
DOUBLE_PRECISION_OPTION=""
|
||||
NIGHTLY_OPTION=""
|
||||
@ -38,8 +38,8 @@ case $i in
|
||||
INSTALL_PATH="${i#*=}"/usr/
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--package_path=*)
|
||||
PACKAGE_PATH="${i#*=}"
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
--double_precision)
|
||||
@ -66,5 +66,5 @@ done
|
||||
|
||||
bash $SCRIPTS_PATH/1_build.sh -b=$BUILD_PATH -i=$INSTALL_PATH $NIGHTLY_OPTION $DOUBLE_PRECISION_OPTION $QT_DIR_OPTION $CCACHE_OPTION
|
||||
bash $SCRIPTS_PATH/2_deploy.sh -i=$INSTALL_PATH $QT_DIR_OPTION
|
||||
bash $SCRIPTS_PATH/3_pack.sh -i=$INSTALL_PATH -p=$PACKAGE_PATH
|
||||
bash $SCRIPTS_PATH/3_pack.sh -i=$INSTALL_PATH -p=$PACKAGES_PATH
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
SCRIPTS_PATH=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
|
||||
RESOURCES_PATH=$SCRIPTS_PATH/../../resources
|
||||
INSTALL_PATH=$SCRIPTS_PATH/../../install
|
||||
PACKAGE_PATH=$SCRIPTS_PATH/../../packages
|
||||
PACKAGES_PATH=$SCRIPTS_PATH/../../packages
|
||||
|
||||
#checking for parameters
|
||||
for i in "$@"
|
||||
@ -22,8 +22,8 @@ case $i in
|
||||
INSTALL_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--package_path=*)
|
||||
PACKAGE_PATH="${i#*=}"
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
*)
|
||||
@ -54,8 +54,8 @@ rm -f $INSTALL_PATH/*.dmg
|
||||
|
||||
mv $INSTALL_PATH/meshlab.app $INSTALL_PATH/MeshLab$ML_VERSION.app
|
||||
|
||||
mkdir $PACKAGE_PATH
|
||||
mkdir $PACKAGES_PATH
|
||||
|
||||
appdmg $RESOURCES_PATH/macos/meshlab_dmg_final.json $PACKAGE_PATH/MeshLab$ML_VERSION-macos.dmg
|
||||
appdmg $RESOURCES_PATH/macos/meshlab_dmg_final.json $PACKAGES_PATH/MeshLab$ML_VERSION-macos.dmg
|
||||
|
||||
rm $RESOURCES_PATH/macos/meshlab_dmg_final.json
|
||||
|
||||
@ -20,7 +20,7 @@ SCRIPTS_PATH=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
SOURCE_PATH=$SCRIPTS_PATH/../..
|
||||
BUILD_PATH=$SOURCE_PATH/build
|
||||
INSTALL_PATH=$SOURCE_PATH/install
|
||||
PACKAGE_PATH=$SOURCE_PATH/packages
|
||||
PACKAGES_PATH=$SOURCE_PATH/packages
|
||||
|
||||
DOUBLE_PRECISION_OPTION=""
|
||||
NIGHTLY_OPTION=""
|
||||
@ -39,8 +39,8 @@ case $i in
|
||||
INSTALL_PATH="${i#*=}"/usr/
|
||||
shift # past argument=value
|
||||
;;
|
||||
-p=*|--package_path=*)
|
||||
PACKAGE_PATH="${i#*=}"
|
||||
-p=*|--packages_path=*)
|
||||
PACKAGES_PATH="${i#*=}"
|
||||
shift # past argument=value
|
||||
;;
|
||||
--double_precision)
|
||||
@ -67,5 +67,5 @@ done
|
||||
|
||||
bash $SCRIPTS_PATH/1_build.sh -b=$BUILD_PATH -i=$INSTALL_PATH $NIGHTLY_OPTION $DOUBLE_PRECISION_OPTION $QT_DIR_OPTION $CCACHE_OPTION
|
||||
bash $SCRIPTS_PATH/2_deploy.sh -i=$INSTALL_PATH $QT_DIR_OPTION
|
||||
bash $SCRIPTS_PATH/3_pack.sh -i=$INSTALL_PATH -p=$PACKAGE_PATH
|
||||
bash $SCRIPTS_PATH/3_pack.sh -i=$INSTALL_PATH -p=$PACKAGES_PATH
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user