Re: Showstopper desktop runtime issue

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: Showstopper desktop runtime issue
Дата
Msg-id CA+OCxowGYnNsgMMEhebYSbBW_hZn7spFtCRtsAkJxxcJQOXWNQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Showstopper desktop runtime issue  (Joao De Almeida Pereira <jdealmeidapereira@pivotal.io>)
Список pgadmin-hackers
Hi

On Thu, Mar 22, 2018 at 6:27 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hello Hackers

In the PoC we did with Electron last month this was the point where we stopped

What did we accomplish:
 - Use Electron as a runtime and packaging solution for the application
 - Support opening new windows when the preferences ask for them
 - Make the application generally work
 - Use Chrome as a default browser for the application
 - Building scripts for all platforms using `yarn`, please review Readme
 - The packaged Python version is 3.6 to Mac and Linux, and 3.4 to Windows
 - In our point of view it is a simpler way to generate the installers

Work in progress:
 - No random port for the server, so you can only start 1 instance per machine
 - Tab support, there is no native support for tabs in Electron. It is possible to do that, and eventually you will see a option in the menu to create a new tab, but for this PoC we decided to disable the creation of tabs. Tabs need to be implemented using HTML and cannot be ripped of from the current window, like in Chrome
 - Did not test in CentOS, but tested in Ubuntu and it is working (We tried but the electron required GLIBC 2.25 that was not on the version of CentOS that we had)
 - In Linux despite the fact that we close the window, the application is still running and need to be killed by hand
 - We didn't test Debugger opening in new window
 - Loading screen has no reference to pgAdmin
 - No logging file for the runtime
 - Windows we are using python 3.4 and using prior version of psycopg2 2.5.6 and pycrypto 2.6.1 (The version of psycopg2 is not the correct one, this is because we couldn't find a precompile version of psycopg2)
 - This is just a spike and the code looks pretty messy. This need to be changed in order to make it more readable and have some tests around it
 - Murtuza and Fahar were not able to run the application in Windows
 - Khushboo was not able to run Ubuntu version

Given this was the status at the time, we need to pick and choose what we really want to implement right out of the box and what could be postponed. In order to generate Windows build and ensure that the Linux build is working we need so help. If we could have access to the machines that you use to build pgAdmin or access to the venv folder that is generated in these machines we could try to create a build from that.

The changes we produced still applies cleanly on master and can be found in: https://github.com/greenplum-db/pgadmin4/tree/electron-over-master


I just tried building the PoC again, and got much further than before - in fact I did get a working app bundle out at the end, however the dist build did spew out the errors below:

piranha:electron dpage$ yarn dist
yarn run v1.3.2
$ ./node_modules/.bin/electron-builder
  • electron-builder version=20.0.7
  • loaded configuration file=package.json ("build" field)
  • writing effective config file=dist/electron-builder.yaml
  • no native production dependencies
  • asar using is disabled — it is strongly not recommended solution=enable asar and use asarUnpack to unpack files that must be externally available
  • packaging       platform=darwin arch=x64 electron=1.8.2 appOutDir=dist/mac
  • signing         file=dist/mac/pgAdmin 4.app identityName=Developer ID Application: <redacted> identityHash=<redacted>
Error: Command failed: codesign --verify --deep --strict --verbose=2 /Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app: No such file or directory

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
From previous event:
    at MacPackager.sign (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:286:11)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:26
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:10
    at Generator.next (<anonymous>)
From previous event:
    at MacPackager.pack (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:209:11)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:372:24
    at Generator.next (<anonymous>)
    at xfs.stat (/Users/dpage/git/pgadmin4-electron/electron/node_modules/fs-extra-p/node_modules/fs-extra/lib/mkdirs/mkdirs.js:56:16)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/polyfills.js:287:18
    at FSReqWrap.oncomplete (fs.js:153:5)
From previous event:
    at Packager.doBuild (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:441:11)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:316:52
    at Generator.next (<anonymous>)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:99:16
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:43:10
    at FSReqWrap.oncomplete (fs.js:135:15)
From previous event:
    at Packager._build (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:385:11)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:278:23
    at Generator.next (<anonymous>)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
    at Packager.build (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:341:11)
    at /Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/index.ts:50:40
    at Generator.next (<anonymous>)
From previous event:
    at build (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/index.js:47:21)
    at build (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/builder.ts:228:10)
    at then (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
    at Object.args [as handler] (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
    at Object.runCommand (/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/lib/command.js:235:44)
    at Object.parseArgs [as _parseArgs] (/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:1042:24)
    at Object.get [as argv] (/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:957:21)
    at Object.<anonymous> (/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:42:15)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: Experiencing issues
Следующее
От: Ashesh Vashi
Дата:
Сообщение: Re: v3.0 release on hold