electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

README.md (1548B)


      1 Source tarballs
      2 ===============
      3 
      4 ✓ _This file should be reproducible, meaning you should be able to generate
      5    distributables that match the official releases._
      6 
      7 This assumes an Ubuntu (x86_64) host, but it should not be too hard to adapt to another
      8 similar system. The docker commands should be executed in the project's root
      9 folder.
     10 
     11 1. Install Docker
     12 
     13     ```
     14     $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
     15     $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
     16     $ sudo apt-get update
     17     $ sudo apt-get install -y docker-ce
     18     ```
     19 
     20 2. Build image
     21 
     22     ```
     23     $ sudo docker build -t electrum-sdist-builder-img contrib/build-linux/sdist
     24     ```
     25 
     26 3. Build source tarballs
     27 
     28     It's recommended to build from a fresh clone
     29     (but you can skip this if reproducibility is not necessary).
     30 
     31     ```
     32     $ FRESH_CLONE=contrib/build-linux/sdist/fresh_clone && \
     33         sudo rm -rf $FRESH_CLONE && \
     34         umask 0022 && \
     35         mkdir -p $FRESH_CLONE && \
     36         cd $FRESH_CLONE  && \
     37         git clone https://github.com/spesmilo/electrum.git && \
     38         cd electrum
     39     ```
     40 
     41     And then build from this directory:
     42     ```
     43     $ git checkout $REV
     44     $ sudo docker run -it \
     45         --name electrum-sdist-builder-cont \
     46         -v $PWD:/opt/electrum \
     47         --rm \
     48         --workdir /opt/electrum/contrib/build-linux/sdist \
     49         electrum-sdist-builder-img \
     50         ./build.sh
     51     ```
     52 4. The generated distributables are in `./dist`.