diff options
author | Andy Weidenbaum | 2017-03-09 15:44:48 -0800 |
---|---|---|
committer | Andy Weidenbaum | 2017-03-09 15:44:48 -0800 |
commit | 12a49fa2f0429c1bd310beb98f12d9ba1cac3352 (patch) | |
tree | d594ac6f985f07020255a80c7b161ec2db74c53c | |
parent | e54dce98fcea9a0ff7c2980c16804e70d11bcc38 (diff) | |
download | aur-12a49fa2f0429c1bd310beb98f12d9ba1cac3352.tar.gz |
increment pkgrel to 3; obelisk
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 54 | ||||
-rw-r--r-- | bn-init.service | 12 | ||||
-rw-r--r-- | bn.install | 54 | ||||
-rw-r--r-- | bn.logrotate | 10 | ||||
-rw-r--r-- | bn.service | 14 |
6 files changed, 145 insertions, 17 deletions
@@ -1,13 +1,15 @@ # Generated by mksrcinfo v8 -# Wed Mar 8 20:26:52 UTC 2017 +# Thu Mar 9 23:43:45 UTC 2017 pkgbase = libbitcoin-node-git - pkgdesc = Bitcoin Full Node Library + pkgdesc = Bitcoin Full Node pkgver = 20170307 - pkgrel = 2 + pkgrel = 3 url = https://github.com/libbitcoin/libbitcoin-node + install = bn.install arch = i686 arch = x86_64 groups = libbitcoin + groups = obelisk license = AGPL3 makedepends = autoconf makedepends = automake @@ -28,8 +30,18 @@ pkgbase = libbitcoin-node-git depends = libsecp256k1 provides = libbitcoin-node conflicts = libbitcoin-node + backup = etc/obelisk/bn/bn.cfg + backup = etc/logrotate.d/bn source = git+https://github.com/libbitcoin/libbitcoin-node + source = git+https://github.com/libbitcoin/libbitcoin-node.wiki + source = bn.logrotate + source = bn-init.service + source = bn.service sha256sums = SKIP + sha256sums = SKIP + sha256sums = f291f3b70b430657e92fd165d6a0ebded28681ce57ab1fdb20e9324d4c68da8e + sha256sums = b1da043ad40e0d80519b32a8b01a66d0fb47a6d2b19e2b7ad3f1b14b6d689bdd + sha256sums = d3730c0c1e0fc85dec828daef1d92113a6a79f6245617934113f4b31af75bc43 pkgname = libbitcoin-node-git @@ -2,8 +2,8 @@ pkgname=libbitcoin-node-git pkgver=20170307 -pkgrel=2 -pkgdesc="Bitcoin Full Node Library" +pkgrel=3 +pkgdesc="Bitcoin Full Node" arch=('i686' 'x86_64') depends=('boost' 'boost-libs' @@ -22,13 +22,24 @@ makedepends=('autoconf' 'm4' 'make' 'pkg-config') -groups=('libbitcoin') +groups=('libbitcoin' 'obelisk') url="https://github.com/libbitcoin/libbitcoin-node" license=('AGPL3') -source=(git+https://github.com/libbitcoin/libbitcoin-node) -sha256sums=('SKIP') +source=(git+https://github.com/libbitcoin/libbitcoin-node + git+https://github.com/libbitcoin/libbitcoin-node.wiki + bn.logrotate + bn-init.service + bn.service) +sha256sums=('SKIP' + 'SKIP' + 'f291f3b70b430657e92fd165d6a0ebded28681ce57ab1fdb20e9324d4c68da8e' + 'b1da043ad40e0d80519b32a8b01a66d0fb47a6d2b19e2b7ad3f1b14b6d689bdd' + 'd3730c0c1e0fc85dec828daef1d92113a6a79f6245617934113f4b31af75bc43') provides=('libbitcoin-node') conflicts=('libbitcoin-node') +backup=('etc/obelisk/bn/bn.cfg' + 'etc/logrotate.d/bn') +install=bn.install pkgver() { cd ${pkgname%-git} @@ -41,11 +52,11 @@ prepare() { msg2 'Configuring...' cp -dpr --no-preserve=ownership data/bn.cfg data/bn.cfg.in sed -i \ - -e 's@^directory.*@directory = /srv/bn/db@' \ - -e 's@^debug_file.*@debug_file = /var/log/bn/debug.log@' \ - -e 's@^error_file.*@error_file = /var/log/bn/error.log@' \ - -e 's@^hosts_file.*@hosts_file = /etc/bn/hosts.cache@' \ - -e 's@^archive_directory.*@archive_directory = /var/log/bn@' \ + -e 's@^directory.*@directory = /srv/obelisk/db@' \ + -e 's@^debug_file.*@debug_file = /var/log/obelisk/bn/debug.log@' \ + -e 's@^error_file.*@error_file = /var/log/obelisk/bn/error.log@' \ + -e 's@^hosts_file.*@hosts_file = /etc/obelisk/hosts.cache@' \ + -e 's@^archive_directory.*@archive_directory = /var/log/obelisk/bn@' \ data/bn.cfg.in } @@ -80,11 +91,26 @@ package() { install -Dm 644 COPYING -t "$pkgdir/usr/share/licenses/libbitcoin-node" msg2 'Installing...' - install -dm 700 "$pkgdir/etc/bn" - install -dm 755 "$pkgdir/srv/bn" - install -dm 755 "$pkgdir/var/log/bn" + install -dm 700 "$pkgdir/etc/obelisk" + install -dm 755 "$pkgdir/srv/obelisk" + install -dm 755 "$pkgdir/var/log/obelisk/bn" make DESTDIR="$pkgdir" install + msg2 'Installing documentation...' + cp -dpr --no-preserve=ownership "$srcdir/libbitcoin-node.wiki" \ + "$pkgdir/usr/share/doc/libbitcoin-node/wiki" + msg2 'Installing conf...' - install -Dm 600 data/bn.cfg.in "$pkgdir/etc/bn/bn.cfg" + install -Dm 600 data/bn.cfg.in "$pkgdir/etc/obelisk/bn/bn.cfg" + + msg2 'Installing systemd service files...' + install -Dm 644 "$srcdir/bn-init.service" -t "$pkgdir/usr/lib/systemd/system" + install -Dm 644 "$srcdir/bn.service" -t "$pkgdir/usr/lib/systemd/system" + + msg2 'Installing logrotate conf...' + install -Dm 644 "$srcdir/bn.logrotate" "$pkgdir/etc/logrotate.d/bn" + + msg2 'Cleaning up pkgdir...' + find "$pkgdir" -type d -name .git -exec rm -r '{}' + + find "$pkgdir" -type f -name .gitignore -exec rm -r '{}' + } diff --git a/bn-init.service b/bn-init.service new file mode 100644 index 000000000000..c62a8e95ae47 --- /dev/null +++ b/bn-init.service @@ -0,0 +1,12 @@ +[Unit] +Description=Bitcoin Node: initialize database in the configured directory +Conflicts=bn.service bs-init.service bs.service + +[Service] +Type=oneshot +User=obelisk +Group=obelisk +ExecStart=/usr/bin/bn -i /etc/obelisk/bn/bn.cfg + +[Install] +WantedBy=multi-user.target diff --git a/bn.install b/bn.install new file mode 100644 index 000000000000..80ee8b1ef3b2 --- /dev/null +++ b/bn.install @@ -0,0 +1,54 @@ +_bn_user=obelisk +_bn_group=obelisk + +post_install() { + _mkuser + chown -R $_bn_user:$_bn_group /etc/obelisk /srv/obelisk /var/log/obelisk + printf "%b\n" "$obelisk" +} + +post_upgrade() { + post_install +} + +post_remove() { + _rmuser + rm -rf /etc/obelisk /srv/obelisk /var/log/obelisk +} + +_mkuser() { + getent passwd $_bn_user &>/dev/null || { + echo -n "Creating obelisk user... " + grep -E "^$_bn_group:" /etc/group >/dev/null || groupadd $_bn_group + useradd -m -d /etc/obelisk -g $_bn_group -s /usr/bin/nologin $_bn_user + echo "done" + } +} + +_rmuser() { + echo -n "Removing obelisk user... " + userdel -rf $_bn_user 2>/dev/null + echo "done" +} + +read -d '' obelisk <<'EOF' +######################################################################## +######################################################################## +## ## +## Libbitcoin Node ## +## _______________ ## +## ## +## To run: ## +## ## +## systemctl start bn-init # first run only ## +## systemctl start bn ## +## ## +## ## +## Config: /etc/obelisk/bn/bn.cfg ## +## Blockchain: /srv/obelisk ## +## Documentation: /usr/share/doc/libbitcoin-node ## +## Logs: /var/log/obelisk/bn ## +## ## +######################################################################## +######################################################################## +EOF diff --git a/bn.logrotate b/bn.logrotate new file mode 100644 index 000000000000..a86725684a79 --- /dev/null +++ b/bn.logrotate @@ -0,0 +1,10 @@ +/var/log/obelisk/bn/*.log { + size 5M + missingok + rotate 7 + compress + delaycompress + notifempty + create 644 obelisk obelisk + sharedscripts +} diff --git a/bn.service b/bn.service new file mode 100644 index 000000000000..0d8375b8f768 --- /dev/null +++ b/bn.service @@ -0,0 +1,14 @@ +[Unit] +Description=Bitcoin Node: a Bitcoin full node +Conflicts=bn-init.service bs-init.service bs.service + +[Service] +Type=simple +User=obelisk +Group=obelisk +ExecStart=/usr/bin/bn /etc/obelisk/bn/bn.cfg +ExecReload=/usr/bin/kill -s SIGHUP $MAINPID +ExecStop=/usr/bin/kill -s SIGINT $MAINPID + +[Install] +WantedBy=multi-user.target |