From 5ad8f19a435582fcc11227a805c29b26d97d1957 Mon Sep 17 00:00:00 2001 From: EndrII Date: Wed, 15 May 2019 14:56:38 +0300 Subject: [PATCH] add installer --- .gitignore | 4 + CQtDeployer.pro | 2 + QuasarAppLib | 2 +- installer/config/banner.png | Bin 0 -> 19886 bytes installer/config/configLinux.xml | 27 ++++ installer/config/configWin.xml | 27 ++++ installer/config/controlScript.js | 73 +++++++++ installer/config/icon.ico | Bin 0 -> 118236 bytes installer/config/logo.png | Bin 0 -> 19886 bytes installer/config/ru.ts | 62 ++++++++ installer/config/style.css | 62 ++++++++ installer/install_prefix.pri | 33 ++++ installer/installer.pri | 148 ++++++++++++++++++ installer/packages/Installer/data/icon.ico | Bin 0 -> 118236 bytes installer/packages/Installer/data/logo.png | Bin 0 -> 19886 bytes .../packages/Installer/meta/installscript.js | 13 ++ installer/packages/Installer/meta/package.xml | 14 ++ installer/packages/Installer/meta/ru.ts | 17 ++ .../cqtdeployer/meta/installscript.js | 17 ++ .../packages/cqtdeployer/meta/package.xml | 14 ++ installer/packages/cqtdeployer/meta/ru.ts | 18 +++ test.pri | 12 ++ 22 files changed, 544 insertions(+), 1 deletion(-) create mode 100644 installer/config/banner.png create mode 100644 installer/config/configLinux.xml create mode 100644 installer/config/configWin.xml create mode 100644 installer/config/controlScript.js create mode 100644 installer/config/icon.ico create mode 100644 installer/config/logo.png create mode 100644 installer/config/ru.ts create mode 100644 installer/config/style.css create mode 100644 installer/install_prefix.pri create mode 100644 installer/installer.pri create mode 100644 installer/packages/Installer/data/icon.ico create mode 100644 installer/packages/Installer/data/logo.png create mode 100644 installer/packages/Installer/meta/installscript.js create mode 100644 installer/packages/Installer/meta/package.xml create mode 100644 installer/packages/Installer/meta/ru.ts create mode 100644 installer/packages/cqtdeployer/meta/installscript.js create mode 100644 installer/packages/cqtdeployer/meta/package.xml create mode 100644 installer/packages/cqtdeployer/meta/ru.ts create mode 100644 test.pri diff --git a/.gitignore b/.gitignore index 0fd002c..0a4495e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ object_script.*.Debug *.qbs.user *.qbs.user.* *.moc +*.qm moc_*.cpp moc_*.h qrc_*.cpp @@ -58,6 +59,9 @@ sharedQtWin32/ sharedQtWin64/ distro/ +Distro/ +deployTests/ +installer/packages/cqtdeployer/data/ staticQt/ staticQtWin32/ diff --git a/CQtDeployer.pro b/CQtDeployer.pro index 9db5f9a..f28005a 100644 --- a/CQtDeployer.pro +++ b/CQtDeployer.pro @@ -32,6 +32,8 @@ QuasarAppLib.file = $$PWD/QuasarAppLib/QuasarApp.pro Pe.file = $$PWD/pe/pe-parser-library/pe-parser-library.pro win32:include('$$PWD/CQtDeployerWinBuild.pri') +include('$$PWD/installer/installer.pri') +include($$PWD/test.pri) DISTFILES += \ snapBuild.sh \ diff --git a/QuasarAppLib b/QuasarAppLib index a984e8d..9556d4d 160000 --- a/QuasarAppLib +++ b/QuasarAppLib @@ -1 +1 @@ -Subproject commit a984e8d6d0387d32cbbc39483a68aa8cc64f0302 +Subproject commit 9556d4d100bc79f9851ee9e8553fb2c73cc6cc3e diff --git a/installer/config/banner.png b/installer/config/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..732ab313cd8d6f45e1f7a19ddc1c6b27c12bab93 GIT binary patch literal 19886 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 + + 640px + 400px + CQtDeployer + 1.2.1 + CQtDeployer + QuasarApp + CQtDeployer + @HomeDir@/CQtDeployer + true + true + controlScript.js + CQtDeployerTool + Classic + style.css + banner.png + logo.png + + + + http://178.124.160.6:3030/CQtDeployer/Linux + 1 + QuasarApp + + + diff --git a/installer/config/configWin.xml b/installer/config/configWin.xml new file mode 100644 index 0000000..7fe9316 --- /dev/null +++ b/installer/config/configWin.xml @@ -0,0 +1,27 @@ + + + 640px + 400px + CQtDeployer + 1.2.1 + CQtDeployer + QuasarApp + CQtDeployer + @HomeDir@/CQtDeployer + true + true + controlScript.js + CQtDeployerTool + Classic + style.css + banner.png + logo.png + + + + http://178.124.160.6:3030/CQtDeployer/Windows + 1 + QuasarApp + + + diff --git a/installer/config/controlScript.js b/installer/config/controlScript.js new file mode 100644 index 0000000..e04a6a2 --- /dev/null +++ b/installer/config/controlScript.js @@ -0,0 +1,73 @@ +function Controller() +{ + generateTr(); + + installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes); + installer.uninstallationFinished.connect(this, Controller.prototype.uninstallationFinished); + installer.installationFinished.connect(this, Controller.prototype.installationFinished); +} + +function generateTr() { + console.log("generate tr start ") + + installer.setValue("Name", qsTr("CQtDeployer")); + installer.setValue("Title", qsTr("Install CQtDeployer")); +} + +Controller.prototype.uninstallationFinished = function() +{ + console.log("hometDir " + homeDir) + + if (systemInfo.kernelType === "winnt") { + if (!installer.gainAdminRights()) { + QMessageBox["warning"](qsTr("install in system"), qsTr("Installer"), + qsTr("To uninstall cqtdeployer on your system, you need administrator rights!. "), QMessageBox.Ok); + + return; + } + + installer.execute("DELETE", ["C:\Windows\system32\cqtdeployer.exe"]) + + installer.dropAdminRights(); + + } else { + installer.execute("rm", ["-f", homeDir + "/.local/bin/cqtdeployer"]) + } + +} + + +Controller.prototype.installationFinished = function() +{ + + targetDir = installer.value("TargetDir", ""); + homeDir = installer.value("HomeDir", ""); + + console.log("targetDir " + targetDir) + console.log("hometDir " + homeDir) + + if (systemInfo.kernelType === "winnt") { + if (!installer.gainAdminRights()) { + QMessageBox["warning"](qsTr("install in system"), qsTr("Installer"), + qsTr("To install cqtdeployer on your system, you need administrator rights!. ") + + qsTr("The installation was successful, but cqtdeployer will not be available from the console. ") + + qsTr("To take advantage of this program you will need to enter the full path to it. ") + + qsTr("Example: ") + targetDir + "\cqtdeployer.exe", QMessageBox.Ok); + + return; + } + + installer.execute("DELETE", ["C:\Windows\system32\cqtdeployer.exe"]) + installer.execute("mklink", [targetDir + "\cqtdeployer.exe", "C:\Windows\system32\cqtdeployer.exe"]) + + installer.dropAdminRights(); + + } else { + installer.execute("ln", ["-sf", targetDir + "/cqtdeployer.sh", + homeDir + "/.local/bin/cqtdeployer"]) + } + + QMessageBox["information"](qsTr("install in system"), qsTr("Installer"), + qsTr("CQtDeployer successfully installed on your computer to use the call \"cqtdeployer\"."), + QMessageBox.Ok); +} diff --git a/installer/config/icon.ico b/installer/config/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8bee1682f7e8b3b3729c29ebcd7210bcd8d4e461 GIT binary patch literal 118236 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 literal 0 HcmV?d00001 diff --git a/installer/config/logo.png b/installer/config/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..732ab313cd8d6f45e1f7a19ddc1c6b27c12bab93 GIT binary patch literal 19886 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 + + + + controlScript + + + CQtDeployer + + + + + Install CQtDeployer + Install Snake + + + + + + + install in system + + + + + + + Installer + + + + + To uninstall cqtdeployer on your system, you need administrator rights!. + + + + + To install cqtdeployer on your system, you need administrator rights!. + + + + + The installation was successful, but cqtdeployer will not be available from the console. + + + + + To take advantage of this program you will need to enter the full path to it. + + + + + Example: + + + + + CQtDeployer successfully installed on your computer to use the call "cqtdeployer". + + + + diff --git a/installer/config/style.css b/installer/config/style.css new file mode 100644 index 0000000..f5282ce --- /dev/null +++ b/installer/config/style.css @@ -0,0 +1,62 @@ +.QWidget { + background-color: rgb(255, 255, 255); + min-width: 640px; +} + +.QLabel { + color: #000000; +} + +.QPushButton { + background-color: transparent; + border: 2px solid #ffffff; + border-radius: 3px; + height: 30px; + min-width: 100px; + padding: 0 15px; +} + +.QPushButton:pressed, +.QPushButton:checked { + background-color: #2ed3ed; +} + +.QPushButton:focus { + background-color: #aaf2ff; +} + +.QPushButton:hover { + border: 2px solid #2ed3ed; +} + + +.QProgressBar { + background: #b1dbcc; + border: 1px solid #cdcdcd; + border-radius: 2px; + padding: 0; + margin: 0; + color: #ffffff; + height: 30px; + text-align: center; +} + +.QProgressBar::chunk { + background: #16dbcc; + border-radius: 2px; + margin: 0; +} + +.QProgressBar:hover { + border-color: #2ed3ed; +} + +.QLineEdit { + background-color: transparent; + border-color: #cdcdcd; + height: 30px; +} + +.QLineEdit:hover { + border-color: #2ed3ed; +} diff --git a/installer/install_prefix.pri b/installer/install_prefix.pri new file mode 100644 index 0000000..db34b97 --- /dev/null +++ b/installer/install_prefix.pri @@ -0,0 +1,33 @@ +!isEmpty(INSTALL_REFIX_PRI_INCLUDED):error("install_prefix.pri already included") +INSTALL_REFIX_PRI_INCLUDED = 1 + +unix:libfiletype=*.so* +win32:libfiletype=*.dll +unix:runfiletype=* +win32:runfiletype=*.exe + +isEmpty(PREFIX_BIN) { + isEmpty(PREFIX) { + PREFIX_BIN = $$PWD/distro + } else { + unix:PREFIX_BIN = $$PREFIX/bin + win32:PREFIX_BIN = $$PREFIX + } +} + +isEmpty(PREFIX_LIB) { + isEmpty(PREFIX) { + PREFIX_LIB = $$PWD/distro + } else { + unix:PREFIX_LIB = $$PREFIX/lib + win32:PREFIX_LIB = $$PREFIX + } +} + +target_bin.path = $$PREFIX_BIN +target_bin.CONFIG += no_check_exist +target_lib.path = $$PREFIX_LIB +target_lib.CONFIG += no_check_exist + +INSTALLS += target_bin target_lib + diff --git a/installer/installer.pri b/installer/installer.pri new file mode 100644 index 0000000..68445f0 --- /dev/null +++ b/installer/installer.pri @@ -0,0 +1,148 @@ +QT_DIR = $$dirname(QMAKE_QMAKE) +#QML_DIR = $$PWD/../Snake/ +DEPLOY_TARGET = $$PWD/../CQtDeployer/build/release + +win32:LUPDATE = $$QT_DIR/lupdate.exe +win32:LRELEASE = $$QT_DIR/lrelease.exe + +win32:DEPLOYER = cqtdeployer.exe + +win32:OUT_FILE = CQtDeployerInstaller.exe + +contains(QMAKE_HOST.os, Linux):{ + LUPDATE = $$QT_DIR/lupdate + LRELEASE = $$QT_DIR/lrelease + + DEPLOYER = cqtdeployer + + OUT_FILE = CQtDeployerInstaller + +} + +BINARY_LIST +REPO_LIST +exists( $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/ ) { + message( "QtInstallerFramework v3.0: yes" ) + BINARY_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/binarycreator + REPO_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/3.0/bin/repogen + +} +exists( $$QT_DIR/../../../Tools/QtInstallerFramework/2.0/bin/ ) { + message( "QtInstallerFramework v2.0: yes" ) + BINARY_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/2.0/bin/binarycreator + REPO_LIST += $$QT_DIR/../../../Tools/QtInstallerFramework/2.0/bin/repogen +} + +isEmpty (BINARY_LIST) { + error( "QtInstallerFramework not found!" ) +} + +win32:EXEC=$$first(BINARY_LIST).exe + +win32:REPOGEN=$$first(REPO_LIST).exe + +contains(QMAKE_HOST.os, Linux):{ + unix:EXEC=$$first(BINARY_LIST) + win32:EXEC=wine $$first(BINARY_LIST).exe + + REPOGEN=$$first(REPO_LIST) +} + +message( selected $$EXEC and $$REPOGEN) + + +SUPPORT_LANGS = ru + +defineReplace(findFiles) { + patern = $$1 + path = $$2 + + all_files = $$files(*$${patern}, true) + win32:all_files ~= s|\\\\|/|g + win32:path ~= s|\\\\|/|g + + for(file, all_files) { + result += $$find(file, $$path) + } + + return($$result) +} + +XML_FILES = $$files(*.xml, true) + +for(LANG, SUPPORT_LANGS) { + for(XML, XML_FILES) { + FILE_PATH = $$dirname(XML) + + JS_FILES = $$findFiles(".js", $$FILE_PATH) + UI_FILES = $$findFiles(".ui", $$FILE_PATH) + + commands += "$$LUPDATE $$JS_FILES $$UI_FILES -ts $$FILE_PATH/$${LANG}.ts" + TS_FILES += $$FILE_PATH/$${LANG}.ts + + } + + for(TS, TS_FILES) { + commands += "$$LRELEASE $$TS" + } +} + +for(command, commands) { + system($$command)|error("Failed to run: $$command") +} + +BASE_DEPLOY_FLAGS = clear -qmake $$QMAKE_QMAKE -libDir $$PWD/../ -recursiveDepth 3 +BASE_DEPLOY_FLAGS_SNAKE = $$BASE_DEPLOY_FLAGS -targetDir $$PWD/packages/cqtdeployer/data + +deploy_dep.commands += $$DEPLOYER -bin $$DEPLOY_TARGET $$BASE_DEPLOY_FLAGS_SNAKE + +mkpath( $$PWD/../Distro) + +win32:CONFIG_FILE = $$PWD/config/configWin.xml +unix:CONFIG_FILE = $$PWD/config/configLinux.xml + +deploy.commands = $$EXEC \ + --offline-only \ + -c $$CONFIG_FILE \ + -p $$PWD/packages \ + $$PWD/../Distro/$$OUT_FILE + +deploy.depends = deploy_dep + +win32:ONLINE_REPO_DIR = $$ONLINE/CQtDeployer/Windows +unix:ONLINE_REPO_DIR = $$ONLINE/CQtDeployer/Linux + +create_repo.commands = $$REPOGEN \ + --update-new-components \ + -p $$PWD/packages \ + $$ONLINE_REPO_DIR + +message( ONLINE_REPO_DIR $$ONLINE_REPO_DIR) +!isEmpty( ONLINE ) { + + message(online) + + release.depends = create_repo + + deploy.commands = $$EXEC \ + --online-only \ + -c $$CONFIG_FILE \ + -p $$PWD/packages \ + $$PWD/../Distro/$$OUT_FILE +} + +OTHER_FILES += \ + $$PWD/config/*.xml \ + $$PWD/config/*.js \ + $$PWD/config/*.ts \ + $$PWD/config/*.css \ + $$PWD/packages/Installer/meta/* \ + $$PWD/packages/Installer/data/app.check \ + $$PWD/packages/cqtdeployer/meta/* \ + + +QMAKE_EXTRA_TARGETS += \ + deploy_dep \ + deploy \ + create_repo \ + release \ diff --git a/installer/packages/Installer/data/icon.ico b/installer/packages/Installer/data/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8bee1682f7e8b3b3729c29ebcd7210bcd8d4e461 GIT binary patch literal 118236 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 literal 0 HcmV?d00001 diff --git a/installer/packages/Installer/data/logo.png b/installer/packages/Installer/data/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..732ab313cd8d6f45e1f7a19ddc1c6b27c12bab93 GIT binary patch literal 19886 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 + + from script + from script + 1.0.0 + true + true + + 2018-08-25 + 201 + + ru.qm + + diff --git a/installer/packages/Installer/meta/ru.ts b/installer/packages/Installer/meta/ru.ts new file mode 100644 index 0000000..60ae83d --- /dev/null +++ b/installer/packages/Installer/meta/ru.ts @@ -0,0 +1,17 @@ + + + + + installscript + + + Installer + + + + + This package contains information of installer + + + + diff --git a/installer/packages/cqtdeployer/meta/installscript.js b/installer/packages/cqtdeployer/meta/installscript.js new file mode 100644 index 0000000..652dc4f --- /dev/null +++ b/installer/packages/cqtdeployer/meta/installscript.js @@ -0,0 +1,17 @@ +function Component() +{ + generateTr(); +} + +function generateTr() { + component.setValue("DisplayName", qsTr("CQtDeployer")); + component.setValue("Description", qsTr("This package contains CQtDeployer")); +} + + +Component.prototype.createOperations = function() +{ +// // call default implementation to actually install README.txt! + component.createOperations(); + +} diff --git a/installer/packages/cqtdeployer/meta/package.xml b/installer/packages/cqtdeployer/meta/package.xml new file mode 100644 index 0000000..474386b --- /dev/null +++ b/installer/packages/cqtdeployer/meta/package.xml @@ -0,0 +1,14 @@ + + + CQtDeployer + CQtDeployer + 1.2.1 + true + false + + 2019-05-14 + 200 + + ru.qm + + diff --git a/installer/packages/cqtdeployer/meta/ru.ts b/installer/packages/cqtdeployer/meta/ru.ts new file mode 100644 index 0000000..1e96f16 --- /dev/null +++ b/installer/packages/cqtdeployer/meta/ru.ts @@ -0,0 +1,18 @@ + + + + + installscript + + + CQtDeployer + + + + + This package contains CQtDeployer + This package contains Snake + + + + diff --git a/test.pri b/test.pri new file mode 100644 index 0000000..94390d4 --- /dev/null +++ b/test.pri @@ -0,0 +1,12 @@ +unix:exec = $$PWD/UnitTests/build/release/UnitTests +win32:exec = $$PWD/UnitTests/build/release/UnitTests.exe + +deployTest.commands = cqtdeployer -bin $$exec clear -qmake $$QMAKE_QMAKE -targetDir $$PWD/deployTests -libDir $$PWD -recursiveDepth 3 + +test.depends = deployTest +unix:test.commands = $$PWD/deployTests/UnitTests.sh +win32:test.commands = $$PWD/deployTests/UnitTests.exe + +QMAKE_EXTRA_TARGETS += \ + deployTest \ + test