diff options
author | Andy Weidenbaum | 2015-06-09 11:41:58 -0700 |
---|---|---|
committer | Andy Weidenbaum | 2015-06-09 11:41:58 -0700 |
commit | f33a27d01891599a5e183abe97917398074b8bcf (patch) | |
tree | bd781fccfb4ffaf25f534d86a4b36a9c5d2675f8 | |
download | aur-f33a27d01891599a5e183abe97917398074b8bcf.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 95 | ||||
-rw-r--r-- | electrum-server.install | 83 | ||||
-rw-r--r-- | electrum-server.service | 20 |
4 files changed, 230 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..24b11b30b164 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,32 @@ +pkgbase = electrum-server-git + pkgdesc = Server to support Electrum python-based Bitcoin client + pkgver = 20150223 + pkgrel = 1 + url = https://github.com/spesmilo/electrum-server + install = electrum-server.install + arch = i686 + arch = x86_64 + license = AGPL3 + makedepends = git + makedepends = python2-setuptools + depends = leveldb + depends = openssl + depends = python2 + depends = python2-irc + depends = python2-jsonrpclib + depends = python2-plyvel + depends = python2-pyopenssl + depends = snappy + optdepends = bitcoin-core: Bitcoin core headless P2P node + optdepends = electrum: Bitcoin thin client + provides = electrum-server + conflicts = electrum-server + backup = etc/electrum-server.banner + backup = etc/electrum-server.conf + source = git+https://github.com/spesmilo/electrum-server + source = electrum-server.service + sha256sums = SKIP + sha256sums = d90503ea4b71c52dfcb68d7cfb6f7ea313380a7d8972e8510d7bbb7494d6f1b4 + +pkgname = electrum-server-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ae7b6a1b8dc0 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,95 @@ +# Maintainer: Andy Weidenbaum <archbaum@gmail.com> +# Contributor: Duncan Townsend <duncant@mit.edu> +# Contributor: Sebastian Lindqvist <dunpin@gmail.com> + +pkgname=electrum-server-git +pkgver=20150223 +pkgrel=1 +pkgdesc="Server to support Electrum python-based Bitcoin client" +arch=('i686' 'x86_64') +depends=('leveldb' + 'openssl' + 'python2' + 'python2-irc' + 'python2-jsonrpclib' + 'python2-plyvel' + 'python2-pyopenssl' + 'snappy') +makedepends=('git' 'python2-setuptools') +optdepends=('bitcoin-core: Bitcoin core headless P2P node' + 'electrum: Bitcoin thin client') +url="https://github.com/spesmilo/electrum-server" +license=('AGPL3') +source=(git+https://github.com/spesmilo/electrum-server + electrum-server.service) +sha256sums=('SKIP' + 'd90503ea4b71c52dfcb68d7cfb6f7ea313380a7d8972e8510d7bbb7494d6f1b4') +backup=('etc/electrum-server.banner' + 'etc/electrum-server.conf') +provides=('electrum-server') +conflicts=('electrum-server') +install=electrum-server.install + +pkgver() { + cd ${pkgname%-git} + git log -1 --format="%cd" --date=short | sed "s|-||g" +} + +prepare() { + cd ${pkgname%-git} + + msg 'Fixing Python version...' + find . -type f -print0 | xargs -0 sed -i 's#/usr/bin/python#/usr/bin/python2#g' + find . -type f -print0 | xargs -0 sed -i 's#/usr/bin/env python#/usr/bin/env python2#g' + + msg 'Changing electrum.banner to electrum-server.banner...' + find . -type f -print0 | xargs -0 sed -i 's#/etc/electrum\.banner#/etc/electrum-server.banner#g' + + msg 'Changing electrum.conf to electrum-server.conf...' + cp -dpr --no-preserve=ownership electrum.conf.sample electrum-server.conf.sample + find . -type f -print0 | xargs -0 sed -i 's#electrum\.conf#electrum-server.conf#g' + + msg 'Changing electrum.log to electrum-server.log...' + find . -type f -print0 | xargs -0 sed -i 's#electrum\.log#electrum-server/electrum-server.log#g' +} + +build() { + cd ${pkgname%-git} + + msg 'Building...' + python2 setup.py build +} + +package() { + cd ${pkgname%-git} + + msg 'Installing license...' + install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/electrum-server/LICENSE" + + msg 'Installing documentation...' + for _doc in HOWTO.md INSTALL README-IRC.md README.md; do + install -Dm 644 $_doc "$pkgdir/usr/share/doc/electrum-server/$_doc" + done + + msg 'Installing' + install -dm 700 "$pkgdir/usr/share/electrum-server" + install -dm 700 "$pkgdir/var/log/electrum-server" + python2 setup.py install --root="$pkgdir" --optimize=1 + + msg 'Installing electrum-server.conf...' + install -Dm 600 electrum-server.conf.sample "$pkgdir/etc/electrum-server.conf" + + msg 'Installing electrum-server.banner...' + touch "$pkgdir/etc/electrum-server.banner" + + msg 'Installing electrum-server.service...' + install -Dm 644 "$srcdir/electrum-server.service" "$pkgdir/usr/lib/systemd/system/electrum-server.service" + + msg 'Fixing binaries...' + rm -f "$pkgdir/usr/bin/electrum-server" + mv "$pkgdir/usr/bin/run_electrum_server" "$pkgdir/usr/bin/electrum-server" + + msg 'Cleaning up pkgdir...' + find "$pkgdir" -type d -name .git -exec rm -r '{}' + + find "$pkgdir" -type f -name .gitignore -exec rm -r '{}' + +} diff --git a/electrum-server.install b/electrum-server.install new file mode 100644 index 000000000000..c6f3df230b38 --- /dev/null +++ b/electrum-server.install @@ -0,0 +1,83 @@ +post_install() { + _mkuser + chown -R electrum-server:electrum-server /etc/electrum-server \ + /etc/electrum-server.conf \ + /etc/electrum-server.banner \ + /usr/share/electrum-server \ + /var/log/electrum-server + printf "%b\n" "$ecdsa" +} + +post_upgrade() { + post_install +} + +post_remove() { + _rmuser +} + +_mkuser() { + getent passwd electrum-server &>/dev/null || { + echo -n "Creating electrum-server user... " + grep -E "^electrum-server:" /etc/group >/dev/null || groupadd electrum-server + useradd -m -d /etc/electrum-server -g electrum-server -s /usr/bin/nologin electrum-server + echo "done" + } +} + +_rmuser() { + echo -n "Removing electrum-server user... " + userdel -rf electrum-server 2>/dev/null + echo "done" +} + +read -d '' ecdsa <<'EOF' +######################################################################## +######################################################################## +## ## +## Electrum Server ## +## _______________ ## +## ## +## Usage: ## +## ## +## systemctl start electrum-server ## +## electrum-server getinfo|peers|numpeers|sessions|numsessions ## +## ## +## ## +## ';,;:. ## +## 'o' .;d. ## +## K. :l ## +## cl .O, ## +## .c:cclc. ## +## .;::;. .;ko,. ':::' .',,,. ## +## .OMMMMMWo ,d,. .oo cXMMMMMX: do. .:d. ## +## x MMMMMMMMxlX. kdoMMMMMMMMMoxl '0 ## +## oMMMMMMMN;'K, .Oc;NMMMMMMMX,ld ;k ## +## :0WMMNk. .cl;,;cl, 'kWMMMWx. :o:,';cc ## +## .. .'. .oWc. .''. ## +## 'oc;,;lo. ## +## ,O. .0. ## +## :k .0. ## +## cl,...:o, ## +## .,,,. ## +## ## +## ## +## ## +## Say hi to the dev crew, other server operators and fans on ## +## irc.freenode.net #electrum and we'll try to congratulate you ## +## on supporting the community by running an Electrum node. ## +## ## +## If you're operating a public Electrum server please subscribe ## +## to or regularly check the following thread: ## +## ## +## https://bitcointalk.org/index.php?topic=85475.0 ## +## ## +## It'll contain announcements about important updates to Electrum ## +## server required for a smooth user experience. ## +## ## +## Please see /usr/share/doc/electrum-server/HOWTO.md for detailed ## +## information. ## +## ## +######################################################################## +######################################################################## +EOF diff --git a/electrum-server.service b/electrum-server.service new file mode 100644 index 000000000000..b2a72c6f67fa --- /dev/null +++ b/electrum-server.service @@ -0,0 +1,20 @@ +[Unit] +Description=Electrum server +Wants=bitcoin.service +After=bitcoin.service + +[Service] +User=electrum-server +Group=electrum-server +LimitNOFILE=infinity +WorkingDirectory=/usr/share/electrum-server +ExecStart=/usr/bin/electrum-server +ExecStop=/usr/bin/electrum-server stop +ExecReload=/usr/bin/kill -HUP $MAINPID +Restart=always +RestartSec=60 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target |