diff options
author | nolash | 2019-08-21 19:59:09 +0200 |
---|---|---|
committer | nolash | 2019-08-21 19:59:09 +0200 |
commit | b8f43620bb8b373616b636c256d3d98c21bd41d9 (patch) | |
tree | 868c3949c98e97972d581e52be030d6d00519729 | |
parent | 6b7fdd31a5da5245ed5f53a77dbed906983631b1 (diff) | |
download | aur-b8f43620bb8b373616b636c256d3d98c21bd41d9.tar.gz |
Add wallet generation script
-rw-r--r-- | PKGBUILD | 35 | ||||
-rw-r--r-- | go-swarm.install | 31 | ||||
-rw-r--r-- | swarm-resources.tar.gz | bin | 0 -> 1257 bytes |
3 files changed, 62 insertions, 4 deletions
@@ -11,16 +11,18 @@ groups=() depends=() makedepends=('go>=1.10.0' 'git') checkdepends=() -optdepends=('openssl') +optdepends=('python-scrypt' 'python-ecdsa' 'python-pycryptodome' 'go-ethereum') provides=('go-swarm') conflicts=() replaces=() backup=() options=() -install= -source=("https://github.com/ethersphere/swarm/archive/v${pkgver}.tar.gz" "v${pkgver}.tar.gz.sig") +install=${pkgname}.install +source=("https://github.com/ethersphere/swarm/archive/v${pkgver}.tar.gz" + "v${pkgver}.tar.gz.sig" + "swarm-resources.tar.gz") noextract=() -md5sums=("7f394b218657463761a555d5c598a320" "SKIP"); +md5sums=("7f394b218657463761a555d5c598a320" "SKIP" "d86f000521890a4e84a9ad3e97c30a60"); validpgpkeys=("0826EDA1702D1E87C6E2875121D2E7BB88C2A746") prepare() { @@ -36,18 +38,43 @@ prepare() { mkdir -vp "$SWARMPATH" fi mv -v ${srcdir}/swarm-${pkgver} ${SWARMPATH}/swarm + } build() { msg "Building the swarm binary" msg2 "using gopath $GOPATH" go build -o build/swarm -v ${SWARMPATH}/swarm/cmd/swarm + + getent group bzz > /dev/null || groupadd -r bzz + getent passwd bzz > /dev/null || useradd -g bzz -d /var/lib/bzz -m -r } check() { + pythonwalletdepends=1 + gethwalletdepends=1 + for m in ${optdepends[@]}; do + if [ ! pacman -Qi $m &> /dev/null ]; then + if [ $m =~ /^python-/ ]; then + pythonwalletdepends=0 + else + gethwalletdepends=0 + fi + warning "missing optional depend ${m}" + fi + done + dependsdir="/tmp/.${pkgname}-depends-${pkgver}-${pkgrel}" + mkdir -p ${dependsdir} + if [ ${pythonwalletdepends} -eq 1 ]; then + touch ${dependsdir}/.havepythonwallet + fi + if [ ${gethwalletdepends} -eq 1 ]; then + touch ${dependsdir}/.havegethwallet + fi warning "still need to add checks" } package() { install -v -D -m0755 build/swarm ${pkgdir}/usr/local/bin/swarm + install -v -D -m0700 swarm-genkey.py ${pkgdir}/usr/local/bin/swarm-genkey } diff --git a/go-swarm.install b/go-swarm.install new file mode 100644 index 000000000000..65f2fe638196 --- /dev/null +++ b/go-swarm.install @@ -0,0 +1,31 @@ +post_install () { + dependsdir=/tmp/.go-swarm-depends-$1 + mkdir -p /var/lib/bzz/keystore + + if [ -f "${dependsdir}/.havepythonwallet" ]; then + echo "generating wallet with swarm-genkey" + tmpkey=$(mktemp -d) + pushd ${tmpkey} + /usr/local/bin/swarm-genkey + install -v -D -m600 .swarm-pass /var/lib/bzz/.swarm-pass + install -v -D -m600 UTC* /var/lib/bzz/keystore/ + popd + rm -vrf ${tmpkey} + elif [ -f "${dependsdir}/.havegethwallet" ]; then + echo "generating wallet with geth" + tmpkey=$(mktemp -d) + pushd ${tmpkey} + dd if=/dev/urandom of=.swarm-pass bs=1 count=64 + geth --datadir /var/lib/bzz --password ${tmpkey}/.swarm-pass account new + install -v -D -m600 .swarm-pass /var/lib/bzz/.swarm-pass + popd + else + echo "Missing optional dependencies required to automatically generate a ethereum wallet for the swarm node" + echo "You will not be able to run a node with it" + echo "You can generate it manually later using go-ethereum or the swarm-genkey.py script provided this package, provided dependencies are met" + fi + unlink ${dependsdir}/.havepythonwallet + unlink ${dependsdir}/.havegethwallet + chown -v bzz:bzz /var/lib/bzz -R + chmod 700 /var/lib/bzz/keystore +} diff --git a/swarm-resources.tar.gz b/swarm-resources.tar.gz Binary files differnew file mode 100644 index 000000000000..bd372d48c0eb --- /dev/null +++ b/swarm-resources.tar.gz |