denoland / denoland/deno

deno desktop 2.9.6 - signing error on laufey_webview with prod build using "-" signing option

Open
#36,780 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
108k
Forks
6.4k
Avg merge
2d 20h
Merged PRs (30d)
58

Description

Version: Deno 2.9.6
MacOS 12.7.6 Monterey M1

something in the build process has obviously been changed in 2.9.6 so now all prod builds are getting a signing error on laufey_webview. The app will still launch but the message of 'resource fork, Finder information, or similar detritus not allowed' is a bit disconcerting.

deno.json - as per docs and pre-2.9.6

"output": {
"macos": "./dist/DenoBasic.app",

Result on build with 2.9.6 -

% deno desktop -A main.js
⚠ deno desktop is experimental and subject to change
Compile main.js to ./dist/DenoBasic.app.dylib

Embedded Files

DenoBasic.app.dylib
└── main.js (3.28KB)

Files: 4.73KB
Metadata: 1.37KB
Remote modules: 12B

Codesigning bundle with identity "-"
./dist/DenoBasic.app.app/Contents/MacOS/libruntime.dylib: replacing existing signature
./dist/DenoBasic.app.app/Contents/MacOS/laufey_webview: replacing existing signature
./dist/DenoBasic.app.app/Contents/MacOS/laufey_webview: resource fork, Finder information, or similar detritus not allowed
error: codesign failed for ./dist/DenoBasic.app.app/Contents/MacOS/laufey_webview (identity "-")

Updated - removed .app in deno.json config but still get the signing error.

deno.json -

"output": {
"macos": "./dist/DenoBasic",

Result on build -

% deno desktop -A main.js
⚠ deno desktop is experimental and subject to change
Compile main.js to ./dist/DenoBasic.dylib

Embedded Files

DenoBasic.dylib
└── main.js (3.28KB)

Files: 4.73KB
Metadata: 1.36KB
Remote modules: 12B

Codesigning bundle with identity "-"
./dist/DenoBasic.app/Contents/MacOS/libruntime.dylib: replacing existing signature
./dist/DenoBasic.app/Contents/MacOS/laufey_webview: replacing existing signature
./dist/DenoBasic.app/Contents/MacOS/laufey_webview: resource fork, Finder information, or similar detritus not allowed
error: codesign failed for ./dist/DenoBasic.app/Contents/MacOS/laufey_webview (identity "-")

Typical result on 2.9.5 - using "macos": "./dist/DenoBasic.app",

% deno desktop -A main.js
⚠ deno desktop is experimental and subject to change
Compile main.js to DenoBasic.dylib

Embedded Files

DenoBasic.dylib
└── main.js (3.28KB)

Files: 4.73KB
Metadata: 1.36KB
Remote modules: 12B

Codesigning bundle with identity "-"
DenoBasic.app/Contents/MacOS/libruntime.dylib: replacing existing signature
DenoBasic.app/Contents/MacOS/laufey_webview: replacing existing signature
DenoBasic.app: replacing existing signature
Bundle DenoBasic.app

Note: also noticed that if I try to specify .dmg as the output the build process simply produces a .app bundle rather than a dmg image.

Contributor guide

Open the contributing guide

Research direction

Start with the deno.json macOS output setting and main.js, then reproduce `deno desktop -A main.js` on Deno 2.9.6 and compare it with 2.9.5. Trace the desktop macOS bundle signing path around laufey_webview and verify whether the `.dmg` output behavior is related. Done means the production app bundle signs without the resource-fork error and the reported output behavior is clarified.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
build-system, desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.