LBRY-Vault/contrib/build-linux/appimage
Axel Gembe 880bd16883
AppImage: Improve binary stripping
Slightly reduces file size, improves build speed and makes build more
reproducible.

The .comment section contained GCC version information which could cause
different build output from just a minor update in GCC. The information is not
needed so we strip this.

The strip command was invoked using xargs, spawning a new process for each file.
This is inefficient as xargs can correctly run the strip command with multiple
file names.

-----

taken from 43aaf9572f
2019-12-17 21:41:17 +01:00
..
patches AppImage: Improve reproducible Python build reliability on Linux 2019-06-23 02:47:16 +02:00
apprun.sh initial commit for building AppImages for Linux x86_64 2019-02-03 23:45:30 +01:00
build.sh AppImage: Improve binary stripping 2019-12-17 21:41:17 +01:00
Dockerfile build: update some packages in dockerfiles 2019-12-10 23:54:45 +01:00
README.md build readme nits 2019-07-03 21:09:11 +02:00

AppImage binary for Electrum

This binary should be reproducible, meaning you should be able to generate binaries that match the official releases.

This assumes an Ubuntu host, but it should not be too hard to adapt to another similar system. The host architecture should be x86_64 (amd64). The docker commands should be executed in the project's root folder.

We currently only build a single AppImage, for x86_64 architecture. Help to adapt these scripts to build for (some flavor of) ARM would be welcome, see issue #5159.

  1. Install Docker

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    $ sudo apt-get update
    $ sudo apt-get install -y docker-ce
    
  2. Build image

    $ sudo docker build -t electrum-appimage-builder-img contrib/build-linux/appimage
    
  3. Build binary

    $ sudo docker run -it \
        --name electrum-appimage-builder-cont \
        -v $PWD:/opt/electrum \
        --rm \
        --workdir /opt/electrum/contrib/build-linux/appimage \
        electrum-appimage-builder-img \
        ./build.sh
    
  4. The generated binary is in ./dist.

FAQ

How can I see what is included in the AppImage?

Execute the binary as follows: ./electrum*.AppImage --appimage-extract