From e30c62d777449cf97309acc9e3ff18920cc68be8 Mon Sep 17 00:00:00 2001 From: Pedro Date: Tue, 26 Nov 2019 10:49:20 -0500 Subject: [PATCH] creating app image for alice, resolves #1231 --- electron_app/package.json | 42 +++++++++++++----- email_composer/package.json | 2 +- email_loading/package.json | 2 +- email_login/package.json | 2 +- email_mailbox/package.json | 2 +- signal_interface/build.sh | 13 ++++++ .../criptext-encryption-service.desktop | 5 +++ signal_interface/installation/icon.png | Bin 0 -> 20554 bytes .../installation/linux/linux_binding.gyp | 2 +- 9 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 signal_interface/build.sh create mode 100755 signal_interface/installation/criptext-encryption-service.desktop create mode 100644 signal_interface/installation/icon.png diff --git a/electron_app/package.json b/electron_app/package.json index 0d9ae8f6e..23529eecc 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -1,6 +1,6 @@ { "name": "criptext", - "version": "0.26.0", + "version": "0.26.2", "author": { "name": "Criptext Inc", "email": "support@criptext.com", @@ -35,13 +35,6 @@ "appId": "com.criptext.criptextmail", "afterSign": "notarize.js", "buildVersion": "1", - "extraResources": [{ - "from": "../signal_interface/build/Release/", - "to": "extraResources", - "filter": [ - "**/*" - ] - }], "mac": { "hardenedRuntime": true, "gatekeeperAssess": false, @@ -58,7 +51,16 @@ "publish": [{ "provider": "generic", "url": "https://cdn.criptext.com/Criptext-Email-Desktop/mac" - }] + }], + "extraResources": [ + { + "from": "../signal_interface/build/Release/", + "to": "extraResources", + "filter": [ + "**/*" + ] + } + ] }, "mas": { "category": "public.app-category.productivity", @@ -102,7 +104,16 @@ "publish": [{ "provider": "generic", "url": "https://cdn.criptext.com/Criptext-Email-Desktop/linux" - }] + }], + "extraResources": [ + { + "from": "../signal_interface/build/Image/", + "to": "extraResources", + "filter": [ + "**/*" + ] + } + ] }, "win": { "target": [ @@ -114,7 +125,16 @@ "provider": "generic", "url": "https://cdn.criptext.com/Criptext-Email-Desktop/windows" }], - "certificateSubjectName": "Criptext Inc" + "certificateSubjectName": "Criptext Inc", + "extraResources": [ + { + "from": "../signal_interface/build/Release/", + "to": "extraResources", + "filter": [ + "**/*" + ] + } + ] }, "nsis": { "oneClick": true, diff --git a/email_composer/package.json b/email_composer/package.json index 2b5c83a4e..94f9c2226 100644 --- a/email_composer/package.json +++ b/email_composer/package.json @@ -1,6 +1,6 @@ { "name": "email_composer", - "version": "0.26.0", + "version": "0.26.2", "private": true, "dependencies": { "@criptext/electron-better-ipc": "^0.7.0-rc1-0.2", diff --git a/email_loading/package.json b/email_loading/package.json index b65ec95c9..4ed68134e 100644 --- a/email_loading/package.json +++ b/email_loading/package.json @@ -1,6 +1,6 @@ { "name": "email_loading", - "version": "0.26.0", + "version": "0.26.2", "private": true, "dependencies": { "@criptext/electron-better-ipc": "^0.7.0-rc1-0.2", diff --git a/email_login/package.json b/email_login/package.json index a19bc5889..f3aeb65d8 100644 --- a/email_login/package.json +++ b/email_login/package.json @@ -1,6 +1,6 @@ { "name": "email_login", - "version": "0.26.0", + "version": "0.26.2", "private": true, "dependencies": { "@criptext/electron-better-ipc": "^0.7.0-rc1-0.2", diff --git a/email_mailbox/package.json b/email_mailbox/package.json index 5df30ef3f..72fa139a3 100644 --- a/email_mailbox/package.json +++ b/email_mailbox/package.json @@ -1,6 +1,6 @@ { "name": "email_mailbox", - "version": "0.26.0", + "version": "0.26.2", "private": true, "dependencies": { "@criptext/electron-better-ipc": "^0.7.0-rc1-0.2", diff --git a/signal_interface/build.sh b/signal_interface/build.sh new file mode 100644 index 000000000..6f5c0e1ec --- /dev/null +++ b/signal_interface/build.sh @@ -0,0 +1,13 @@ +node-gyp configure build + +cp ./installation/criptext-encryption-service.desktop ./build/Release +cp ./installation/icon.png ./build/Release +cd build +mv ./Release/criptext-encryption-service ./Release/AppRun +wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage +chmod +x appimagetool-x86_64.AppImage + +./appimagetool-x86_64.AppImage ./Release +mkdir Image +mv ./criptext-encryption-service-x86_64.AppImage ./Image/criptext-encryption-service +mv ./Release/AppRun ./Release/criptext-encryption-service \ No newline at end of file diff --git a/signal_interface/installation/criptext-encryption-service.desktop b/signal_interface/installation/criptext-encryption-service.desktop new file mode 100755 index 000000000..4bde6b969 --- /dev/null +++ b/signal_interface/installation/criptext-encryption-service.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Type=Application +Name=criptext-encryption-service +Icon=icon +Categories=System; \ No newline at end of file diff --git a/signal_interface/installation/icon.png b/signal_interface/installation/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2db773571969abb27a3f7c759b64c2aa4ed8da2a GIT binary patch literal 20554 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