diff --git a/Makefile b/Makefile index 78f2e9333513c152c5b09034f87b2687f76b8445..a62f2e20378aa8e6a844da38db806e971d877d89 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,9 @@ dependsCygwin: @choco install -y golang python nssm nsis wget 7zip build: + gui/build.sh + +build_old: ifeq (${XBUILD}, yes) $(MAKE) build_cross_win $(MAKE) build_cross_osx diff --git a/bitmask.pro b/bitmask.pro index 3ab8507943a41cb197cdae16b6d0cbb47159283a..7f4b488a4a2ed81731332a27061cdfcd8f5cb256 100644 --- a/bitmask.pro +++ b/bitmask.pro @@ -9,6 +9,7 @@ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14 macx { LIBS += -framework Security + ICON = ./branding/assets/riseup/icon.icns } QT += qml quick widgets diff --git a/gui/build.sh b/gui/build.sh index 1ded17ed33923f45d947b54e94dd86dae88f4b0d..91be4fcdbc94febde7845c333d32b9c0d863f9cb 100755 --- a/gui/build.sh +++ b/gui/build.sh @@ -20,8 +20,8 @@ fi if [ "$XBUILD" == "$WIN64" ] then # TODO allow to override vars - QMAKE="`pwd`/../mxe/usr/x86_64-w64-mingw32.static/qt5/bin/qmake" - PATH="`pwd`/../mxe/usr/bin"/:$PATH + QMAKE="`pwd`/../../mxe/usr/x86_64-w64-mingw32.static/qt5/bin/qmake" + PATH="`pwd`/../../mxe/usr/bin"/:$PATH CC=x86_64-w64-mingw32.static-gcc else if [ "$QMAKE" == "" ] diff --git a/gui/handlers.h b/gui/handlers.h index d746524b8bd08f152a9c7d6e2948d77fa1f9c2c8..c342a977dcffebd03672bb017a4030aa764b2c39 100644 --- a/gui/handlers.h +++ b/gui/handlers.h @@ -12,8 +12,6 @@ class QJsonWatch : public QObject { Q_OBJECT - QJsonModel *model; - public: signals: diff --git a/installer/.gitignore b/installer/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2fdd01e5418833d7fc8812e5930490321f808daf --- /dev/null +++ b/installer/.gitignore @@ -0,0 +1,4 @@ +.qmake.stash +Makefile +packages/riseupvpn/data/riseup-vpn +RiseupVPN-Installer diff --git a/installer/bitmask-installer.pro b/installer/bitmask-installer.pro new file mode 100644 index 0000000000000000000000000000000000000000..c526283de206dbd2647556bf53d98aa1e0330a93 --- /dev/null +++ b/installer/bitmask-installer.pro @@ -0,0 +1,21 @@ +TEMPLATE = aux + +CONFIG -= debug_and_release + +INSTALLER = RiseupVPN-Installer + +INPUT = $$PWD/config/config.xml $$PWD/packages +inst.input = INPUT +inst.output = $$INSTALLER +inst.commands = binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT} +inst.CONFIG += target_predeps no_link combine + +QMAKE_EXTRA_COMPILERS += inst + +OTHER_FILES += \ +# watch out... it chokes with dashes in the path + packages/riseupvpn/meta/package.xml \ + packages/riseupvpn/meta/install.js \ + packages/riseupvpn/data/README.txt \ + packages/riseupvpn/data/riseup-vpn + diff --git a/installer/config/config.xml b/installer/config/config.xml new file mode 100644 index 0000000000000000000000000000000000000000..ef0e5e8b95462d3f52a57f3ee53bf1d286c37880 --- /dev/null +++ b/installer/config/config.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Installer> + <Name>RiseupVPN Installer 1.0</Name> + <Title>RiseupVPN Installer</Title> + <Version>1.0.0</Version> + <TargetDir>@ApplicationsDir@/RiseupVPN</TargetDir> + <RemoteRepositories> + <Repository> + <Url>http://localhost/repository/</Url> + </Repository> + </RemoteRepositories> +</Installer> diff --git a/installer/packages/riseupvpn/data/README.txt b/installer/packages/riseupvpn/data/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..616eb29ec3236f9cac06a4bfcb3d2c2e4d08aa3e --- /dev/null +++ b/installer/packages/riseupvpn/data/README.txt @@ -0,0 +1 @@ +RiseupVPN README diff --git a/installer/packages/riseupvpn/meta/install.js b/installer/packages/riseupvpn/meta/install.js new file mode 100644 index 0000000000000000000000000000000000000000..e5174e171aa305f11406a4fe0793db5e477378e6 --- /dev/null +++ b/installer/packages/riseupvpn/meta/install.js @@ -0,0 +1,51 @@ +/**************************************************************************** +** +** Copyright (C) 2020 LEAP +** +****************************************************************************/ + +function Component() { +} + +Component.prototype.createOperations = function () +{ + // This will actually install the files + component.createOperations(); + + // And now our custom actions. + // See https://doc.qt.io/qtinstallerframework/operations.html for reference + // + // We can also use this to register different components (different architecture for instance) + // See https://doc.qt.io/qtinstallerframework/qt-installer-framework-systeminfo-packages-root-meta-installscript-qs.html + + console.log("Post installation. Checking platform...") + if (systemInfo.productType === "windows") { + console.log("Platform: windows"); + postInstallWindows(); + } else if (systemInfo.productType === "osx") { + console.log("Platform: osx"); + postInstallOSX(); + } else { + console.log("Platform: linux"); + postInstallLinux(); + } +} + +function postInstallWindows() { + component.addOperation("CreateShortcut", + "@TargetDir@/README.txt", + "@StartMenuDir@/README.lnk", + "workingDirectory=@TargetDir@", + "iconPath=%SystemRoot%/system32/SHELL32.dll", + "iconId=2"); +} + +function postInstallOSX() { + console.log("TODO: should do osx post-installation"); +} + +function postInstallLinux() { + console.log("TODO: should do linux post-installation"); + console.log("Maybe you want to use your package manager instead?"); + component.addOperation("AppendFile", "/tmp/riseupvpn.log", "this is a test - written from the installer"); +} diff --git a/installer/packages/riseupvpn/meta/package.xml b/installer/packages/riseupvpn/meta/package.xml new file mode 100644 index 0000000000000000000000000000000000000000..4dd7ae9ecb61349c6687e672cf3f12fc2d3db218 --- /dev/null +++ b/installer/packages/riseupvpn/meta/package.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Package> + <DisplayName>RiseupVPN</DisplayName> + <Description>RiseupVPN</Description> + <Version>0.20.6-1</Version> + <ReleaseDate>2020-07-01</ReleaseDate> + <Default>false</Default> + <RequiresAdminRights>true</RequiresAdminRights> + <Script>install.js</Script> + <ForcedInstallation>true</ForcedInstallation> +</Package>