Användarverktyg

Webbverktyg


teknik:guider:building_signal_on_fedora_28

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.

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 \
    /usr/lib/rpm/check-buildroot

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 https://github.com/signalapp/Signal-Desktop/archive/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'

Build

$ rpmbuild -bb SPECS/signal-desktop.spec

Install

$ 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: 2018-08-15 21:26 av stemid