Closed android116 closed 2 years ago
I confirm on Manjaro 21.2.4 Qonos
I confirm this too, Ubuntu 21.10.
I also confirm Bastyon.AppImage doesn`t work for Linux
This happens because here ${productName}
is not evaluated to 'Bastyon' and is used "as is" for binary name (you can see this after npm run distl
).
If mount app image and look for its contents - in AppRun the path to binary will look like this: BIN="$APPDIR/${productName}"
and then executed with exec "$BIN"
. This results in bash trying to resolve ${productName}
as environment variable that is obviously empty and this causes the error of trying to execute the directory.
Its obviously a bug in AppImage builder that doesn't escape executable names properly and a bug in electron-builder that doesn't set executable name properly.
According to the docs of electron-builder, executableName
can be deleted from linux target and it will be automatically evaluated to productName
but this is wrong due to a bug. Hardcode "Bastyon" for executableName in linux target fully solve the issue so this is a possible solution. However, this executable name is only used inside AppImage or deb package and in not visible to public so probably the line can be just deleted and such it will evaluate to "name" property that is "pocketnet".
Possible temporary workaround to launch appimage: productName=\$\{productName\} ./Bastyon.AppImage
openSUSE 15.3