Build Nodejs/yarn/Eelctron unclear documentation

Hey there!

I want to bring the open source epic games store client Heroic Games Launcher to OBS but I struggle to find good and error free documentation.

First of all the application is based on Electron and uses yarn (per documentation of the app) as it’s build service.
Also from the docs and build instructions I read that it also requires nodejs so I tried to follow the nodejs documentation over here
However while running

osc build

locally I get the following error:

[FONT=monospace]    2s] ----------------------------------------------------------------- 
    2s] ----- building heroic.spec (user abuild) 
    2s] ----------------------------------------------------------------- 
    2s] ----------------------------------------------------------------- 
    2s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature /home/abuild/rpmbuild/SOURCES/heroic.spec 
    2s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tJnPpD 
    2s] + umask 022 
    2s] + cd /home/abuild/rpmbuild/BUILD 
    2s] + cd /home/abuild/rpmbuild/BUILD 
    2s] + rm -rf heroic-1.5.7 
    2s] + /usr/bin/gzip -dc /home/abuild/rpmbuild/SOURCES/heroic-1.5.7.tar.gz 
    2s] + /usr/bin/tar -xof - 
    2s] + STATUS=0 
    2s] + '' 0 -ne 0 ']' 
    2s] + cd heroic-1.5.7 
    2s] + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . 
    2s] + RPM_EC=0 
    2s] ++ jobs -p 
    2s] + exit 0 
    2s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.q1UT3J 
    2s] + umask 022 
    2s] + cd /home/abuild/rpmbuild/BUILD 
    2s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/heroic-1.5.7-0.x86_64 
    2s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/heroic-1.5.7-0.x86_64 
    2s] + /usr/bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT 
    2s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILDROOT/heroic-1.5.7-0.x86_64 
    2s] + cd heroic-1.5.7 
    2s] + RPM_EC=0 
    2s] ++ jobs -p 
    2s] + exit 0 
    2s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Zz5w3d 
    2s] + umask 022 
    2s] + cd /home/abuild/rpmbuild/BUILD 
    2s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/heroic-1.5.7-0.x86_64 
    2s] + /usr/bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT 
    2s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILDROOT/heroic-1.5.7-0.x86_64 
    2s] + cd heroic-1.5.7 
    2s] + %nodejs_install 
    2s] /var/tmp/rpm-tmp.Zz5w3d: line 33: fg: no job control 
    2s] error: Bad exit status from /var/tmp/rpm-tmp.Zz5w3d (%install) 
    2s]  
    2s]  
    2s] RPM build errors: 
    2s]     Bad exit status from /var/tmp/rpm-tmp.Zz5w3d (%install) 
    2s]  
    2s] Z004 failed "build heroic.spec" at Thu Mar 25 18:02:49 UTC 2021. 
    2s] 



Also I struggle to find examples of other open source electron/nodejs based applications (The discord package was not very enlightened here) so I just could look up their spec file for hints.

If I how ever just follow the steps described in the apps read me shipped with the source:

  • Clone the Repository.
  • On the project folder run yarn install.
  • Run yarn build to build the React Assets.
  • Run yarn start.
  • To build the binaries run yarn dist {package to create}.

It has the issue that it tries to connect to some web server which apparently it cant because the build/install process is supposed to run offline.
I am completely lost and hope someone could maybe pointing me to the right direction or a better documentation as the one I found in the wiki.

My current spec file looks as follows:

Name:           heroic
Version:        1.5.7
Release:        0
Summary:        Native Epic Games Launcher alternative for Linux based on Legendary
License:        GPL-v3
URL:            https://github.com/flavioislima/HeroicGamesLauncher
Source0:        heroic-1.5.7.tar.gz
BuildRequires:  nodejs

%description
Native Epic Games Launcher alternative for Linux based on Legendary

%prep
%setup -q

%build

%install
%nodejs_install

%files

%changelog

Please be gentel with me I am still at the stage of learning hwo the entire OBS thing works and my current experience is very limmited since I only build 3 packages successful at all and also only with looking up tons of other spec files.

Thank you for reading and taking the time to help me out :slight_smile:

Kind regards,
Vortex.
[/FONT]

Hi
For the macros to run, you need to have a build requires on nodejs-packaging by the looks as well as yarn;

https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-packaging

I suggest a look at the other packages in that project for clues :wink:

If you have build issues, easier to just point at your project with the URLs, can see better logs and all your files etc.

Thank you very much for the reply.
This indeed seems to help me a lot :slight_smile:

Many thanks.

As for build issues I was only building it locally to prevent unnecessary load on any of the build servers since I’m still practicing :smiley: