Skip to content

Commit

Permalink
Added scripts and related files for creating AppImage with linuxdeplo…
Browse files Browse the repository at this point in the history
…yqt+added linuxdeployqt
  • Loading branch information
3dproger committed Jan 4, 2020
1 parent 4d9bdac commit 8be56cb
Show file tree
Hide file tree
Showing 12 changed files with 480 additions and 354 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ deploy/windows/inno_setup_projects/Output*

deploy/unix/i386/appdir/*
deploy/unix/amd64/appdir/*
deploy/unix/linuxdeployqt/Process_Dependency_Monitor*.AppImage
*.pro.user*


*.pro.user*
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Process Dependency Monitor
Comfortable cross-platform process dependency monitor with GUI based on Qt. Useful for the process of deploying your applications and controlling process dependencies

During development a template was used: [TemplateQtWidgets](https://github.com/3dproger/TemplateQtWidgets)

<p align="center">
<br>
<img src="misc/screenshot2.png">
<br>
<br>
<img src="misc/screenshot1.png">
</p>

# Process Dependency Monitor
Comfortable cross-platform process dependency monitor with GUI based on Qt. Useful for the process of deploying your applications and controlling process dependencies

During development a template was used: [TemplateQtWidgets](https://github.com/3dproger/TemplateQtWidgets)

<p align="center">
<br>
<img src="misc/screenshot2.png">
<br>
<br>
<img src="misc/screenshot1.png">
</p>

2 changes: 2 additions & 0 deletions deploy/unix/linuxdeployqt/Readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Возможно потребуется добавить путь к qmake в переенную PATH:
export PATH="${PATH}:${HOME}/Qt/5.12.6/gcc_64/bin"
13 changes: 13 additions & 0 deletions deploy/unix/linuxdeployqt/app.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Desktop Entry]
Name=Process Dependency Monitor
GenericName=Retrieving information about loaded process dependencies
GenericName[ru]=Получение информации о загруженных зависимостях процесса
Comment=Сross-platform program with GUI for obtaining information about loaded process dependencies
Comment[ru]=Кроссплатформенная программа с графическим пользовательским интерфейсом для получения информации о загруженных зависимостей процессов
Exec=procdepmonitor %F
Icon=procdepmonitor
Terminal=false
Type=Application
Categories=Development;
Keywords=Dependence;Deployment;Deploy;Assembly;Compilation;Process;Monitor;Monitoring;Software;Development;Programming;
Keywords[ru]=Зависимость;Развёртывание;Сборка;Компиляция;Процесс;Монитор;Мониторинг;Программа;Разработка;Программирование;
105 changes: 105 additions & 0 deletions deploy/unix/linuxdeployqt/deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
#!/bin/bash

#Версия программы
export VERSION="1.1.1"

#Указываем архитектуру
export ARCH="x86_64"

#Путь к qmake
QMakeExecutable="${HOME}/Qt/5.12.6/gcc_64/bin/qmake"

echo "Version: \"$VERSION\""
AppName="procdepmonitor"
AppDir="../amd64/appdir"
IconsDir="icons"

TargetBinaryDir="$AppDir/usr/bin"
TargetBinary="$TargetBinaryDir/$AppName"
DesktopFile="app.desktop"
DesktopFileTargetDir="$AppDir/usr/share/applications"
DesktopFileTarget="$DesktopFileTargetDir/$AppName.desktop"
#ResCommonDir="../../deploy/desktop/RelatedFiles/common"
#ResCommonUnixDir="../../deploy/desktop/RelatedFiles/unix/x86_64"
LibTargetDir="$AppDir/usr/lib"

#Проверяем наличие qmake
if [ ! -f "$QMakeExecutable" ]; then
echo "Error: \"${QMakeExecutable}\" not found. Can not continue."
exit 1
fi

#Проверяем наличие папки с программой
if [ ! -d "$AppDir" ]; then
echo "Error: \"${AppDir}\" not found. Can not continue."
exit 1
fi

#ToDo: возможно стиот добавить скрипт для очистки старых файлов

#Копируем из папки common
#if [ -d "$ResCommonDir" ]; then
# cp -rf "$ResCommonDir/." "$TargetBinaryDir/"
#else
# echo "Warning: \"${ResCommonDir}\" not found!"
#fi

#Копируем из обще папки для всех систем
#if [ -d "$ResCommonDir" ]; then
# cp -rf "$ResCommonDir/." "$TargetBinaryDir/"
#else
# echo "Warning: \"${ResCommonDir}\" not found!"
#fi

#Копируем из общей папки для unix
#if [ -d "$ResCommonUnixDir" ]; then
# cp -rf "$ResCommonUnixDir/." "$TargetBinaryDir/"
#else
# echo "Warning: \"${ResCommonUnixDir}\" not found!"
#fi

#Удаляем старую иконку
if [ -f "$AppDir/$AppName.png" ]; then
rm "$AppDir/$AppName.png"
fi

#Копируем иконки
if [ ! -d "$IconsDir" ]; then
echo "Warning: \"${IconsDir}\" not found!"
fi

mkdir -p "$AppDir/usr/share"

cp -rf "$IconsDir" "$AppDir/usr/share"

#Удаляем старую ненужную ссылку AppRun
if [ -L "$AppDir/AppRun" ]; then
rm "$AppDir/AppRun"
fi

#Удаляем старый ненужный *.desktop файл
if [ -f "$AppDir/$AppName.desktop" ]; then
rm "$AppDir/$AppName.desktop"
fi

#Копируем *.desktop
if [ -f "$DesktopFile" ]; then
mkdir -p "$DesktopFileTargetDir"
cp -f "$DesktopFile" "$DesktopFileTargetDir/$AppName.desktop"
else
echo "Warning: \"${DesktopFile}\" not found!"
fi

#Копируем SSL библиотеки
#mkdir -p "$LibTargetDir"
#cp -f "OpenSSLLibs/libcrypto.so.1.1" "$LibTargetDir"
#cp -f "OpenSSLLibs/libssl.so.1.1" "$LibTargetDir"

#Проверяем наличие исполнительного файла
if [ ! -f "$TargetBinary" ]; then
echo "Error: \"${TargetBinary}\" not found. Can not continue."
exit 1
fi

#Запускаем сборщик linuxdeployqt
./linuxdeployqt-6-x86_64.AppImage "$DesktopFileTarget" -always-overwrite -appimage -extra-plugins=imageformats/libqsvg.so -qmake="$QMakeExecutable"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading

0 comments on commit 8be56cb

Please sign in to comment.