Skip to content

Commit d193871

Browse files
authored
fix: leverage app name instead of product name for linux executable name (electron-userland#9346)
Reverts electron-userland#9068
1 parent 836a15c commit d193871

6 files changed

Lines changed: 55 additions & 51 deletions

File tree

.changeset/sour-cars-listen.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"app-builder-lib": patch
3+
---
4+
5+
fix: revert PR https://github.com/electron-userland/electron-builder/pull/9068 due to breaking change

packages/app-builder-lib/scheme.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,7 +1965,7 @@
19651965
"description": "The executable parameters. Pass to executableName"
19661966
},
19671967
"executableName": {
1968-
"description": "The executable name. Defaults to `productName`.",
1968+
"description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
19691969
"type": [
19701970
"null",
19711971
"string"
@@ -2659,7 +2659,7 @@
26592659
]
26602660
},
26612661
"executableName": {
2662-
"description": "The executable name. Defaults to `productName`.",
2662+
"description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
26632663
"type": [
26642664
"null",
26652665
"string"
@@ -3294,7 +3294,7 @@
32943294
]
32953295
},
32963296
"executableName": {
3297-
"description": "The executable name. Defaults to `productName`.",
3297+
"description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
32983298
"type": [
32993299
"null",
33003300
"string"
@@ -6605,7 +6605,7 @@
66056605
]
66066606
},
66076607
"executableName": {
6608-
"description": "The executable name. Defaults to `productName`.",
6608+
"description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
66096609
"type": [
66106610
"null",
66116611
"string"
@@ -7380,7 +7380,7 @@
73807380
]
73817381
},
73827382
"executableName": {
7383-
"description": "The executable name. Defaults to `productName`.",
7383+
"description": "The executable name. Defaults to `productName`\nNote: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068",
73847384
"type": [
73857385
"null",
73867386
"string"

packages/app-builder-lib/src/linuxPackager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class LinuxPackager extends PlatformPackager<LinuxConfiguration> {
1818
super(info, Platform.LINUX)
1919

2020
const executableName = this.platformSpecificBuildOptions.executableName ?? info.config.executableName
21-
this.executableName = executableName == null ? this.appInfo.sanitizedProductName : sanitizeFileName(executableName)
21+
this.executableName = executableName == null ? this.appInfo.sanitizedName.toLowerCase() : sanitizeFileName(executableName)
2222
}
2323

2424
get defaultTarget(): Array<string> {

packages/app-builder-lib/src/options/PlatformSpecificBuildOptions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ export interface PlatformSpecificBuildOptions extends TargetSpecificOptions, Fil
106106
readonly artifactName?: string | null
107107

108108
/**
109-
* The executable name. Defaults to `productName`.
109+
* The executable name. Defaults to `productName`
110+
* Note: Except for Linux, where this would constitute a breaking change in previous behavior and lead to both invalid executable names and Desktop files. Ref comments in: https://github.com/electron-userland/electron-builder/pull/9068
110111
*/
111112
readonly executableName?: string | null
112113

test/snapshots/linux/debTest.js.snap

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
exports[`arm 1`] = `
44
{
55
"linux": [
6-
{
7-
"arch": "arm64",
8-
"file": "TestApp_1.1.0_arm64.deb",
9-
},
106
{
117
"arch": "armv7l",
128
"file": "TestApp_1.1.0_armv7l.deb",
139
},
10+
{
11+
"arch": "arm64",
12+
"file": "TestApp_1.1.0_arm64.deb",
13+
},
1414
],
1515
}
1616
`;
@@ -35,15 +35,15 @@ exports[`arm 2`] = `
3535
"/opt/Test App ßW/LICENSES.chromium.html",
3636
"/opt/Test App ßW/resources.pak",
3737
"/opt/Test App ßW/snapshot_blob.bin",
38-
"/opt/Test App ßW/Test App ßW",
38+
"/opt/Test App ßW/testapp",
3939
"/opt/Test App ßW/v8_context_snapshot.bin",
4040
"/opt/Test App ßW/vk_swiftshader_icd.json",
4141
"/usr/share/",
4242
"/opt/Test App ßW/resources/",
4343
"/opt/Test App ßW/resources/app.asar",
4444
"/opt/Test App ßW/resources/apparmor-profile",
4545
"/usr/share/applications/",
46-
"/usr/share/applications/Test App ßW.desktop",
46+
"/usr/share/applications/testapp.desktop",
4747
"/usr/share/doc/",
4848
"/usr/share/icons/",
4949
"/usr/share/doc/testapp/",
@@ -57,19 +57,19 @@ exports[`arm 2`] = `
5757
"/usr/share/icons/hicolor/512x512/",
5858
"/usr/share/icons/hicolor/64x64/",
5959
"/usr/share/icons/hicolor/128x128/apps/",
60-
"/usr/share/icons/hicolor/128x128/apps/Test App ßW.png",
60+
"/usr/share/icons/hicolor/128x128/apps/testapp.png",
6161
"/usr/share/icons/hicolor/16x16/apps/",
62-
"/usr/share/icons/hicolor/16x16/apps/Test App ßW.png",
62+
"/usr/share/icons/hicolor/16x16/apps/testapp.png",
6363
"/usr/share/icons/hicolor/256x256/apps/",
64-
"/usr/share/icons/hicolor/256x256/apps/Test App ßW.png",
64+
"/usr/share/icons/hicolor/256x256/apps/testapp.png",
6565
"/usr/share/icons/hicolor/32x32/apps/",
66-
"/usr/share/icons/hicolor/32x32/apps/Test App ßW.png",
66+
"/usr/share/icons/hicolor/32x32/apps/testapp.png",
6767
"/usr/share/icons/hicolor/48x48/apps/",
68-
"/usr/share/icons/hicolor/48x48/apps/Test App ßW.png",
68+
"/usr/share/icons/hicolor/48x48/apps/testapp.png",
6969
"/usr/share/icons/hicolor/512x512/apps/",
70-
"/usr/share/icons/hicolor/512x512/apps/Test App ßW.png",
70+
"/usr/share/icons/hicolor/512x512/apps/testapp.png",
7171
"/usr/share/icons/hicolor/64x64/apps/",
72-
"/usr/share/icons/hicolor/64x64/apps/Test App ßW.png",
72+
"/usr/share/icons/hicolor/64x64/apps/testapp.png",
7373
]
7474
`;
7575

@@ -110,15 +110,15 @@ exports[`arm 5`] = `
110110
"/opt/Test App ßW/LICENSES.chromium.html",
111111
"/opt/Test App ßW/resources.pak",
112112
"/opt/Test App ßW/snapshot_blob.bin",
113-
"/opt/Test App ßW/Test App ßW",
113+
"/opt/Test App ßW/testapp",
114114
"/opt/Test App ßW/v8_context_snapshot.bin",
115115
"/opt/Test App ßW/vk_swiftshader_icd.json",
116116
"/usr/share/",
117117
"/opt/Test App ßW/resources/",
118118
"/opt/Test App ßW/resources/app.asar",
119119
"/opt/Test App ßW/resources/apparmor-profile",
120120
"/usr/share/applications/",
121-
"/usr/share/applications/Test App ßW.desktop",
121+
"/usr/share/applications/testapp.desktop",
122122
"/usr/share/doc/",
123123
"/usr/share/icons/",
124124
"/usr/share/doc/testapp/",
@@ -132,19 +132,19 @@ exports[`arm 5`] = `
132132
"/usr/share/icons/hicolor/512x512/",
133133
"/usr/share/icons/hicolor/64x64/",
134134
"/usr/share/icons/hicolor/128x128/apps/",
135-
"/usr/share/icons/hicolor/128x128/apps/Test App ßW.png",
135+
"/usr/share/icons/hicolor/128x128/apps/testapp.png",
136136
"/usr/share/icons/hicolor/16x16/apps/",
137-
"/usr/share/icons/hicolor/16x16/apps/Test App ßW.png",
137+
"/usr/share/icons/hicolor/16x16/apps/testapp.png",
138138
"/usr/share/icons/hicolor/256x256/apps/",
139-
"/usr/share/icons/hicolor/256x256/apps/Test App ßW.png",
139+
"/usr/share/icons/hicolor/256x256/apps/testapp.png",
140140
"/usr/share/icons/hicolor/32x32/apps/",
141-
"/usr/share/icons/hicolor/32x32/apps/Test App ßW.png",
141+
"/usr/share/icons/hicolor/32x32/apps/testapp.png",
142142
"/usr/share/icons/hicolor/48x48/apps/",
143-
"/usr/share/icons/hicolor/48x48/apps/Test App ßW.png",
143+
"/usr/share/icons/hicolor/48x48/apps/testapp.png",
144144
"/usr/share/icons/hicolor/512x512/apps/",
145-
"/usr/share/icons/hicolor/512x512/apps/Test App ßW.png",
145+
"/usr/share/icons/hicolor/512x512/apps/testapp.png",
146146
"/usr/share/icons/hicolor/64x64/apps/",
147-
"/usr/share/icons/hicolor/64x64/apps/Test App ßW.png",
147+
"/usr/share/icons/hicolor/64x64/apps/testapp.png",
148148
]
149149
`;
150150

@@ -282,15 +282,15 @@ exports[`deb 2`] = `
282282
"/opt/Test App ßW/LICENSES.chromium.html",
283283
"/opt/Test App ßW/resources.pak",
284284
"/opt/Test App ßW/snapshot_blob.bin",
285-
"/opt/Test App ßW/Test App ßW",
285+
"/opt/Test App ßW/testapp",
286286
"/opt/Test App ßW/v8_context_snapshot.bin",
287287
"/opt/Test App ßW/vk_swiftshader_icd.json",
288288
"/usr/share/",
289289
"/opt/Test App ßW/resources/",
290290
"/opt/Test App ßW/resources/app.asar",
291291
"/opt/Test App ßW/resources/apparmor-profile",
292292
"/usr/share/applications/",
293-
"/usr/share/applications/Test App ßW.desktop",
293+
"/usr/share/applications/testapp.desktop",
294294
"/usr/share/doc/",
295295
"/usr/share/icons/",
296296
"/usr/share/doc/testapp/",
@@ -304,19 +304,19 @@ exports[`deb 2`] = `
304304
"/usr/share/icons/hicolor/512x512/",
305305
"/usr/share/icons/hicolor/64x64/",
306306
"/usr/share/icons/hicolor/128x128/apps/",
307-
"/usr/share/icons/hicolor/128x128/apps/Test App ßW.png",
307+
"/usr/share/icons/hicolor/128x128/apps/testapp.png",
308308
"/usr/share/icons/hicolor/16x16/apps/",
309-
"/usr/share/icons/hicolor/16x16/apps/Test App ßW.png",
309+
"/usr/share/icons/hicolor/16x16/apps/testapp.png",
310310
"/usr/share/icons/hicolor/256x256/apps/",
311-
"/usr/share/icons/hicolor/256x256/apps/Test App ßW.png",
311+
"/usr/share/icons/hicolor/256x256/apps/testapp.png",
312312
"/usr/share/icons/hicolor/32x32/apps/",
313-
"/usr/share/icons/hicolor/32x32/apps/Test App ßW.png",
313+
"/usr/share/icons/hicolor/32x32/apps/testapp.png",
314314
"/usr/share/icons/hicolor/48x48/apps/",
315-
"/usr/share/icons/hicolor/48x48/apps/Test App ßW.png",
315+
"/usr/share/icons/hicolor/48x48/apps/testapp.png",
316316
"/usr/share/icons/hicolor/512x512/apps/",
317-
"/usr/share/icons/hicolor/512x512/apps/Test App ßW.png",
317+
"/usr/share/icons/hicolor/512x512/apps/testapp.png",
318318
"/usr/share/icons/hicolor/64x64/apps/",
319-
"/usr/share/icons/hicolor/64x64/apps/Test App ßW.png",
319+
"/usr/share/icons/hicolor/64x64/apps/testapp.png",
320320
]
321321
`;
322322

@@ -368,23 +368,23 @@ exports[`deb file associations 2`] = `
368368
"/opt/Test App ßW/LICENSES.chromium.html",
369369
"/opt/Test App ßW/resources.pak",
370370
"/opt/Test App ßW/snapshot_blob.bin",
371-
"/opt/Test App ßW/Test App ßW",
371+
"/opt/Test App ßW/testapp",
372372
"/opt/Test App ßW/v8_context_snapshot.bin",
373373
"/opt/Test App ßW/vk_swiftshader_icd.json",
374374
"/usr/share/",
375375
"/opt/Test App ßW/resources/",
376376
"/opt/Test App ßW/resources/app.asar",
377377
"/opt/Test App ßW/resources/apparmor-profile",
378378
"/usr/share/applications/",
379-
"/usr/share/applications/Test App ßW.desktop",
379+
"/usr/share/applications/testapp.desktop",
380380
"/usr/share/doc/",
381381
"/usr/share/icons/",
382382
"/usr/share/mime/",
383383
"/usr/share/doc/testapp/",
384384
"/usr/share/doc/testapp/changelog.gz",
385385
"/usr/share/icons/hicolor/",
386386
"/usr/share/mime/packages/",
387-
"/usr/share/mime/packages/Test App ßW.xml",
387+
"/usr/share/mime/packages/testapp.xml",
388388
"/usr/share/icons/hicolor/128x128/",
389389
"/usr/share/icons/hicolor/16x16/",
390390
"/usr/share/icons/hicolor/256x256/",
@@ -393,19 +393,19 @@ exports[`deb file associations 2`] = `
393393
"/usr/share/icons/hicolor/512x512/",
394394
"/usr/share/icons/hicolor/64x64/",
395395
"/usr/share/icons/hicolor/128x128/apps/",
396-
"/usr/share/icons/hicolor/128x128/apps/Test App ßW.png",
396+
"/usr/share/icons/hicolor/128x128/apps/testapp.png",
397397
"/usr/share/icons/hicolor/16x16/apps/",
398-
"/usr/share/icons/hicolor/16x16/apps/Test App ßW.png",
398+
"/usr/share/icons/hicolor/16x16/apps/testapp.png",
399399
"/usr/share/icons/hicolor/256x256/apps/",
400-
"/usr/share/icons/hicolor/256x256/apps/Test App ßW.png",
400+
"/usr/share/icons/hicolor/256x256/apps/testapp.png",
401401
"/usr/share/icons/hicolor/32x32/apps/",
402-
"/usr/share/icons/hicolor/32x32/apps/Test App ßW.png",
402+
"/usr/share/icons/hicolor/32x32/apps/testapp.png",
403403
"/usr/share/icons/hicolor/48x48/apps/",
404-
"/usr/share/icons/hicolor/48x48/apps/Test App ßW.png",
404+
"/usr/share/icons/hicolor/48x48/apps/testapp.png",
405405
"/usr/share/icons/hicolor/512x512/apps/",
406-
"/usr/share/icons/hicolor/512x512/apps/Test App ßW.png",
406+
"/usr/share/icons/hicolor/512x512/apps/testapp.png",
407407
"/usr/share/icons/hicolor/64x64/apps/",
408-
"/usr/share/icons/hicolor/64x64/apps/Test App ßW.png",
408+
"/usr/share/icons/hicolor/64x64/apps/testapp.png",
409409
]
410410
`;
411411

test/src/linux/debTest.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ test.ifNotWindows("deb file associations", ({ expect }) =>
106106
{
107107
packed: async context => {
108108
const mime = (
109-
await execShell(
110-
`ar p '${context.outDir}/TestApp_1.1.0_amd64.deb' data.tar.xz | ${await getTarExecutable()} -Jx --to-stdout './usr/share/mime/packages/Test App ßW.xml'`,
111-
{
109+
await execShell(`ar p '${context.outDir}/TestApp_1.1.0_amd64.deb' data.tar.xz | ${await getTarExecutable()} -Jx --to-stdout './usr/share/mime/packages/testapp.xml'`, {
112110
maxBuffer: 10 * 1024 * 1024,
113111
}
114112
)

0 commit comments

Comments
 (0)