Closed cpba closed 6 years ago
One comment about the sample app in flathub: it should put electron
in devDependencies
, not dependencies
.
Anyway, back to the bug: I'm confused as to why you're copying that project into an Electron Forge project. That would be the equivalent of nesting two Node projects inside each other and expecting it to run without modifications.
A newly created Electron Forge project should "just work" if all you do is add flatpak to the make targets.
For completeness, could you run DEBUG=electron-forge:*,electron-installer-flatpak,flatpak-bundler electron-forge make
and post the output?
@malept Thank you for pointing out the dependency issue with the sample app, I don't have much experience with electron development and often these details evade me.
In order to eliminate the possibility of the sample app being the cause, I've redone the test with these steps:
electron-forge init prova-ef
deb
and rpm
to flatpak
in build targets.DEBUG=electron-forge:*,electron-installer-flatpak,flatpak-bundler electron-forge make
The result is the following:
$ DEBUG=electron-forge:*,electron-installer-flatpak,flatpak-bundler electron-forge make
WARNING: DEBUG environment variable detected. Progress indicators will be sent over electron-forge:lifecycle
electron-forge:lifecycle Process Started: Checking your system +0ms
electron-forge:lifecycle Process Succeeded: Checking your system +210ms
electron-forge:runtime-config setting key: verbose to value: false +0ms
WARNING: DEBUG environment variable detected. Progress indicators will be sent over electron-forge:lifecycle
electron-forge:lifecycle Process Started: Resolving Forge Config +0ms
electron-forge:project-resolver searching for project in: /home/carles/html5/prova-ef +0ms
electron-forge:project-resolver electron-forge compatible package.json found in /home/carles/html5/prova-ef/package.json +6ms
electron-forge:lifecycle Process Succeeded: Resolving Forge Config +10ms
electron-forge:require-search searching [ '../makers/linux/flatpak.js',
'../makers/generic/flatpak.js',
'electron-forge-maker-flatpak',
'flatpak',
'/home/carles/html5/prova-ef/flatpak',
'/home/carles/html5/prova-ef/node_modules/flatpak',
'/usr/lib/node_modules/electron-forge/dist/makers/linux/flatpak.js',
'/usr/lib/node_modules/electron-forge/dist/makers/generic/flatpak.js',
'/usr/lib/node_modules/electron-forge/dist/api/electron-forge-maker-flatpak',
'/usr/lib/node_modules/electron-forge/dist/api/flatpak',
'/home/carles/html5/prova-ef/flatpak',
'/home/carles/html5/prova-ef/node_modules/flatpak',
'/usr/lib/node_modules/electron-forge/dist/api/makers/linux/flatpak.js',
'/usr/lib/node_modules/electron-forge/dist/api/makers/generic/flatpak.js',
'/usr/lib/node_modules/electron-forge/dist/api/node_modules/electron-forge-maker-flatpak',
'/usr/lib/node_modules/electron-forge/dist/api/node_modules/flatpak',
'/home/carles/html5/prova-ef/flatpak',
'/home/carles/html5/prova-ef/node_modules/flatpak' ] relative to /usr/lib/node_modules/electron-forge/dist/api +0ms
electron-forge:require-search testing ../makers/linux/flatpak.js +1ms
We need to package your application before we can make it
electron-forge:lifecycle Process Started: Preparing to Package Application for arch: x64 +60ms
electron-forge:project-resolver searching for project in: /home/carles/html5/prova-ef +65ms
electron-forge:project-resolver electron-forge compatible package.json found in /home/carles/html5/prova-ef/package.json +0ms
electron-forge:hook could not find hook: generateAssets +0ms
electron-forge:hook could not find hook: prePackage +0ms
electron-forge:packager packaging with options { asar: false,
overwrite: true,
packageManager: 'npm',
afterCopy: [ [Function] ],
afterExtract: [ [Function] ],
afterPrune: [ [Function] ],
dir: '/home/carles/html5/prova-ef',
arch: 'x64',
platform: 'linux',
out: '/home/carles/html5/prova-ef/out',
electronVersion: '2.0.0',
quiet: true } +0ms
electron-forge:lifecycle Process Succeeded: Preparing to Package Application for arch: x64 +12s
electron-forge:lifecycle Process Started: Compiling Application +0ms
electron-forge:lifecycle Process Succeeded: Compiling Application +585ms
electron-forge:lifecycle Process Started: Preparing native dependencies +8s
electron-forge:lifecycle Process Succeeded: Preparing native dependencies +49ms
electron-forge:lifecycle Process Started: Packaging Application +0ms
electron-forge:hook could not find hook: postPackage +22s
electron-forge:lifecycle Process Succeeded: Packaging Application +953ms
Making for the following targets:
electron-forge:hook could not find hook: preMake +1ms
electron-forge:lifecycle Process Started: Making for target: flatpak - On platform: linux - For arch: x64 +1ms
electron-installer-flatpak Reading package metadata from /home/carles/html5/prova-ef/out/prova-ef-linux-x64/resources/app/package.json +0ms
electron-installer-flatpak Creating package with options
electron-installer-flatpak {
electron-installer-flatpak "options": {},
electron-installer-flatpak "arch": "x86_64",
electron-installer-flatpak "dest": "/home/carles/html5/prova-ef/out/make",
electron-installer-flatpak "src": "/home/carles/html5/prova-ef/out/prova-ef-linux-x64",
electron-installer-flatpak "id": "io.atom.electron.prova-ef",
electron-installer-flatpak "productName": "prova-ef",
electron-installer-flatpak "genericName": "prova-ef",
electron-installer-flatpak "description": "My Electron application description",
electron-installer-flatpak "branch": "master",
electron-installer-flatpak "base": "io.atom.electron.BaseApp",
electron-installer-flatpak "baseVersion": "master",
electron-installer-flatpak "baseFlatpakref": "https://s3-us-west-2.amazonaws.com/electron-flatpak.endlessm.com/electron-base-app-master.flatpakref",
electron-installer-flatpak "runtime": "org.freedesktop.Platform",
electron-installer-flatpak "runtimeVersion": "1.4",
electron-installer-flatpak "runtimeFlatpakref": "https://raw.githubusercontent.com/endlessm/flatpak-bundler/master/refs/freedesktop-runtime-1.4.flatpakref",
electron-installer-flatpak "sdk": "org.freedesktop.Sdk",
electron-installer-flatpak "sdkFlatpakref": "https://raw.githubusercontent.com/endlessm/flatpak-bundler/master/refs/freedesktop-sdk-1.4.flatpakref",
electron-installer-flatpak "finishArgs": [
electron-installer-flatpak "--socket=x11",
electron-installer-flatpak "--share=ipc",
electron-installer-flatpak "--device=dri",
electron-installer-flatpak "--socket=pulseaudio",
electron-installer-flatpak "--filesystem=home",
electron-installer-flatpak "--filesystem=/tmp",
electron-installer-flatpak "--share=network",
electron-installer-flatpak "--talk-name=org.freedesktop.Notifications"
electron-installer-flatpak ],
electron-installer-flatpak "modules": [],
electron-installer-flatpak "bin": "prova-ef",
electron-installer-flatpak "icon": "/usr/lib/node_modules/electron-forge/node_modules/electron-installer-flatpak/resources/icon.png",
electron-installer-flatpak "files": [],
electron-installer-flatpak "symlinks": [],
electron-installer-flatpak "categories": [
electron-installer-flatpak "GNOME",
electron-installer-flatpak "GTK",
electron-installer-flatpak "Utility"
electron-installer-flatpak ],
electron-installer-flatpak "mimeType": []
electron-installer-flatpak } +3ms
electron-installer-flatpak Creating temporary directory +0ms
electron-installer-flatpak Creating contents of package +1ms
electron-installer-flatpak Creating desktop file at /tmp/electron-11842-16599-v07dd6.jmz27/io.atom.electron.prova-ef_undefined_x86_64/share/applications/io.atom.electron.prova-ef.desktop +0ms
electron-installer-flatpak Generating template from /usr/lib/node_modules/electron-forge/node_modules/electron-installer-flatpak/resources/desktop.ejs +0ms
electron-installer-flatpak Creating icon file at /tmp/electron-11842-16599-v07dd6.jmz27/io.atom.electron.prova-ef_undefined_x86_64/share/pixmaps/io.atom.electron.prova-ef.png +0ms
electron-installer-flatpak Creating copyright file at /tmp/electron-11842-16599-v07dd6.jmz27/io.atom.electron.prova-ef_undefined_x86_64/share/doc/io.atom.electron.prova-ef/copyright +1ms
electron-installer-flatpak Reading license file from /home/carles/html5/prova-ef/out/prova-ef-linux-x64/LICENSE +0ms
electron-installer-flatpak Copying application to /tmp/electron-11842-16599-v07dd6.jmz27/io.atom.electron.prova-ef_undefined_x86_64/lib/io.atom.electron.prova-ef +0ms
electron-installer-flatpak Generated template from /usr/lib/node_modules/electron-forge/node_modules/electron-installer-flatpak/resources/desktop.ejs
electron-installer-flatpak [Desktop Entry]
electron-installer-flatpak Name=prova-ef
electron-installer-flatpak Comment=My Electron application description
electron-installer-flatpak GenericName=prova-ef
electron-installer-flatpak Exec=prova-ef %U
electron-installer-flatpak Icon=io.atom.electron.prova-ef
electron-installer-flatpak Type=Application
electron-installer-flatpak StartupNotify=true
electron-installer-flatpak Categories=GNOME;GTK;Utility;
electron-installer-flatpak
electron-installer-flatpak +2ms
electron-installer-flatpak Creating package at /home/carles/html5/prova-ef/out/make/io.atom.electron.prova-ef_master_x86_64.flatpak +2s
flatpak-bundler Using manifest...
flatpak-bundler {
flatpak-bundler "id": "io.atom.electron.prova-ef",
flatpak-bundler "branch": "master",
flatpak-bundler "base": "io.atom.electron.BaseApp",
flatpak-bundler "base-version": "master",
flatpak-bundler "base-flatpakref": "https://s3-us-west-2.amazonaws.com/electron-flatpak.endlessm.com/electron-base-app-master.flatpakref",
flatpak-bundler "runtime": "org.freedesktop.Platform",
flatpak-bundler "runtime-version": "1.4",
flatpak-bundler "runtime-flatpakref": "https://raw.githubusercontent.com/endlessm/flatpak-bundler/master/refs/freedesktop-runtime-1.4.flatpakref",
flatpak-bundler "sdk": "org.freedesktop.Sdk",
flatpak-bundler "sdk-flatpakref": "https://raw.githubusercontent.com/endlessm/flatpak-bundler/master/refs/freedesktop-sdk-1.4.flatpakref",
flatpak-bundler "finish-args": [
flatpak-bundler "--socket=x11",
flatpak-bundler "--share=ipc",
flatpak-bundler "--device=dri",
flatpak-bundler "--socket=pulseaudio",
flatpak-bundler "--filesystem=home",
flatpak-bundler "--filesystem=/tmp",
flatpak-bundler "--share=network",
flatpak-bundler "--talk-name=org.freedesktop.Notifications"
flatpak-bundler ],
flatpak-bundler "command": "prova-ef",
flatpak-bundler "files": [
flatpak-bundler [
flatpak-bundler "/tmp/electron-11842-16599-v07dd6.jmz27/io.atom.electron.prova-ef_undefined_x86_64",
flatpak-bundler "/"
flatpak-bundler ]
flatpak-bundler ],
flatpak-bundler "symlinks": [
flatpak-bundler [
flatpak-bundler "/lib/io.atom.electron.prova-ef/prova-ef",
flatpak-bundler "/bin/prova-ef"
flatpak-bundler ]
flatpak-bundler ],
flatpak-bundler "extra-exports": [
flatpak-bundler "/share/pixmaps/io.atom.electron.prova-ef.png"
flatpak-bundler ],
flatpak-bundler "modules": []
flatpak-bundler } +0ms
flatpak-bundler Using options...
flatpak-bundler {
flatpak-bundler "arch": "x86_64",
flatpak-bundler "bundle-path": "/home/carles/html5/prova-ef/out/make/io.atom.electron.prova-ef_master_x86_64.flatpak",
flatpak-bundler "working-dir": "/var/tmp/tmp-16599xZ8YE40Qf2Ev",
flatpak-bundler "build-dir": "/var/tmp/tmp-16599xZ8YE40Qf2Ev/build",
flatpak-bundler "repo-dir": "/var/tmp/tmp-16599xZ8YE40Qf2Ev/repo",
flatpak-bundler "manifest-path": "/var/tmp/tmp-16599xZ8YE40Qf2Ev/manifest.json",
flatpak-bundler "extra-flatpak-builder-args": [],
flatpak-bundler "extra-flatpak-build-bundle-args": [],
flatpak-bundler "extra-flatpak-build-export-args": [],
flatpak-bundler "clean-tmpdirs": true,
flatpak-bundler "auto-install-runtime": true,
flatpak-bundler "auto-install-sdk": true,
flatpak-bundler "auto-install-base": true
flatpak-bundler } +0ms
flatpak-bundler Ensuring runtime is up to date +1ms
flatpak-bundler Checking for install of org.freedesktop.Platform +0ms
flatpak-bundler $ flatpak info --show-commit --user org.freedesktop.Platform/x86_64/1.4 +0ms
flatpak-bundler $ flatpak info --show-commit --system org.freedesktop.Platform/x86_64/1.4 +9ms
flatpak-bundler 1> 45ba501d99dfcf28efc61d01e2d985c4c40c32db136b2f08c2a3893619969603
flatpak-bundler +100ms
flatpak-bundler 2> error: org.freedesktop.Platform 1.4 not installed
flatpak-bundler +3ms
flatpak-bundler Found install of org.freedesktop.Platform, trying to update +1ms
flatpak-bundler $ flatpak update --user --no-deps --arch x86_64 org.freedesktop.Platform 1.4 +0ms
flatpak-bundler 1> Looking for updates...
flatpak-bundler +22ms
flatpak-bundler Ensuring sdk is up to date +14s
flatpak-bundler Checking for install of org.freedesktop.Sdk +1ms
flatpak-bundler $ flatpak info --show-commit --user org.freedesktop.Sdk/x86_64/ +0ms
flatpak-bundler $ flatpak info --show-commit --system org.freedesktop.Sdk/x86_64/ +7ms
flatpak-bundler 2> error: org.freedesktop.Sdk master not installed
flatpak-bundler +15ms
flatpak-bundler 1> 753d69a34b7d18fdff204455a8f16a15156892a65497937c2cad88261fa34d70
flatpak-bundler +8ms
flatpak-bundler Found install of org.freedesktop.Sdk, trying to update +1ms
flatpak-bundler $ flatpak update --no-deps --arch x86_64 org.freedesktop.Sdk +1ms
flatpak-bundler 1> Looking for updates...
flatpak-bundler +22ms
flatpak-bundler Ensuring base app is up to date +6s
flatpak-bundler Checking for install of io.atom.electron.BaseApp +0ms
flatpak-bundler $ flatpak info --show-commit --user io.atom.electron.BaseApp/x86_64/master +0ms
flatpak-bundler $ flatpak info --show-commit --system io.atom.electron.BaseApp/x86_64/master +7ms
flatpak-bundler 1> bb7a3131828799814f4c9b5174fdd83524559b095d8fad09df39262df7149970
flatpak-bundler +13ms
flatpak-bundler 2> error: io.atom.electron.BaseApp master not installed
flatpak-bundler +10ms
flatpak-bundler Found install of io.atom.electron.BaseApp, trying to update +1ms
flatpak-bundler $ flatpak update --user --no-deps --arch x86_64 io.atom.electron.BaseApp master +0ms
flatpak-bundler 1> Looking for updates...
flatpak-bundler +20ms
flatpak-bundler $ flatpak-builder --arch x86_64 --force-clean --build-only /var/tmp/tmp-16599xZ8YE40Qf2Ev/build /var/tmp/tmp-16599xZ8YE40Qf2Ev/manifest.json +7s
flatpak-bundler 2>
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property base-flatpakref for type BuilderManifest
flatpak-bundler
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property runtime-flatpakref for type BuilderManifest
flatpak-bundler
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property sdk-flatpakref for type BuilderManifest
flatpak-bundler
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property files for type BuilderManifest
flatpak-bundler
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property symlinks for type BuilderManifest
flatpak-bundler
flatpak-bundler (flatpak-builder:16696): flatpak-builder-WARNING **: Unknown property extra-exports for type BuilderManifest
flatpak-bundler +21ms
flatpak-bundler 2> error: org.freedesktop.Sdk 1.4 not installed
flatpak-bundler +19ms
flatpak-bundler 2> Failed to init: Unable to find sdk org.freedesktop.Sdk version 1.4
flatpak-bundler +1ms
electron-installer-flatpak Error creating package: flatpak-builder failed with status code 1 +27s
electron-forge:lifecycle Process Failed: Making for target: flatpak - On platform: linux - For arch: x64 +29s
An unhandled error has occurred inside Forge:
An error occured while making for target: flatpak
flatpak-builder failed with status code 1
Error: flatpak-builder failed with status code 1
at ChildProcess.child.on (/usr/lib/node_modules/electron-forge/node_modules/flatpak-bundler/index.js:74:16)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
What version of Electron Forge is this? This seems like a bug that was fixed by https://github.com/endlessm/electron-installer-flatpak/pull/16
It's 5.2.0.
Should I use another version?
This seems like a bug with either electron-installer-flatpak
or flatpak-bundler
. According to the PR I linked to (which is included with the version of Forge you're running), it should automatically download/install the freedesktop SDK for you.
If I'm reading their README correctly, the workaround it to manually install the SDK:
flatpak --user install gnome org.freedesktop.Sdk/x86_64/1.4
Thank you for your help, that fixes the issue for both the trivial test case and the original sample app case.
I had mistakenly installed 1.6, as it was the oldest version available on flathub.
Trying to create a flatpak bundle from an electron-forge application fails with an error. Both flatpak and flatpak-builder are natively installed in the system as requested by the dependencies.
*Console output when you run
electron-forge
with the environment variable `DEBUG=electron-forge:`. (Instructions on how to do so here). Please include the stack trace if one exists.**What command line arguments are you passing?
What does your
config.forge
data inpackage.json
look like?Please provide either a failing minimal testcase (with a link to the code) or detailed steps to reproduce your problem. Using
electron-forge init
is a good starting point, if that is not the source of your problem.Here's a repo with my failing test case: https://github.com/cpba/ef-build
Steps I've followed in order to arrive here:
I'm trying to build this sample application: https://github.com/flathub/electron-sample-app
create new electron-forge project called
ef-build
using: electron-forge init ef-buildcopy project tarball into created ef-build/src folder.
edit package.json to point to
src/main.js
rather thansrc/index.js
.check that the application runs: electron-forge start
add
"flatpak"
to make targets inpackage.json
attempt make with: electron-forge make