diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 0da41b7896..1aebd39f8e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -43,7 +43,9 @@ RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install \ python3 \ python3-pip \ unzip \ - wget + wget \ + file \ + desktop-file-utils RUN pip3 install aqtinstall @@ -66,6 +68,10 @@ RUN wget -qO- "https://cmake.org/files/v3.19/cmake-3.19.2-Linux-x86_64.tar.gz" \ apt-get -y clean && \ rm -rf /var/lib/apt/lists/* +RUN wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage \ + && chmod +x appimagetool-x86_64.AppImage \ + && mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool + # Generating a universally unique ID for the Container RUN dbus-uuidgen > /etc/machine-id @@ -78,4 +84,4 @@ RUN groupadd --gid $USER_GID $USERNAME \ && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ && chmod 0440 /etc/sudoers.d/$USERNAME -USER $USERNAME \ No newline at end of file +USER $USERNAME diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy b/resources/linux/linuxdeploy-arm/linuxdeploy new file mode 100644 index 0000000000..71c7335f99 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy differ diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage new file mode 100644 index 0000000000..b01a4e9800 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-appimage differ diff --git a/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt new file mode 100644 index 0000000000..383983be50 Binary files /dev/null and b/resources/linux/linuxdeploy-arm/linuxdeploy-plugin-qt differ diff --git a/scripts/Linux/internal/2d_appimage.sh b/scripts/Linux/internal/2d_appimage.sh index e50827f2f8..e64cb24b96 100644 --- a/scripts/Linux/internal/2d_appimage.sh +++ b/scripts/Linux/internal/2d_appimage.sh @@ -23,6 +23,23 @@ case $i in esac done +# Ensure appimagetool is in the PATH +if ! command -v appimagetool &> /dev/null +then + echo "appimagetool could not be found, attempting to install it..." + wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage \ + && chmod +x appimagetool-x86_64.AppImage \ + && sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool + + if ! command -v appimagetool &> /dev/null + then + echo "Failed to install appimagetool. Please install it manually." + exit 1 + fi +else + echo "appimagetool is already installed." +fi + $RESOURCES_PATH/linux/linuxdeploy --appdir=$INSTALL_PATH \ --output appimage @@ -35,5 +52,8 @@ ML_VERSION=${strarr[1]} #get the meshlab version from the string # get running architecture ARCH=$(uname -m) -mkdir $PACKAGES_PATH -mv MeshLab-*.AppImage $PACKAGES_PATH/MeshLab$ML_VERSION-linux_$ARCH.AppImage \ No newline at end of file +# Ensure the packages path exists +mkdir -p $PACKAGES_PATH + +# Move the AppImage to the packages directory +mv MeshLab-*.AppImage $PACKAGES_PATH/MeshLab$ML_VERSION-linux_$ARCH.AppImage