From 1e7dc7dff9b964f62f2b2f0231d9e14b162c18e2 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 15:42:03 +0100 Subject: [PATCH 01/19] added extra logs for AppImage detection debug --- src/wallet/wallets_manager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index 161a6e13..dfaacc17 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -331,11 +331,18 @@ bool wallets_manager::init(view::i_view* pview_handler) std::string path_to_html; if (!command_line::has_arg(m_vm, arg_html_folder)) { + LOG_PRINT_L0("Detecting APPDIR... "); #if defined(__unix__) || defined(__linux__) const char* env_p = std::getenv("APPDIR"); + LOG_PRINT_L0("APPDIR = " << (void*)env_p); + if (env_p) + { + LOG_PRINT_L0("APPDIR: " << env_p); + } if (env_p && std::strlen(env_p)) { //app running inside AppImage + LOG_PRINT_L0("APPDIR SET: " << env_p); path_to_html = std::string(env_p) + "usr/bin/html"; } else From f873307240781ffc29c4382de6ae6a01ece3b40f Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 17:46:31 +0100 Subject: [PATCH 02/19] added script for building AppImage --- utils/Zano.desktop | 12 +++ utils/build_script_linux_appimage.sh | 117 +++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 utils/Zano.desktop create mode 100644 utils/build_script_linux_appimage.sh diff --git a/utils/Zano.desktop b/utils/Zano.desktop new file mode 100644 index 00000000..8a912f57 --- /dev/null +++ b/utils/Zano.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=1.0 +Name=Zano +GenericName=Zano +Comment=Privacy blockchain +Icon=Zano +Terminal=true +Type=Application +Categories=Qt;Utility; +Name[en_US]=Zano +MimeType=x-scheme-handler/zano; + diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh new file mode 100644 index 00000000..f96949be --- /dev/null +++ b/utils/build_script_linux_appimage.sh @@ -0,0 +1,117 @@ +#!/bin/bash -x + +# Environment prerequisites: +# 1) QT_PREFIX_PATH should be set to Qt libs folder +# 2) BOOST_ROOT should be set to the root of Boost +# 3) OPENSSL_ROOT_DIR should be set to the root of OpenSSL +# +# for example, place these lines to the end of your ~/.bashrc : +# +# export BOOST_ROOT=/home/user/boost_1_66_0 +# export QT_PREFIX_PATH=/home/user/Qt5.10.1/5.10.1/gcc_64 +# export OPENSSL_ROOT_DIR=/home/user/openssl +# export LINUX_DEPLOY_QT=/home/user/QtDeployment.appimage + + +ARCHIVE_NAME_PREFIX=zano-linux-x64- + +: "${BOOST_ROOT:?BOOST_ROOT should be set to the root of Boost, ex.: /home/user/boost_1_66_0}" +: "${QT_PREFIX_PATH:?QT_PREFIX_PATH should be set to Qt libs folder, ex.: /home/user/Qt5.10.1/5.10.1/gcc_64}" +: "${OPENSSL_ROOT_DIR:?OPENSSL_ROOT_DIR should be set to OpenSSL root folder, ex.: /home/user/openssl}" + +if [ -n "$build_prefix" ]; then + ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}${build_prefix}- + build_prefix_label="$build_prefix " +fi + +if [ "$testnet" == true ]; then + testnet_def="-D TESTNET=TRUE" + testnet_label="testnet " + ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}testnet- +fi + +if [ "$testnet" == true ] || [ -n "$qt_dev_tools" ]; then + copy_qt_dev_tools=true + copy_qt_dev_tools_label="devtools " + ARCHIVE_NAME_PREFIX=${ARCHIVE_NAME_PREFIX}devtools- +fi + + +prj_root=$(pwd) + +echo "---------------- BUILDING PROJECT ----------------" +echo "--------------------------------------------------" + +echo "Building...." + +rm -rf build; mkdir -p build/release; cd build/release; +cmake $testnet_def -D STATIC=true -D ARCH=x86-64 -D BUILD_GUI=TRUE -D OPENSSL_ROOT_DIR="$OPENSSL_ROOT_DIR" -D CMAKE_PREFIX_PATH="$QT_PREFIX_PATH" -D CMAKE_BUILD_TYPE=Release ../.. +if [ $? -ne 0 ]; then + echo "Failed to run cmake" + exit 1 +fi + +make -j2 daemon simplewallet connectivity_tool +if [ $? -ne 0 ]; then + echo "Failed to make!" + exit 1 +fi + +make -j1 Zano +if [ $? -ne 0 ]; then + echo "Failed to make!" + exit 1 +fi + + +read version_str <<< $(./src/zanod --version | awk '/^Zano/ { print $2 }') +version_str=${version_str} +echo $version_str + +rm -rf Zano; +mkdir -p Zano/usr/bin; +mkdir -p Zano/usr/lib; +mkdir -p Zano/usr/share/applications; +mkdir -p Zano/usr/share/icons/hicolor/scalable; + +rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exclude package.json --exclude gulpfile.js + +cp -Rv src/zanod src/Zano src/simplewallet src/connectivity_tool ./Zano/usr/bin +cp -Rv ../../ultils/Zano.desktop ./Zano/usr/share/application/Zano.desktop +cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/Zano.svg + +echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --deeplink-params=%u" >> ./Zano/usr/share/application/Zano.desktop + +$LINUX_DEPLOY_QT ./Zano/usr/share/applications/Zano.desktop -appimage -qmake=$QT_PREFIX_PATH/bin/qmake + +rm -f ./Zano-x86_64.AppImage + +package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.AppImage + +mv ./Zano-x86_64.AppImage ./$package_filename + +echo "Build success" + +if [ -z "$upload_build" ]; then + exit 0 +fi + +echo "Uploading..." + +scp $package_filename zano_build_server:/var/www/html/builds +if [ $? -ne 0 ]; then + echo "Failed to upload to remote server" + exit $? +fi + +read checksum <<< $(sha256sum $package_filename | awk '/^/ { print $1 }' ) + +mail_msg="New ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build for linux-x64:
+https://build.zano.org/builds/$package_filename
+sha256: $checksum" + +echo "$mail_msg" + +echo "$mail_msg" | mail -s "Zano linux-x64 ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build $version_str" ${emails} + +exit 0 From 4f831e9a3d6f54aa53541ed2c8f542b3c80c5441 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 18:01:55 +0100 Subject: [PATCH 03/19] added Exacutable flag --- utils/build_script_linux_appimage.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 utils/build_script_linux_appimage.sh diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh old mode 100644 new mode 100755 From 33f7c58146d14592a570ad18031bb96b7c82ec7b Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 20:01:22 +0100 Subject: [PATCH 04/19] multiple fixes over AppImage build script --- utils/build_script_linux_appimage.sh | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index f96949be..98ecb8ac 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -39,6 +39,7 @@ fi prj_root=$(pwd) + echo "---------------- BUILDING PROJECT ----------------" echo "--------------------------------------------------" @@ -63,10 +64,15 @@ if [ $? -ne 0 ]; then exit 1 fi - read version_str <<< $(./src/zanod --version | awk '/^Zano/ { print $2 }') version_str=${version_str} + +read commit_str <<< $(./src/zanod --version | grep -m 1 -P -o "(?<=\[)[0-9a-f]{7}") +commit_str=${commit_str} + echo $version_str +echo $commit_str + rm -rf Zano; mkdir -p Zano/usr/bin; @@ -77,18 +83,26 @@ mkdir -p Zano/usr/share/icons/hicolor/scalable; rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exclude package.json --exclude gulpfile.js cp -Rv src/zanod src/Zano src/simplewallet src/connectivity_tool ./Zano/usr/bin -cp -Rv ../../ultils/Zano.desktop ./Zano/usr/share/application/Zano.desktop +cp -Rv ../../utils/Zano.desktop ./Zano/usr/share/applications/Zano.desktop cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/Zano.svg -echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --deeplink-params=%u" >> ./Zano/usr/share/application/Zano.desktop +echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --deeplink-params=%u" >> ./Zano/usr/share/applications/Zano.desktop +if [ $? -ne 0 ]; then + echo "Failed to append deskyop file" + exit 1 +fi $LINUX_DEPLOY_QT ./Zano/usr/share/applications/Zano.desktop -appimage -qmake=$QT_PREFIX_PATH/bin/qmake +if [ $? -ne 0 ]; then + echo "Failed to run linuxqtdeployment" + exit 1 +fi rm -f ./Zano-x86_64.AppImage package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.AppImage -mv ./Zano-x86_64.AppImage ./$package_filename +mv ./Zano-${commit_str}-x86_64.AppImage ./$package_filename echo "Build success" @@ -114,4 +128,4 @@ echo "$mail_msg" echo "$mail_msg" | mail -s "Zano linux-x64 ${build_prefix_label}${testnet_label}${copy_qt_dev_tools_label}build $version_str" ${emails} -exit 0 +exit 0 \ No newline at end of file From 985af2ba080110b0bf7dc7bfc3d409bfc5ffbedf Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 20:11:42 +0100 Subject: [PATCH 05/19] disabled full rebuild, added missing / symbol in appimage --- src/wallet/wallets_manager.cpp | 2 +- utils/build_script_linux_appimage.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index dfaacc17..05a5ac42 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -343,7 +343,7 @@ bool wallets_manager::init(view::i_view* pview_handler) { //app running inside AppImage LOG_PRINT_L0("APPDIR SET: " << env_p); - path_to_html = std::string(env_p) + "usr/bin/html"; + path_to_html = std::string(env_p) + "/usr/bin/html"; } else #endif diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 98ecb8ac..0257977d 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -45,7 +45,8 @@ echo "--------------------------------------------------" echo "Building...." -rm -rf build; mkdir -p build/release; cd build/release; +#rm -rf build; mkdir -p build/release; +cd build/release; cmake $testnet_def -D STATIC=true -D ARCH=x86-64 -D BUILD_GUI=TRUE -D OPENSSL_ROOT_DIR="$OPENSSL_ROOT_DIR" -D CMAKE_PREFIX_PATH="$QT_PREFIX_PATH" -D CMAKE_BUILD_TYPE=Release ../.. if [ $? -ne 0 ]; then echo "Failed to run cmake" From 018c2d24da8eb8a411d20374bfb2e349633f93b1 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 21:10:21 +0100 Subject: [PATCH 06/19] fix for appimage logo --- utils/build_script_linux_appimage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 0257977d..1a37bbe1 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -85,7 +85,7 @@ rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exc cp -Rv src/zanod src/Zano src/simplewallet src/connectivity_tool ./Zano/usr/bin cp -Rv ../../utils/Zano.desktop ./Zano/usr/share/applications/Zano.desktop -cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/Zano.svg +cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/apps/Zano.svg echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --deeplink-params=%u" >> ./Zano/usr/share/applications/Zano.desktop if [ $? -ne 0 ]; then From 999098351084bc684f32a31ca6b521e1d203ba5c Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 21:11:53 +0100 Subject: [PATCH 07/19] fix for appimage path for logo --- utils/build_script_linux_appimage.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 1a37bbe1..8bba7d15 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -79,7 +79,7 @@ rm -rf Zano; mkdir -p Zano/usr/bin; mkdir -p Zano/usr/lib; mkdir -p Zano/usr/share/applications; -mkdir -p Zano/usr/share/icons/hicolor/scalable; +mkdir -p Zano/usr/share/icons/hicolor/scalable/apps; rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exclude package.json --exclude gulpfile.js From 7e962a8a92ea548d1ecbbb22540a1c638c1c94e7 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 21:25:43 +0100 Subject: [PATCH 08/19] added skip_build option --- utils/build_script_linux_appimage.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 8bba7d15..7e5c5c4b 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -39,13 +39,15 @@ fi prj_root=$(pwd) - +if [ "$1" == "skip_build" ]; then + echo "Skipping build, only packing..." +else echo "---------------- BUILDING PROJECT ----------------" echo "--------------------------------------------------" echo "Building...." -#rm -rf build; mkdir -p build/release; +rm -rf build; mkdir -p build/release; cd build/release; cmake $testnet_def -D STATIC=true -D ARCH=x86-64 -D BUILD_GUI=TRUE -D OPENSSL_ROOT_DIR="$OPENSSL_ROOT_DIR" -D CMAKE_PREFIX_PATH="$QT_PREFIX_PATH" -D CMAKE_BUILD_TYPE=Release ../.. if [ $? -ne 0 ]; then @@ -65,6 +67,10 @@ if [ $? -ne 0 ]; then exit 1 fi +fi + + + read version_str <<< $(./src/zanod --version | awk '/^Zano/ { print $2 }') version_str=${version_str} From dadc6a6c41293d4c22b500e59664cc294cebab2f Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Thu, 12 Jan 2023 21:27:01 +0100 Subject: [PATCH 09/19] added missing changedir --- utils/build_script_linux_appimage.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 7e5c5c4b..e6f27420 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -41,6 +41,7 @@ prj_root=$(pwd) if [ "$1" == "skip_build" ]; then echo "Skipping build, only packing..." + cd build/release; else echo "---------------- BUILDING PROJECT ----------------" echo "--------------------------------------------------" From 9bdf9a4da719b5847bfff32dd217ba62dc94b93f Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Fri, 13 Jan 2023 18:20:24 +0100 Subject: [PATCH 10/19] added logo in png to AppImage --- resources/app_icon_256.png | Bin 0 -> 15775 bytes utils/build_script_linux_appimage.sh | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 resources/app_icon_256.png diff --git a/resources/app_icon_256.png b/resources/app_icon_256.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0ee9275fcab9d14eacc44b4e159a26cc41ae67 GIT binary patch literal 15775 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 QKU=7k> ./Zano/usr/share/applications/Zano.desktop if [ $? -ne 0 ]; then From 6ee87bacf9e3f65ea774095640f85ea18f68ad03 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Fri, 13 Jan 2023 18:42:09 +0100 Subject: [PATCH 11/19] added missing folder creation --- utils/build_script_linux_appimage.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 6a18dfa0..3745db28 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -87,6 +87,8 @@ mkdir -p Zano/usr/bin; mkdir -p Zano/usr/lib; mkdir -p Zano/usr/share/applications; mkdir -p Zano/usr/share/icons/hicolor/scalable/apps; +mkdir -p Zano/usr/share/icons/hicolor/256x256/apps; + rsync -a ../../src/gui/qt-daemon/layout/html ./Zano/usr/bin --exclude less --exclude package.json --exclude gulpfile.js From 976ec782473ed5ae1d35e39810e511b664597cdc Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Fri, 13 Jan 2023 19:03:20 +0100 Subject: [PATCH 12/19] fixes AppImage filename derivation --- utils/build_script_linux_appimage.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 3745db28..0af430bb 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -114,7 +114,12 @@ rm -f ./Zano-x86_64.AppImage package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.AppImage -mv ./Zano-${commit_str}-x86_64.AppImage ./$package_filename +pattern="*.AppImage" +files=( $pattern ) +app_image_file=${files[0]} + + +mv ./$app_image_file ./$package_filename echo "Build success" From 1b898d2afaf9fb756105bedb14a49236689467b7 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Mon, 16 Jan 2023 20:05:43 +0100 Subject: [PATCH 13/19] added disabling sandbox option for qtWebEngine under ubuntu --- src/wallet/wallets_manager.cpp | 6 +++++- utils/build_script_linux_appimage.sh | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/wallet/wallets_manager.cpp b/src/wallet/wallets_manager.cpp index 05a5ac42..f19203c6 100644 --- a/src/wallet/wallets_manager.cpp +++ b/src/wallet/wallets_manager.cpp @@ -53,7 +53,6 @@ const command_line::arg_descriptor arg_alloc_win_console ( "alloc-win-console", "Allocates debug console with GUI", false ); const command_line::arg_descriptor arg_html_folder ( "html-path", "Manually set GUI html folder path"); -const command_line::arg_descriptor arg_xcode_stub ( "-NSDocumentRevisionsDebugMode", "Substitute for xcode bug"); const command_line::arg_descriptor arg_enable_gui_debug_mode ( "gui-debug-mode", "Enable debug options in GUI"); const command_line::arg_descriptor arg_qt_remote_debugging_port ( "remote-debugging-port", "Specify port for Qt remote debugging"); const command_line::arg_descriptor arg_remote_node ( "remote-node", "Switch GUI to work with remote node instead of local daemon"); @@ -62,6 +61,9 @@ const command_line::arg_descriptor arg_disable_logs_init("disable-logs-ini const command_line::arg_descriptor arg_qt_dev_tools ( "qt-dev-tools", "Enable main web page inspection with Chromium DevTools, [,scale], e.g. \"horizontal,1.3\"", ""); const command_line::arg_descriptor arg_disable_price_fetch("gui-disable-price-fetch", "Disable price fetching in UI(for privacy matter)"); +const command_line::arg_descriptor arg_xcode_stub("-NSDocumentRevisionsDebugMode", "Substitute for xcode bug"); +const command_line::arg_descriptor arg_sandbox_disable("no-sandbox", "Substitute for ubuntu/linux rendering problem"); + wallets_manager::wallets_manager():m_pview(&m_view_stub), m_stop_singal_sent(false), #ifndef MOBILE_WALLET_BUILD @@ -172,7 +174,9 @@ bool wallets_manager::init_command_line(int argc, char* argv[], std::string& fai command_line::add_arg(desc_cmd_sett, command_line::arg_log_level); command_line::add_arg(desc_cmd_sett, command_line::arg_console); command_line::add_arg(desc_cmd_only, command_line::arg_show_details); + command_line::add_arg(desc_cmd_sett, arg_alloc_win_console); + command_line::add_arg(desc_cmd_sett, arg_sandbox_disable); command_line::add_arg(desc_cmd_sett, arg_html_folder); command_line::add_arg(desc_cmd_only, arg_xcode_stub); command_line::add_arg(desc_cmd_sett, arg_enable_gui_debug_mode); diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 0af430bb..77dff12c 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -98,7 +98,7 @@ cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/apps cp -Rv ../../resources/app_icon_256.png ./Zano/usr/share/icons/hicolor/256x256/apps/Zano.png -echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --deeplink-params=%u" >> ./Zano/usr/share/applications/Zano.desktop +echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --no-sandbox --deeplink-params=%u" >> ./Zano/usr/share/applications/Zano.desktop if [ $? -ne 0 ]; then echo "Failed to append deskyop file" exit 1 From f7b44e552b27b820fe28a9bf57b1ea9de7eecfbc Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Mon, 16 Jan 2023 22:29:09 +0100 Subject: [PATCH 14/19] fixes to crete manual script in appimage --- utils/Zano_appimage_wrapper.sh | 41 ++++++++++++++++++++++++++++ utils/build_script_linux_appimage.sh | 25 ++++++++++++----- 2 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 utils/Zano_appimage_wrapper.sh diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh new file mode 100644 index 00000000..3d8ef13a --- /dev/null +++ b/utils/Zano_appimage_wrapper.sh @@ -0,0 +1,41 @@ +#!/bin/bash -x +script_dir=$( dirname "$(readlink -f "$0")" ) + +out_dir=~/.local/share/applications +out_file_name="${out_dir}/Zano.desktop" + +call_app() +{ + pushd $script_dir + usr/bin/Zano "$@" + popd + exit +} + + +create_desktop_icon() +{ + target_file_name=$1 + echo "Generating icon file: $target_file_name..." + rm -f "${out_dir}/Zano.png" + rm -f $target_file_name + cp -Rv "${APPDIR}/usr/share/icons/hicolor/256x256/apps/Zano.png" "${out_dir}/Zano.png" + echo [Desktop Entry] | tee -a $target_file_name > /dev/null + echo Version=1.0 | tee -a $target_file_name > /dev/null + echo Name=Zano | tee -a $target_file_name > /dev/null + echo GenericName=Zano | tee -a $target_file_name > /dev/null + echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null + echo Icon=${out_dir}/Zano.png | tee -a $target_file_name > /dev/null + echo Exec=$0 --deeplink-params=%u | tee -a $target_file_name > /dev/null + echo Terminal=true | tee -a $target_file_name > /dev/null + echo Type=Application | tee -a $target_file_name > /dev/null + echo "Categories=Qt;Utility;" | tee -a $target_file_name > /dev/null + echo "MimeType=x-scheme-handler/zano;" | tee -a $target_file_name > /dev/null +} + + +create_desktop_icon $out_file_name + +xdg-mime default Zano.desktop x-scheme-handler/zano + +call_app "$@" \ No newline at end of file diff --git a/utils/build_script_linux_appimage.sh b/utils/build_script_linux_appimage.sh index 77dff12c..94cb3cce 100755 --- a/utils/build_script_linux_appimage.sh +++ b/utils/build_script_linux_appimage.sh @@ -11,6 +11,7 @@ # export QT_PREFIX_PATH=/home/user/Qt5.10.1/5.10.1/gcc_64 # export OPENSSL_ROOT_DIR=/home/user/openssl # export LINUX_DEPLOY_QT=/home/user/QtDeployment.appimage +# export LINUX_APPIMAGE_TOOL=/home/user/AppImageTool.appimage ARCHIVE_NAME_PREFIX=zano-linux-x64- @@ -98,28 +99,38 @@ cp -Rv ../../resources/app_icon.svg ./Zano/usr/share/icons/hicolor/scalable/apps cp -Rv ../../resources/app_icon_256.png ./Zano/usr/share/icons/hicolor/256x256/apps/Zano.png -echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano --no-sandbox --deeplink-params=%u" >> ./Zano/usr/share/applications/Zano.desktop +echo "Exec=$prj_root/build/release/Zano/usr/bin/Zano" >> ./Zano/usr/share/applications/Zano.desktop if [ $? -ne 0 ]; then echo "Failed to append deskyop file" exit 1 fi -$LINUX_DEPLOY_QT ./Zano/usr/share/applications/Zano.desktop -appimage -qmake=$QT_PREFIX_PATH/bin/qmake +$LINUX_DEPLOY_QT ./Zano/usr/share/applications/Zano.desktop -qmake=$QT_PREFIX_PATH/bin/qmake if [ $? -ne 0 ]; then echo "Failed to run linuxqtdeployment" exit 1 fi -rm -f ./Zano-x86_64.AppImage +rm -f $prj_root/build/release/Zano/AppRun +cp -Rv ../../utils/Zano_appimage_wrapper.sh $prj_root/build/release/Zano/AppRun package_filename=${ARCHIVE_NAME_PREFIX}${version_str}.AppImage -pattern="*.AppImage" -files=( $pattern ) -app_image_file=${files[0]} +$LINUX_APPIMAGE_TOOL ./Zano ./$package_filename +if [ $? -ne 0 ]; then + echo "Failed to run appimagetool" + exit 1 +fi -mv ./$app_image_file ./$package_filename + + +#pattern="*.AppImage" +#files=( $pattern ) +#app_image_file=${files[0]} + + +#mv ./$app_image_file ./$package_filename echo "Build success" From 26db77219d3882805232a49a706cb2488aa8b505 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Tue, 17 Jan 2023 14:39:41 +0100 Subject: [PATCH 15/19] fix in appimage wrapper script --- utils/Zano_appimage_wrapper.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 utils/Zano_appimage_wrapper.sh diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh old mode 100644 new mode 100755 index 3d8ef13a..1dd26c6d --- a/utils/Zano_appimage_wrapper.sh +++ b/utils/Zano_appimage_wrapper.sh @@ -26,7 +26,7 @@ create_desktop_icon() echo GenericName=Zano | tee -a $target_file_name > /dev/null echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null echo Icon=${out_dir}/Zano.png | tee -a $target_file_name > /dev/null - echo Exec=$0 --deeplink-params=%u | tee -a $target_file_name > /dev/null + echo Exec=$APPIMAGE --deeplink-params=%u | tee -a $target_file_name > /dev/null echo Terminal=true | tee -a $target_file_name > /dev/null echo Type=Application | tee -a $target_file_name > /dev/null echo "Categories=Qt;Utility;" | tee -a $target_file_name > /dev/null From a4c332e1363d52144d424f0366b070f8d2ee9157 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Tue, 17 Jan 2023 15:48:15 +0100 Subject: [PATCH 16/19] disabling sandbox for qtwebengine --- utils/Zano_appimage_wrapper.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh index 1dd26c6d..5c8183cd 100755 --- a/utils/Zano_appimage_wrapper.sh +++ b/utils/Zano_appimage_wrapper.sh @@ -4,6 +4,8 @@ script_dir=$( dirname "$(readlink -f "$0")" ) out_dir=~/.local/share/applications out_file_name="${out_dir}/Zano.desktop" +export QTWEBENGINE_DISABLE_SANDBOX=1 + call_app() { pushd $script_dir @@ -31,6 +33,7 @@ create_desktop_icon() echo Type=Application | tee -a $target_file_name > /dev/null echo "Categories=Qt;Utility;" | tee -a $target_file_name > /dev/null echo "MimeType=x-scheme-handler/zano;" | tee -a $target_file_name > /dev/null + echo "StartupWMClass=Zano" | tee -a $target_file_name > /dev/null } From d9120d8249c967bb9c3183f063e644846a1dcacc Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Wed, 18 Jan 2023 14:00:13 +0100 Subject: [PATCH 17/19] replaced icon from png to svg --- utils/Zano_appimage_wrapper.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh index 5c8183cd..43b7de5c 100755 --- a/utils/Zano_appimage_wrapper.sh +++ b/utils/Zano_appimage_wrapper.sh @@ -21,13 +21,13 @@ create_desktop_icon() echo "Generating icon file: $target_file_name..." rm -f "${out_dir}/Zano.png" rm -f $target_file_name - cp -Rv "${APPDIR}/usr/share/icons/hicolor/256x256/apps/Zano.png" "${out_dir}/Zano.png" + cp -Rv "${APPDIR}/usr/share/icons/hicolor/scalable/apps/Zano.svg" "${out_dir}/Zano.Svg" echo [Desktop Entry] | tee -a $target_file_name > /dev/null echo Version=1.0 | tee -a $target_file_name > /dev/null echo Name=Zano | tee -a $target_file_name > /dev/null echo GenericName=Zano | tee -a $target_file_name > /dev/null echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null - echo Icon=${out_dir}/Zano.png | tee -a $target_file_name > /dev/null + echo Icon=${out_dir}/Zano.svg | tee -a $target_file_name > /dev/null echo Exec=$APPIMAGE --deeplink-params=%u | tee -a $target_file_name > /dev/null echo Terminal=true | tee -a $target_file_name > /dev/null echo Type=Application | tee -a $target_file_name > /dev/null From d39c86207b13125141fe9eebe06e867492486166 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Wed, 18 Jan 2023 15:13:49 +0100 Subject: [PATCH 18/19] Replace image with rounded shape --- resources/app_icon_256.png | Bin 15775 -> 9869 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/app_icon_256.png b/resources/app_icon_256.png index dc0ee9275fcab9d14eacc44b4e159a26cc41ae67..c2cb15254cc9cd6689594c8267945fe485c123d1 100644 GIT binary patch literal 9869 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 literal 15775 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 QKU=7k Date: Wed, 18 Jan 2023 15:15:13 +0100 Subject: [PATCH 19/19] Update Zano_appimage_wrapper.sh --- utils/Zano_appimage_wrapper.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/Zano_appimage_wrapper.sh b/utils/Zano_appimage_wrapper.sh index 43b7de5c..7aace196 100755 --- a/utils/Zano_appimage_wrapper.sh +++ b/utils/Zano_appimage_wrapper.sh @@ -21,13 +21,13 @@ create_desktop_icon() echo "Generating icon file: $target_file_name..." rm -f "${out_dir}/Zano.png" rm -f $target_file_name - cp -Rv "${APPDIR}/usr/share/icons/hicolor/scalable/apps/Zano.svg" "${out_dir}/Zano.Svg" + cp -Rv "${APPDIR}/usr/share/icons/hicolor/256x256/apps/Zano.png" "${out_dir}/Zano.png" echo [Desktop Entry] | tee -a $target_file_name > /dev/null echo Version=1.0 | tee -a $target_file_name > /dev/null echo Name=Zano | tee -a $target_file_name > /dev/null echo GenericName=Zano | tee -a $target_file_name > /dev/null echo Comment=Privacy blockchain | tee -a $target_file_name > /dev/null - echo Icon=${out_dir}/Zano.svg | tee -a $target_file_name > /dev/null + echo Icon=${out_dir}/Zano.png | tee -a $target_file_name > /dev/null echo Exec=$APPIMAGE --deeplink-params=%u | tee -a $target_file_name > /dev/null echo Terminal=true | tee -a $target_file_name > /dev/null echo Type=Application | tee -a $target_file_name > /dev/null @@ -41,4 +41,4 @@ create_desktop_icon $out_file_name xdg-mime default Zano.desktop x-scheme-handler/zano -call_app "$@" \ No newline at end of file +call_app "$@"