Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build from source on MacOS prompts for password #69

Closed
LucienBrule opened this issue Apr 8, 2021 · 5 comments
Closed

Build from source on MacOS prompts for password #69

LucienBrule opened this issue Apr 8, 2021 · 5 comments

Comments

@LucienBrule
Copy link

Description of bug:

When building the application the build script prompts for a password for genie.theia@projects-storage.eclipse.org. I'm assuming this is for CICD and thus I as a user would not have nor need this password. Providing the wrong password fails the installation. In addition it appears that failing the installation at this step does not exit gracefully (the install script keeps running even though it's has been exited via control character (ctrl c) and a new console prompt is shown.

The offending line appears to be
ssh -q genie.theia@projects-storage.eclipse.org rm -f '"chrome_crashpad_handler"' '"signed-chrome_crashpad_handler"' entitlements.plist

Steps to Reproduce:

On MacOS:

  1. Clone the repo locallygit clone https://github.com/eclipse-theia/theia-blueprint.git
  2. Install dependencies ```cd theia-blueprint && yarn``
  3. Attempt to build package (as per readme) yarn package
  4. Attempt to build package preview (also as per readme) yarn package:preview

What I'm seeing:

Password prompt:
Screen Shot 2021-04-08 at 6 20 40 AM

Continuing after control c:
Screen Shot 2021-04-08 at 6 24 41 AM

Build logs:

yarn run v1.21.1
$ (cd electron-app && yarn package:preview)
$ yarn clean:dist && electron-builder --dir
$ rimraf dist
  • electron-builder  version=22.9.1 os=19.6.0
  • loaded configuration  file=/Users/lucienbrule/Developer/sandbox/theia-blueprint/electron-app/electron-builder.yml
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=@theia/node-pty@0.9.0-theia.6, drivelist@9.2.2, find-git-repositories@0.1.3, native-keymap@2.2.1, nsfw@2.1.2, oniguruma@7.2.1 platform=darwin arch=x64
  • install prebuilt binary  name=drivelist version=9.2.2 platform=darwin arch=x64
  • build native dependency from sources  name=drivelist
                                          version=9.2.2
                                          platform=darwin
                                          arch=x64
                                          reason=prebuild-install failed with error (run with env DEBUG=electron-builder to get more information)
                                          error=prebuild-install info begin Prebuild-install version 5.3.6
    prebuild-install info looking for cached prebuild @ /Users/lucienbrule/.npm/_prebuilds/1ba709-drivelist-v9.2.2-electron-v80-darwin-x64.tar.gz
    prebuild-install http request GET https://github.com/balena-io-modules/drivelist/releases/download/v9.2.2/drivelist-v9.2.2-electron-v80-darwin-x64.tar.gz
    prebuild-install http 404 https://github.com/balena-io-modules/drivelist/releases/download/v9.2.2/drivelist-v9.2.2-electron-v80-darwin-x64.tar.gz
    prebuild-install WARN install No prebuilt binaries found (target=9.3.2 runtime=electron arch=x64 libc= platform=darwin)

  • rebuilding native dependency  name=drivelist version=9.2.2
  • rebuilding native dependency  name=@theia/node-pty version=0.9.0-theia.6
  • rebuilding native dependency  name=find-git-repositories version=0.1.3
  • rebuilding native dependency  name=native-keymap version=2.2.1
  • rebuilding native dependency  name=nsfw version=2.1.2
  • rebuilding native dependency  name=oniguruma version=7.2.1
  • packaging       platform=darwin arch=x64 electron=9.3.2 appOutDir=dist/mac
  • copying Electron  source=/Users/lucienbrule/Developer/sandbox/theia-blueprint/node_modules/electron/dist/Electron.app destination=/Users/lucienbrule/Developer/sandbox/theia-blueprint/electron-app/dist/mac/Electron.app
  • asar usage is disabled — this is strongly not recommended  solution=enable asar and use asarUnpack to unpack files that must be externally available
Deleting /Users/lucienbrule/Developer/sandbox/theia-blueprint/electron-app/dist/mac/TheiaBlueprint.app/Contents/Resources/app/node_modules/unzip-stream/aa.zip...
Deleting /Users/lucienbrule/Developer/sandbox/theia-blueprint/electron-app/dist/mac/TheiaBlueprint.app/Contents/Resources/app/node_modules/unzip-stream/testData*...
Signing /Users/lucienbrule/Developer/sandbox/theia-blueprint/electron-app/dist/mac/TheiaBlueprint.app/Contents/Resources/app/node_modules/@theia/electron/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler...
Password:

Additional Information

  • Operating System: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64
  • Theia Version: "version": "1.12.1"

I'm evaluating this for work and would love to contribute back. If I'm not following the prescribed method to build this from source and the README.md is not authoritative then I'll submit a PR with steps that get this to build. Will dig around.

Thank you for considering my issue!

  • Lucien
@LucienBrule
Copy link
Author

After reading the documentation at https://theia-ide.org/docs/blueprint_documentation/, using yarn start works fine and lets me build the application and run it locally. Still think the packaging is an issue though. It might help to provide instructions as to how to modify the build scripts for use without your ci pipeline for local build or maybe make them configurable, as a suggestion.

@thegecko
Copy link
Member

theia-blueprint isn't designed to be packaged by the end user. The packaging scripts are unique to the Eclipse CI infrastructure.

@koegel
Copy link

koegel commented May 3, 2021

I agree with @thegecko that packaging and signing is very infra specific and difficult to document in general.

@koegel
Copy link

koegel commented May 3, 2021

In the documentation there is a pointer electron builder about how to sign also.

@marcdumais-work
Copy link
Contributor

Related PR, that will make it possible to package locally on Mac without signing getting in the way. Obviously, the package will then not be signed: #139

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants