electron / electron/forge

Linux distros should only run makers for their target platfrm by default

Open
#3,772 3 comments 1 reaction 0 assignees View on GitHub
make platform/linux
Dominant language
TypeScript
Stars
7.1k
Forks
641
Avg merge
3d 1h
Merged PRs (30d)
30

Description

### Pre-flight checklist

- [x] I have read the [contribution documentation](https://github.com/electron/forge/blob/main/CONTRIBUTING.md) for this project.
- [x] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project uses.
- [x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

### Electron Forge version

7.6.0

### Electron version

v33.2.1

### Operating system

Devuan GNU/Linux 5 (daedalus), x64

### Last known working Electron Forge version

_No response_

### Expected behavior

I tried to build [my code](https://github.com/DrHyde/unicode-search) on Devuan. The exact same code builds just fine on a Mac. `npm run make` should produce a working binary in the `out/` directory.

### Actual behavior

```
$ npm run make

> Unicode-search@0.0.1 make
> electron-forge make

✔ Checking your system
✔ Loading configuration
✖ Resolving make targets
› Cannot make for rpm, the following external binaries need to be installed: rpmbuild
◼ Running package command
◼ Running preMake hook
◼ Making distributables
◼ Running postMake hook

An unhandled rejection has occurred inside Forge:
Error: Cannot make for rpm, the following external binaries need to be installed: rpmbuild
at MakerRpm.ensureExternalBinariesExist (/home/david/unicode-search/node_modules/@electron-forge/maker-base/dist/Maker.js:107:19)
at /home/david/unicode-search/node_modules/@electron-forge/core/dist/api/make.js:119:27
at async _Task.taskFn (/home/david/unicode-search/node_modules/@electron-forge/tracer/dist/index.js:58:20)
at async _Task.run (/home/david/unicode-search/node_modules/listr2/dist/index.cjs:2063:11)
```

### Steps to reproduce

To reproduce:

* clone my repo, on a Devuan machine;
* make deps (to install Electron etc)
* make build

### Additional information

A very similar error was reported previously in #1262 and "fixed" by improving the error message to make it clear that Electron is trying to erroneously run Redhat-specific tools on a non-Redhat machine. Making the error message more clear is obviously _not_ in fact a fix. A fix would be a code change to make it stop running Redhat stuff on any platform except Redhat, unless specifically asked to do so, just like you would only run Mac-specific tools on a Mac, and Windows-specific tools on Windows.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.