summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoutarou Tanaka2018-02-23 02:04:23 +0900
committerKoutarou Tanaka2018-02-23 02:05:31 +0900
commit8fca7978645d1d466ca0148b965b43c7ce1df0f4 (patch)
tree6c3d0c6c8ff5b5a2c17a13074b71aa2b3a43c5a8
downloadaur-8fca7978645d1d466ca0148b965b43c7ce1df0f4.tar.gz
first commit
-rw-r--r--.SRCINFO30
-rw-r--r--0001-fetch-param-directory-env.patch13
-rw-r--r--PKGBUILD65
-rw-r--r--koto.conf7
-rw-r--r--koto.install69
-rw-r--r--kotod.service23
6 files changed, 207 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2876220232ce
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,30 @@
+pkgbase = koto
+ pkgdesc = Decentralized and open source cryptocurrency
+ pkgver = 1.0.14
+ pkgrel = 1
+ url = https://koto.cash
+ install = koto.install
+ arch = i686
+ arch = x86_64
+ license = MIT
+ makedepends = wget
+ makedepends = unzip
+ depends = bash
+ provides = kotod
+ provides = koto-cli
+ provides = koto-tx
+ provides = koto-fetch-params
+ backup = etc/koto.conf
+ source = koto-180210.tar.gz::https://github.com/koto-dev/koto/archive/180210.tar.gz
+ source = 0001-fetch-param-directory-env.patch
+ source = koto.install
+ source = koto.conf
+ source = kotod.service
+ sha1sums = 0ceb84cdd7087ec7bcd91a3fe1c2e7b941fb4fa3
+ sha1sums = e27ee657c0652137537c1bb9b48ce1730cba3423
+ sha1sums = 47a54c280e049495900d8c4c39115e3c11b971df
+ sha1sums = 2c4e98f61b702cbfaf656c7e3ae50f030a5a3543
+ sha1sums = 51c9722a954b3e9573f418881330194052fffc4c
+
+pkgname = koto
+
diff --git a/0001-fetch-param-directory-env.patch b/0001-fetch-param-directory-env.patch
new file mode 100644
index 000000000000..182564125705
--- /dev/null
+++ b/0001-fetch-param-directory-env.patch
@@ -0,0 +1,13 @@
+diff --git a/zcutil/fetch-params.sh b/zcutil/fetch-params.sh
+index 392f60a2..54c46d3a 100755
+--- a/zcutil/fetch-params.sh
++++ b/zcutil/fetch-params.sh
+@@ -2,7 +2,7 @@
+
+ set -eu
+
+-PARAMS_DIR="$HOME/.zcash-params"
++PARAMS_DIR=${PARAMS_DIR:-$HOME/.zcash-params}
+
+ SPROUT_PKEY_NAME='sprout-proving.key'
+ SPROUT_VKEY_NAME='sprout-verifying.key'
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..88b6e53aec6b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Koutarou Tanaka <from.kyushu.island@gmail.com>
+
+pkgname=koto
+pkgver=1.0.14
+_tag=180210
+pkgrel=1
+pkgdesc="Decentralized and open source cryptocurrency"
+arch=('i686' 'x86_64')
+url="https://koto.cash"
+license=(MIT)
+depends=('bash')
+makedepends=('wget' 'unzip')
+provides=('kotod' 'koto-cli' 'koto-tx' 'koto-fetch-params')
+backup=('etc/koto.conf')
+source=("${pkgname}-${_tag}.tar.gz::https://github.com/koto-dev/koto/archive/${_tag}.tar.gz"
+ "0001-fetch-param-directory-env.patch"
+ "koto.install"
+ "koto.conf"
+ "kotod.service")
+sha1sums=('0ceb84cdd7087ec7bcd91a3fe1c2e7b941fb4fa3'
+ 'e27ee657c0652137537c1bb9b48ce1730cba3423'
+ '47a54c280e049495900d8c4c39115e3c11b971df'
+ '2c4e98f61b702cbfaf656c7e3ae50f030a5a3543'
+ '51c9722a954b3e9573f418881330194052fffc4c')
+install=koto.install
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${_tag}"
+
+ patch -p1 -i "${srcdir}/0001-fetch-param-directory-env.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${_tag}"
+ ./zcutil/build.sh
+}
+
+package() {
+ mkdir -p "${pkgdir}/usr/bin"
+ mkdir -p "${pkgdir}/usr/share/doc/koto/examples"
+ mkdir -p "${pkgdir}/usr/share/licenses/koto"
+ mkdir -p "${pkgdir}/usr/share/man/man1"
+ mkdir -p "${pkgdir}/usr/share/bash-completion/completions"
+
+ install -Dm755 "${srcdir}/${pkgname}-${_tag}/src/koto-cli" "${pkgdir}/usr/bin/koto-cli"
+ install -Dm755 "${srcdir}/${pkgname}-${_tag}/src/kotod" "${pkgdir}/usr/bin/kotod"
+ install -Dm755 "${srcdir}/${pkgname}-${_tag}/src/koto-tx" "${pkgdir}/usr/bin/koto-tx"
+ install -Dm755 "${srcdir}/${pkgname}-${_tag}/zcutil/fetch-params.sh" "${pkgdir}/usr/bin/koto-fetch-params"
+
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/doc/release-notes/release-notes-1.0.14.md" "${pkgdir}/usr/share/doc/koto/changelog"
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/contrib/debian/copyright" "${pkgdir}/usr/share/doc/koto/copyright"
+ install -Dm755 "${srcdir}/${pkgname}-${_tag}/contrib/debian/examples/koto.conf" "${pkgdir}/usr/share/doc/koto/examples/koto.conf"
+
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/COPYING" "${pkgdir}/usr/share/licenses/koto/COPYING"
+
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/doc/man/kotod.1" "${pkgdir}/usr/share/man/man1/kotod.1"
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/doc/man/koto-cli.1" "${pkgdir}/usr/share/man/man1/koto-cli.1"
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/doc/man/koto-fetch-params.1" "${pkgdir}/usr/share/man/man1/koto-fetch-params.1"
+
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/contrib/kotod.bash-completion" "${pkgdir}/usr/share/bash-completion/completions/kotod"
+ install -Dm644 "${srcdir}/${pkgname}-${_tag}/contrib/koto-cli.bash-completion" "${pkgdir}/usr/share/bash-completion/completions/koto-cli"
+
+ install -Dm644 "${srcdir}/kotod.service" "${pkgdir}/usr/lib/systemd/system/kotod.service"
+ install -Dm644 "${srcdir}/koto.conf" "${pkgdir}/etc/koto.conf"
+}
diff --git a/koto.conf b/koto.conf
new file mode 100644
index 000000000000..71d426551ec5
--- /dev/null
+++ b/koto.conf
@@ -0,0 +1,7 @@
+rpcconnect=127.0.0.1
+rpcport=8432
+rpcuser=koto
+rpcpassword=<secret>
+rpcallowip=127.0.0.1
+datadir=/var/lib/koto/data
+zcparamsdir=/var/lib/koto/zcash-params
diff --git a/koto.install b/koto.install
new file mode 100644
index 000000000000..df66f87b077c
--- /dev/null
+++ b/koto.install
@@ -0,0 +1,69 @@
+_koto_user=koto
+_koto_group=koto
+
+post_install() {
+ _mkuser
+ pw=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32;echo;`
+ sed -i -e "s/<secret>/$pw/g" /etc/koto.conf
+ chown -R $_koto_user:$_koto_group /var/lib/koto
+ printf "%b\n" "$koto"
+}
+
+post_upgrade() {
+ _mkuser
+ chown -R $_koto_user:$_koto_group /var/lib/koto
+ printf "%b\n" "$koto"
+}
+
+post_remove() {
+ _rmuser
+ rm -rf /var/lib/koto
+}
+
+_mkuser() {
+ getent passwd $_koto_user &>/dev/null || {
+ echo -n "Creating koto user... "
+ grep -E "^$_koto_group:" /etc/group >/dev/null || groupadd $_koto_group
+ useradd -m -d /var/lib/koto -g $_koto_group -s /usr/bin/nologin $_koto_user 2>/dev/null
+ mkdir /var/lib/koto/data
+ mkdir /var/lib/koto/.koto
+ ln -s /etc/koto.conf /var/lib/koto/.koto/koto.conf
+ echo "done"
+ }
+}
+
+_rmuser() {
+ echo -n "Removing koto user... "
+ userdel -rf $_koto_user 2>/dev/null
+ echo "done"
+}
+
+read -d '' koto <<'EOF'
+########################################################################
+########################################################################
+## ##
+## Koto ##
+## ____________ ##
+## ##
+## To start kotod: ##
+## ##
+## # PARAMS_DIR=/var/lib/koto/zcash-params koto-fetch-params ##
+## # systemctl start kotod ##
+## ##
+## To communicate with koto as a normal user: ##
+## ##
+## $ mkdir -p ~/.koto ##
+## $ cat > ~/.koto/koto.conf <<'EOF' ##
+## rpcuser=user ##
+## rpcpassword=secret ##
+## EOF ##
+## ##
+## $ koto-fetch-params ##
+## ##
+## Config: /etc/koto.conf ##
+## Data Directory: /var/lib/koto/data ##
+## Documentation: /usr/share/doc/koto ##
+## ##
+########################################################################
+########################################################################
+EOF
diff --git a/kotod.service b/kotod.service
new file mode 100644
index 000000000000..09d576432d54
--- /dev/null
+++ b/kotod.service
@@ -0,0 +1,23 @@
+# It is not recommended to modify this file in-place, because it will
+# be overwritten during package upgrades. If you want to add further
+# options or overwrite existing ones then use
+# $ systemctl edit kotod.service
+# See "man systemd.service" for details.
+
+# Note that almost all daemon options could be specified in
+# /etc/koto.conf
+
+[Unit]
+Description=Koto daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/kotod -daemon=0 -pid=/run/kotod/koto.pid
+ExecReload=/usr/bin/kill -HUP $MAINPID
+ExecStop=/usr/bin/koto-cli stop
+User=koto
+Group=koto
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target