diff options
author | Josh Ellithorpe | 2017-07-18 21:31:05 -0700 |
---|---|---|
committer | Josh Ellithorpe | 2017-07-18 21:51:27 -0700 |
commit | e518e8cbc8142141b51b1cb7f79e345795ce4f8b (patch) | |
tree | 9b57f45d8a19dffbc9e6c83b34ca9bf97b2c9ca0 | |
download | aur-e518e8cbc8142141b51b1cb7f79e345795ce4f8b.tar.gz |
Initial PKGBUILD for Bitcoin ABC with qt wallet
-rw-r--r-- | .SRCINFO | 61 | ||||
-rw-r--r-- | PKGBUILD | 134 | ||||
-rw-r--r-- | bitcoin-reindex.service | 19 | ||||
-rw-r--r-- | bitcoin.conf | 10 | ||||
-rw-r--r-- | bitcoin.install | 60 | ||||
-rw-r--r-- | bitcoin.logrotate | 11 | ||||
-rw-r--r-- | bitcoin.service | 18 |
7 files changed, 313 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..c1787a990d27 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,61 @@ +# Generated by mksrcinfo v8 +# Wed Jul 19 04:51:14 UTC 2017 +pkgbase = bitcoin-abc-qt + pkgdesc = Bitcoin ABC qt wallet + pkgver = 0.14.3 + pkgrel = 1 + url = https://bitcoinabc.org + install = bitcoin.install + arch = i686 + arch = x86_64 + license = MIT + makedepends = autoconf + makedepends = automake + makedepends = binutils + makedepends = boost + makedepends = boost-libs + makedepends = libevent + makedepends = libtool + makedepends = m4 + makedepends = make + makedepends = miniupnpc + makedepends = pkg-config + makedepends = protobuf + makedepends = qrencode + makedepends = qt5-base + makedepends = qt5-tools + makedepends = zeromq + depends = boost + depends = boost-libs + depends = desktop-file-utils + depends = libevent + depends = qt5-base + depends = miniupnpc + depends = qrencode + depends = protobuf + depends = zeromq + provides = bitcoin-cli + provides = bitcoin-daemon + provides = bitcoin-tx + provides = bitcoin-qt + conflicts = bitcoin-cli + conflicts = bitcoin-daemon + conflicts = bitcoin-tx + conflicts = bitcoin-qt + backup = etc/bitcoin/bitcoin.conf + backup = etc/logrotate.d/bitcoin + source = https://github.com/Bitcoin-ABC/bitcoin-abc/archive/v0.14.3.tar.gz + source = bitcoin.conf + source = bitcoin.logrotate + source = bitcoin.service + source = bitcoin-reindex.service + source = bitcoin.install + sha256sums = 5e2d5ee094ce35b4b57506fee1ac1116a4872a7bd3e62f0668e0766d59d4b934 + sha256sums = b1908344281498d39bfa40c3b9725f9c95bf22602cd46e6120a1f17bad9dae35 + sha256sums = 8f05207b586916d489b7d25a68eaacf6e678d7cbb5bfbac551903506b32f904f + sha256sums = 9643eed2c20d78a9c7347df64099765773615f79d3b8a95693d871c933516880 + sha256sums = 35ff9331d7df8b90adfc7d82752cca4f8b7ff23a29e5d10b07e4e3fc78050679 + sha256sums = 6db7458a85a0b469ab95ad78e431d0a5db078d8809a5f4340ee040f304a9dc0d + +pkgname = bitcoin-abc-qt + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..1df6a73db6eb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,134 @@ +# Maintainer: Josh Ellithorpe <quest@mac.com> + +pkgname=bitcoin-abc-qt +pkgver=0.14.3 +pkgrel=1 +pkgdesc="Bitcoin ABC qt wallet" +arch=('i686' 'x86_64') +url="https://bitcoinabc.org" +depends=('boost' + 'boost-libs' + 'desktop-file-utils' + 'libevent' + 'qt5-base' + 'miniupnpc' + 'qrencode' + 'protobuf' + 'zeromq') +makedepends=('autoconf' + 'automake' + 'binutils' + 'boost' + 'boost-libs' + 'libevent' + 'libtool' + 'm4' + 'make' + 'miniupnpc' + 'pkg-config' + 'protobuf' + 'qrencode' + 'qt5-base' + 'qt5-tools' + 'zeromq') +license=('MIT') +source=(https://github.com/Bitcoin-ABC/bitcoin-abc/archive/v$pkgver.tar.gz + bitcoin.conf + bitcoin.logrotate + bitcoin.service + bitcoin-reindex.service + bitcoin.install) +sha256sums=('5e2d5ee094ce35b4b57506fee1ac1116a4872a7bd3e62f0668e0766d59d4b934' + 'b1908344281498d39bfa40c3b9725f9c95bf22602cd46e6120a1f17bad9dae35' + '8f05207b586916d489b7d25a68eaacf6e678d7cbb5bfbac551903506b32f904f' + '9643eed2c20d78a9c7347df64099765773615f79d3b8a95693d871c933516880' + '35ff9331d7df8b90adfc7d82752cca4f8b7ff23a29e5d10b07e4e3fc78050679' + '6db7458a85a0b469ab95ad78e431d0a5db078d8809a5f4340ee040f304a9dc0d') +backup=('etc/bitcoin/bitcoin.conf' + 'etc/logrotate.d/bitcoin') +provides=('bitcoin-cli' 'bitcoin-daemon' 'bitcoin-tx' 'bitcoin-qt') +conflicts=('bitcoin-cli' 'bitcoin-daemon' 'bitcoin-tx' 'bitcoin-qt') +install=bitcoin.install + +# half of available processing units or one if only one is available +_nproc=$(($(nproc)/2)) +[[ ${_nproc} < 1 ]] && _nproc=1 + +build() { + cd "$srcdir/bitcoin-abc-$pkgver" + + msg2 'Building...' + ./autogen.sh + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/bitcoin \ + --sysconfdir=/etc \ + --sharedstatedir=/usr/share/bitcoin \ + --localstatedir=/var/lib/bitcoin \ + --enable-hardening \ + --with-gui=qt5 \ + --with-gnu-ld \ + --with-incompatible-bdb + make -j$_nproc +} + +check() { + cd "$srcdir/bitcoin-abc-$pkgver" + + msg2 'Testing...' + make -j$_nproc check +} + +package() { + cd "$srcdir/bitcoin-abc-$pkgver" + + msg2 'Fixing core references...' + sed -i -e 's/Bitcoin Core/Bitcoin ABC/g' contrib/debian/bitcoin-qt.desktop + + msg2 'Installing wallet...' + install -Dm755 src/qt/bitcoin-qt "$pkgdir"/usr/bin/bitcoin-qt + install -Dm644 contrib/debian/bitcoin-qt.desktop \ + "$pkgdir"/usr/share/applications/bitcoin.desktop + install -Dm644 share/pixmaps/bitcoin128.png \ + "$pkgdir"/usr/share/pixmaps/bitcoin128.png + + msg2 'Installing license...' + install -Dm 644 COPYING -t "$pkgdir/usr/share/licenses/${pkgname}" + + msg2 'Installing man pages...' + install -Dm 644 doc/man/*.1 -t "$pkgdir/usr/share/man/man1" + + msg2 'Installing documentation...' + install -dm 755 "$pkgdir/usr/share/doc/bitcoin" + for _doc in \ + $(find doc -maxdepth 1 -type f -name "*.md" -printf '%f\n') \ + release-notes; do + cp -dpr --no-preserve=ownership "doc/$_doc" \ + "$pkgdir/usr/share/doc/bitcoin/$_doc" + done + + msg2 'Installing essential directories' + install -dm 700 "$pkgdir/etc/bitcoin" + install -dm 755 "$pkgdir/srv/bitcoin" + + msg2 'Installing bitcoin...' + make DESTDIR="$pkgdir" install + + msg2 'Installing bitcoin.conf...' + install -Dm 600 "$srcdir/bitcoin.conf" -t "$pkgdir/etc/bitcoin" + + msg2 'Installing bitcoin.service...' + install -Dm 644 "$srcdir/bitcoin.service" -t "$pkgdir/usr/lib/systemd/system" + install -Dm 644 "$srcdir/bitcoin-reindex.service" \ + -t "$pkgdir/usr/lib/systemd/system" + + msg2 'Installing bitcoin.logrotate...' + install -Dm 644 "$srcdir/bitcoin.logrotate" "$pkgdir/etc/logrotate.d/bitcoin" + + msg2 'Installing bash completion...' + for _compl in bitcoin-cli bitcoin-tx bitcoind; do + install -Dm 644 "contrib/${_compl}.bash-completion" \ + "$pkgdir/usr/share/bash-completion/completions/$_compl" + done +} diff --git a/bitcoin-reindex.service b/bitcoin-reindex.service new file mode 100644 index 000000000000..236a24d05e54 --- /dev/null +++ b/bitcoin-reindex.service @@ -0,0 +1,19 @@ +[Unit] +Description=Bitcoin Daemon (reindex) +Conflicts=bitcoin.service +After=network.target + +[Service] +User=bitcoin +Group=bitcoin +ExecStart=/usr/bin/bitcoind -daemon=0 \ + -conf=/etc/bitcoin/bitcoin.conf \ + -datadir=/srv/bitcoin \ + -reindex \ + -pid=/run/bitcoind.pid +ExecReload=/usr/bin/kill -HUP $MAINPID +ExecStop=/usr/bin/bitcoind stop +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/bitcoin.conf b/bitcoin.conf new file mode 100644 index 000000000000..cc914e17067c --- /dev/null +++ b/bitcoin.conf @@ -0,0 +1,10 @@ +rpcconnect=127.0.0.1 +rpcport=8332 +rpcuser=bitcoin +rpcpassword=secret +rpcallowip=127.0.0.1 +rpcthreads=4 +rpctimeout=300 +txindex=1 +server=1 +dbcache=300 diff --git a/bitcoin.install b/bitcoin.install new file mode 100644 index 000000000000..83ee537651a0 --- /dev/null +++ b/bitcoin.install @@ -0,0 +1,60 @@ +_bc_user=bitcoin +_bc_group=bitcoin + +post_install() { + _mkuser + chown -R $_bc_user:$_bc_group /etc/bitcoin /srv/bitcoin + printf "%b\n" "$bitcoin" +} + +post_upgrade() { + _mkuser + chown -R $_bc_user:$_bc_group /etc/bitcoin /srv/bitcoin + printf "%b\n" "$bitcoin" +} + +post_remove() { + _rmuser + rm -rf /srv/bitcoin +} + +_mkuser() { + getent passwd $_bc_user &>/dev/null || { + echo -n "Creating bitcoin user... " + grep -E "^$_bc_group:" /etc/group >/dev/null || groupadd $_bc_group + useradd -m -d /etc/bitcoin -g $_bc_group -s /usr/bin/nologin $_bc_user 2>/dev/null + echo "done" + } +} + +_rmuser() { + echo -n "Removing bitcoin user... " + userdel -rf $_bc_user 2>/dev/null + echo "done" +} + +read -d '' bitcoin <<'EOI' + +Bitcoin ABC +___________ + +To start bitcoin-abc: + +$ systemctl start bitcoin + +To communicate with bitcoin-abc as a normal user: + +$ mkdir -p ~/.bitcoin +$ cat > ~/.bitcoin/bitcoin.conf <<'EOF' +rpcconnect=127.0.0.1 +rpcport=8332 +rpcuser=bitcoin +rpcpassword=secret +EOF + +$ bitcoin-cli getmininginfo + +Config: /etc/bitcoin/bitcoin.conf +Blockchain: /srv/bitcoin +Documentation: /usr/share/doc/bitcoin +EOI diff --git a/bitcoin.logrotate b/bitcoin.logrotate new file mode 100644 index 000000000000..fe13fb2e7049 --- /dev/null +++ b/bitcoin.logrotate @@ -0,0 +1,11 @@ +/srv/bitcoin/debug.log +{ + rotate 5 + copytruncate + daily + missingok + notifempty + compress + delaycompress + sharedscripts +} diff --git a/bitcoin.service b/bitcoin.service new file mode 100644 index 000000000000..abb6da86942d --- /dev/null +++ b/bitcoin.service @@ -0,0 +1,18 @@ +[Unit] +Description=Bitcoin Daemon +Conflicts=bitcoin-reindex.service +After=network.target + +[Service] +User=bitcoin +Group=bitcoin +ExecStart=/usr/bin/bitcoind -daemon=0 \ + -conf=/etc/bitcoin/bitcoin.conf \ + -datadir=/srv/bitcoin \ + -pid=/run/bitcoind.pid +ExecReload=/usr/bin/kill -HUP $MAINPID +ExecStop=/usr/bin/bitcoind stop +PrivateTmp=true + +[Install] +WantedBy=multi-user.target |