apache / apache/cordova-electron

Broken snap packages

Open
#98 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
135
Forks
60
Avg merge
1d 6h
Merged PRs (30d)
5

Description

# Bug Report

## Problem

### What is expected to happen?

Submitting the generated package to the Snap store should succeed.

### What does actually happen?

```
Preparing to push 'cyph.snap'.
After pushing, an attempt will be made to release to 'stable'
Generating delta for 'cyph.snap'.
Pushing 'cyph.snap.xdelta3' [=========================================================================================================================================] 100%
Processing...|
Error while processing...
The store was unable to accept this snap.
- checksums do not match. Please ensure the snap is created with either 'snapcraft pack ' (using snapcraft >= 2.38) or 'mksquashfs -noappend -comp xz -all-root -no-xattrs -no-fragments'. If using electron-builder, please upgrade to latest stable (>= 20.14.7). See https://forum.snapcraft.io/t/automated-reviews-and-snapcraft-2-38/4982/17 for details.
- found errors in file output: unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Electron Framework -> Versions/Current/Electron Framework', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries -> Versions/Current/Libraries', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Resources -> Versions/Current/Resources', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/Current -> A', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Mantle.framework/Headers -> Versions/Current/Headers', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Mantle.framework/Mantle -> Versions/Current/Mantle', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Mantle.framework/Modules -> Versions/Current/Modules', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Mantle.framework/Resources -> Versions/Current/Resources', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Mantle.framework/Versions/Current -> A', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/ReactiveCocoa.framework/Headers -> Versions/Current/Headers', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/ReactiveCocoa.framework/Modules -> Versions/Current/Modules', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/ReactiveCocoa.framework/ReactiveCocoa -> Versions/Current/ReactiveCocoa', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/ReactiveCocoa.framework/Resources -> Versions/Current/Resources', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current -> A', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Squirrel.framework/Headers -> Versions/Current/Headers', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Squirrel.framework/Modules -> Versions/Current/Modules', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Squirrel.framework/Resources -> Versions/Current/Resources', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Squirrel.framework/Squirrel -> Versions/Current/Squirrel', unusual mode 'rwxr-xr-x' for symlink './resources/app.asar.unpacked/node_modules/electron/dist/Electron.app/Contents/Frameworks/Squirrel.framework/Versions/Current -> A'
```

## Information

Message from Canonical's manual review:

>Note that the problem seems to be that there are many symlinks in the snap that have unusual permissions of 0755. If you adjust these to use the normal 0777 permissions, your snap will likely pass automated review.

Manually running `chmod -R 777 .` before building has no effect.

### Command or Code

`cordova build electron ; snapcraft push --release=stable platforms/electron/build/*.snap`

### Environment, Platform, Device

macOS 10.14.6

### Version information

Cordova 9.0.0

## Checklist

- [X] I searched for existing GitHub issues
- [X] I updated all Cordova tooling to most recent version
- [X] I included all the necessary information above

Contributor guide

Open the contributing guide

Research direction

Start by reproducing `cordova build electron` and `snapcraft push --release=stable platforms/electron/build/*.snap` on the reported macOS and Cordova 9.0.0 environment. Inspect the generated snap's symlink modes under `resources/app.asar.unpacked/node_modules/electron/dist/Electron.app`; done means the package passes Snap store checks without the reported checksum and unusual-permission errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, javascript
Domain
build-system, release
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.