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
4cec098d2d
|
5 years ago | |
---|---|---|
.. | ||
patches | 5 years ago | |
Dockerfile | 5 years ago | |
README.md | 5 years ago | |
apprun.sh | 5 years ago | |
build.sh | 5 years 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.
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.
-
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
-
Build image
$ sudo docker build -t electrum-appimage-builder-img contrib/build-linux/appimage
-
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
-
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
Useful binary comparison tools:
- vbindiff
- diffoscope