You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
SomberNight f35437f03c
build: set ELECTRUM_ECC_DONT_COMPILE=1, instead manually build lib
1 year ago
..
patches appimage build: bump python version (3.10.13->3.11.9) 2 years ago
.dockerignore build: fix repro builds where host userid != 1000 3 years ago
Dockerfile qt desktop gui: upgrade qt5->qt6 1 year ago
README.md binaries: document min requirements for target systems 1 year ago
apprun.sh appimage build: better parameterise python version 3 years ago
apt.preferences appimage: add freeze_appimage_distro.sh and adapt Dockerfile to use debian buster base 3 years ago
apt.sources.list build: rm "contrib" from debian apt sources lists 3 years ago
build.sh build: fix repro builds where host userid != 1000 3 years ago
make_appimage.sh build: set ELECTRUM_ECC_DONT_COMPILE=1, instead manually build lib 1 year ago

README.md

AppImage binary for Electrum

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

  • Minimum supported target system (i.e. what end-users need): x86_64, glibc 2.28

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).

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

    See contrib/docker_notes.md.

    (worth reading even if you already have docker)

  2. Build binary

    $ ./build.sh
    

    If you want reproducibility, try instead e.g.:

    $ ELECBUILD_COMMIT=HEAD ./build.sh
    
  3. 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

How to investigate diff between binaries if reproducibility fails?

cd dist/
./electrum-*-x86_64.AppImage1 --appimage-extract
mv squashfs-root/ squashfs-root1/
./electrum-*-x86_64.AppImage2 --appimage-extract
mv squashfs-root/ squashfs-root2/
$(cd squashfs-root1; find -type f -exec sha256sum '{}' \; > ./../sha256sum1)
$(cd squashfs-root2; find -type f -exec sha256sum '{}' \; > ./../sha256sum2)
diff sha256sum1 sha256sum2 > d
cat d

For file metadata, e.g. timestamps:

rsync -n -a -i --delete squashfs-root1/ squashfs-root2/

Useful binary comparison tools:

  • vbindiff
  • diffoscope