Patch electron-builder to fix signing on macos

Remove this once
https://github.com/electron-userland/electron-builder/pull/4993 is
merged

Change-type: patch
This commit is contained in:
Alexis Svinartchouk 2020-05-25 17:47:20 +02:00
parent c0a4fb16e2
commit ed3b7f7971

View File

@ -0,0 +1,22 @@
diff --git a/node_modules/app-builder-lib/electron-osx-sign/sign.js b/node_modules/app-builder-lib/electron-osx-sign/sign.js
index 3b85d83c..87da4e57 100644
--- a/node_modules/app-builder-lib/electron-osx-sign/sign.js
+++ b/node_modules/app-builder-lib/electron-osx-sign/sign.js
@@ -119,6 +119,17 @@ async function verifySignApplicationAsync (opts) {
function signApplicationAsync (opts) {
return walkAsync(getAppContentsPath(opts))
.then(async function (childPaths) {
+ /**
+ * Sort the child paths by how deep they are in the file tree. Some arcane apple
+ * logic expects the deeper files to be signed first otherwise strange errors get
+ * thrown our way
+ */
+ childPaths = childPaths.sort((a, b) => {
+ const aDepth = a.split(path.sep).length
+ const bDepth = b.split(path.sep).length
+ return bDepth - aDepth
+ })
+
function ignoreFilePath (opts, filePath) {
if (opts.ignore) {
return opts.ignore.some(function (ignore) {