-case $distro in
- arch) pi virtviewer ;;
- *) : ;; # other distros have it as a dependency afaik.
-esac
-
-
-
-case $distro in
- fedora) cabal install shellcheck ;;
- *) spa shellcheck ;;
- # unknown for older ubuntu
-esac
-
-
-case $distro in
- arch|debian|ubuntu|trisquel) spa pumpa ;;
- # others unknown. do have a buildscript:
- # /a/bin/buildscripts/pumpa ;;
-esac
-
-
-case $distro in
- debian) pi adb ;;
- debian|ubuntu|trisquel) spa android-tools-adbd/unstable ;;
- arch) spa android-tools ;;
- # other distros unknown
-esac
-
-if [[ $HOSTNAME == treetowl ]]; then
- case $distro in
- debian)
- if [[ `debian-archive` == testing ]]; then
- # has no unstable dependencies
- pi bitcoind/unstable
- src=/a/opt/bitcoin/contrib/init/bitcoind.service
- s cp $src /etc/systemd/system
- p=/etc/bitcoin/bitcoin
- dst=/etc/systemd/system/bitcoinjm.service
- # jm for joinmarket
- $sed -r "/^\s*ExecStart/s,${p}.conf,${p}jm.conf," $src \
- >/etc/systemd/system/bitcoinjm.service
-
- d=jm; jm=d # being clever for succinctness
- for s in d jm; do
- s $sed -ri "/^\s*\[Unit\]/a Conflicts=bitcoin${!s}.service" \
- /etc/systemd/system/bitcoin${s}.service
- done
-
- ser daemon-reload
-
- dir=/nocow/.bitcoin
- s mkdir -p $dir
- s chown -R bitcoin:bitcoin $dir
- dir=/etc/bitcoin
- s mkdir -p $dir
- s chown -R root:bitcoin $dir
- s chmod 750 $dir
-
- # pruning decreases the bitcoin dir to 2 gb, keeps
- # just the recent blocks. can\'t do a few things like
- # import a wallet dump.
- # pruning works, but people had to do
- # some manual stuff in joinmarket. I dun need the
- # disk space, so not bothering yet, maybe in a year or so.
- # https://github.com/JoinMarket-Org/joinmarket/issues/431
- #https://bitcoin.org/en/release/v0.12.0#wallet-pruning
- #prune=550
-
- f=$dir/bitcoin.conf
- s dd of=$f <<EOF
-server=1
-rpcpassword=$(openssl rand -base64 32)
-rpcuser=$(openssl rand -base64 32)
-EOF
-
-
- f2=$dir/bitcoinjm.conf
- s cp $f $f2
- s tee -a $f2 >/dev/null <<EOF
-# Joinmarket
-walletnotify=curl -sI --connect-timeout 1 http://localhost:62602/walletnotify?%s
-alertnotify=curl -sI --connect-timeout 1 http://localhost:62602/alertnotify?%s
-wallet=joinmarket.dat
-EOF
- # dunno about sharing a wallet between multiple instances
- # manually did, wallet.dat symlinked in /nocow/.bitcoin
- sgo bitcoind
- fi
- ;;
- # other distros unknown
- esac
- pi libsodium-dev python-pip
- cd /a/opt/joinmarket
- # using develop branch, as it seems to be mostly bug fixes,
- # and this is quite new software.
- # note: python3 does not work.
- # has seg fault error due to some bug, but it still works
- pip install -r requirements.txt || [[ $? == 139 ]]
- # note, the target must exist ahead of time, or bitcoin
- # just overwrites the link, and it\'s not happy with an empty file,
- # so we have to create the wallet, then move and link it.
- s lnf -T /q/bitcoin/wallet.dat /nocow/.bitcoin/wallet.dat
- s lnf -T /q/bitcoin/joinmarket.dat /nocow/.bitcoin/joinmarket.dat
- # not technically needed, but seems cleaner not to have
- # symlinks be root owned unlike everything else
- s chown -h bitcoin:bitcoin /nocow/.bitcoin/*
-
- for var in rpcuser rpcpassword; do
- u="$(s sed -rn "s/^$var=(.*)/\1/p" /etc/bitcoin/bitcoin.conf)"
- # escape backslashes
- u="${u//\\/\\\\\\\\}"
- # escape commas
- u="${u//,/\\,}"
- sed -ri "s,^(rpc_${var#rpc}\s*=).*,\1 $u," joinmarket.cfg
- done
- sed -ri "s/^\s*(blockchain_source\s*=).*/\1 bitcoin-rpc/" joinmarket.cfg
-
-fi
-
-