Building Signal Desktop on Fedora 28

I've been making my own RPMs of Signal Desktop app since Fedora 26 but always on the same laptop and without documenting the process. Now I had to setup a new laptop for myself with Fedora 28 so I better write down how I built the Signal RPM.

Signal-desktop is broken on Fedora as of somewhere around release 1.15 or 1.14. There are Github issues opened about it. The issue is relating to the way Signal-desktop bundles libraries to avoid using system wide libraries that might be compromised. So even if you get it to build it will segfault.

Setup rpmbuild

Pick somwhere to build your RPMs, I've picked $HOME/src/rpmbuild and hard coded that into my .rpmmacros file. So it looks like this.

%_topdir %(echo $HOME)/src/rpmbuild
%_tmppath %(echo $HOME)/src/rpmbuild/tmp

%__arch_install_post \
    [ "%{buildarch}" = "noarch" ] || QA_CHECK_RPATHS=1 ; \
    case "${QA_CHECK_RPATHS:-}" in [1yY]*) /usr/lib/rpm/check-rpaths ;; esac \

Don't ask me what the last part does, I don't remember. But the first two lines are pretty self-explanatory and used by the rpmbuild command later.

$ mkdir -p $HOME/src/rpmbuild
$ mkdir $HOME/src/rpmbuild/{SPECS,SOURCES}

Download SPEC and SOURCE for Signal

The spec file is key to any RPM building and I got mine from a kind person on github. That link is straight to the commit that I was using when this guide was written. Which is important to note since at the moment for example 1.15 release of Signal is broken on Fedora. Issues like that might happen in the future.

Put it into the SPECS directory.

Download the source release tarball into the SOURCES directory.

$ curl -Lso SOURCES/v1.14.4.tar.gz

Install yarn

Some might install it using npm as a global package later but I prefer using official repos. So follow those instructions on installing the yarn repo.

Install dependency packages

$ sudo dnf install rpm-build nodejs
$ sudo dnf install gcc-c++ node-gyp yarn '@Development Tools'


$ rpmbuild -bb SPECS/signal-desktop.spec


$ sudo dnf install RPMS/x86_64/signal-desktop-1.14.4-1.fc28.x86_64.rpm
teknik/guider/building_signal_on_fedora_28.txt · Senast uppdaterad: 2019-01-09 06:27 av stemid