summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Weidenbaum2017-03-09 15:44:48 -0800
committerAndy Weidenbaum2017-03-09 15:44:48 -0800
commit12a49fa2f0429c1bd310beb98f12d9ba1cac3352 (patch)
treed594ac6f985f07020255a80c7b161ec2db74c53c
parente54dce98fcea9a0ff7c2980c16804e70d11bcc38 (diff)
downloadaur-12a49fa2f0429c1bd310beb98f12d9ba1cac3352.tar.gz
increment pkgrel to 3; obelisk
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD54
-rw-r--r--bn-init.service12
-rw-r--r--bn.install54
-rw-r--r--bn.logrotate10
-rw-r--r--bn.service14
6 files changed, 145 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 226355237bef..d68d6c5a7c4e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index d6fd1c092f18..79f6d35951c5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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