diff options
author | Pablo Couto | 2015-04-26 18:01:35 +0200 |
---|---|---|
committer | Pablo Couto | 2015-07-05 01:34:58 +0200 |
commit | 4cd8c31cbd110216d53ea10ce6d7f5468a1c5f42 (patch) | |
tree | b9303afadffca31834427e0a1079a1ba41e8bbe3 | |
parent | 4c8f6a003c40cd67c6370ef6d5d0144e80682e1d (diff) | |
download | aur-4cd8c31cbd110216d53ea10ce6d7f5468a1c5f42.tar.gz |
functional PKGBUILD
-rw-r--r-- | PKGBUILD | 115 | ||||
-rw-r--r-- | taskd.conf | 7 | ||||
-rw-r--r-- | taskd.install | 31 | ||||
-rw-r--r-- | taskd.notes | 28 | ||||
-rw-r--r-- | taskd.service | 2 |
5 files changed, 80 insertions, 103 deletions
@@ -1,21 +1,20 @@ -# Maintainer: Alan Young <harleypig@gmail.com> +# Maintainer: Pablo Couto <pablo at 0x221e dot net> +# Contributor: Alan Young <harleypig at gmail dot com> +# Contributor: Phil Pirozhkov <pirjsuka at gmail dot com> # -# Stolen and modified from https://aur.archlinux.org/packages/taskd-git/ -# -# Found and stole various bits and pieces from -# -# http://threebean.org/rpm/taskd-config -# http://threebean.org/rpm/taskd.service -# http://threebean.org/rpm/taskd.spec +# This PKGBUILD is based on the one written by Alan Young <harleypig at gmail +# dot com> (https://github.com/harleypig/abs/tree/463a8ac/aur/taskd-git) _pkgname=taskd -pkgname=$_pkgname-git -pkgver=1.1.0 +pkgname=${_pkgname}-git +_pkgver=1.1.0 +pkgver=${_pkgver} pkgrel=1 -pkgdesc="A lightweight, secure server providing multi-user, multi-client access to task data" +pkgdesc="A lightweight secure server providing multi-user, multi-client + access to task data" arch=('i686' 'x86_64') -depends=('gnutls') +depends=('libutil-linux' 'gnutls') license=('MIT') makedepends=('git' 'cmake') provides=('taskd') @@ -23,76 +22,54 @@ url='http://tasktools.org/projects/taskd.html' install=taskd.install -source=('git+https://git.tasktools.org/scm/tm/taskd.git' +source=("${_pkgname}::git+https://git.tasktools.org/scm/tm/taskd.git#branch=${_pkgver}" 'taskd.conf' 'taskd.notes' 'taskd.service') -md5sums=('SKIP' - '8e644fd70bea84c8fabe8a24e26a4549' - '455f7ef0c9c5ed292f82b4864ef56aef' - '7e2f6b38ea5b03a75611d20b1add4d3f') +sha256sums=('SKIP' + '5e518f8dda08c8b8d564f2a52452227924ebb15ec8182e7af83cc1f82cfa4cf1' + '2f8fc3465073b208986e1c2ba96fb2c84763c8fa5ebbaff3b306e4bc9558e1ac' + '786b05f40e0613febaf8a165963058a51ea6b1b46246449637832fee08d555b6') -#pkgver() { -# -# # https://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines#Git -# -# cd "${srcdir}/${_pkgname}" -# #git describe --tags | sed -E 's/([^-]*-g)/r\1/;s/-/./g' -# #git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g' -# git describe --long --tags | sed -r 's/^[^[:digit:]]+//;s/([^-]*-g)/r\1/;s/-/./g' -# -#} +pkgver() { + cd "${_pkgname}" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} build() { + cd "${srcdir}/${_pkgname}" - cd "${srcdir}/${_pkgname}" - - cmake_opts="${cmake_opts} -DCMAKE_BUILD_TYPE=Release" - cmake_opts="${cmake_opts} -DTASKD_BINDIR=/usr/bin" - cmake_opts="${cmake_opts} -DTASKD_DOCDIR=/usr/share/doc/taskd" - cmake_opts="${cmake_opts} -DTASKD_MAN1DIR=/usr/share/man/man1" - cmake_opts="${cmake_opts} -DTASKD_MAN5DIR=/usr/share/man/man5" - - cmake $cmake_opts . - - make + cmake_opts="${cmake_opts} -Wno-devs" +# cmake_opts="${cmake_opts} -DCMAKE_BUILD_TYPE=Release" + cmake_opts="${cmake_opts} -DCMAKE_INSTALL_PREFIX=/usr" + cmake $cmake_opts . + make } check() { - - cd "${srcdir}/${_pkgname}" - make test - cd test - make - ./run_all - + cd "${srcdir}/${_pkgname}" + make test + cd test + make + ./run_all } package() { - - cd "${srcdir}/${_pkgname}" - - make DESTDIR="${pkgdir}" install - - install -Dm644 doc/client.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/extensions.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/operation.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/protocol.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/request.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/sync.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/task.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 doc/template.txt "${pkgdir}/usr/share/doc/taskd" - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/taskd/LICENSE" - install -Dm644 ../taskd.conf "${pkgdir}/etc/conf.d/taskd" - install -Dm644 ../taskd.service "${pkgdir}/usr/lib/systemd/system/taskd.service" - install -Dm644 ../taskd.notes "${pkgdir}/usr/lib/taskd/taskd.notes" - install -Dm755 pki/generate.ca "${pkgdir}/usr/lib/taskd/pki/generate.ca" - install -Dm755 pki/generate.client "${pkgdir}/usr/lib/taskd/pki/generate.client" - install -Dm755 pki/generate.crl "${pkgdir}/usr/lib/taskd/pki/generate.crl" - install -Dm755 pki/generate "${pkgdir}/usr/lib/taskd/pki/generate" - install -Dm755 pki/generate.server "${pkgdir}/usr/lib/taskd/pki/generate.server" - install -Dm644 pki/README "${pkgdir}/usr/lib/taskd/pki/README" - + cd "${srcdir}/${_pkgname}" + + make DESTDIR="${pkgdir}" install + + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/taskd-git/LICENSE" + install -Dm644 ../taskd.conf "${pkgdir}/etc/conf.d/taskd" + install -Dm644 ../taskd.service "${pkgdir}/usr/lib/systemd/system/taskd.service" + install -Dm644 ../taskd.notes "${pkgdir}/usr/lib/taskd/taskd.notes" + install -Dm755 pki/generate.ca "${pkgdir}/usr/lib/taskd/pki/generate.ca" + install -Dm755 pki/generate.client "${pkgdir}/usr/lib/taskd/pki/generate.client" + install -Dm755 pki/generate.crl "${pkgdir}/usr/lib/taskd/pki/generate.crl" + install -Dm755 pki/generate "${pkgdir}/usr/lib/taskd/pki/generate" + install -Dm755 pki/generate.server "${pkgdir}/usr/lib/taskd/pki/generate.server" + install -Dm644 pki/vars "${pkgdir}/usr/lib/taskd/pki/vars" + install -Dm644 pki/README "${pkgdir}/usr/lib/taskd/pki/README" } diff --git a/taskd.conf b/taskd.conf index 7f030bcf12e1..f3495bae5829 100644 --- a/taskd.conf +++ b/taskd.conf @@ -1 +1,8 @@ +# Taskserver configuration file +# +# For configuration options regarding certificate generation, please visit +# /usr/lib/taskd/pki/vars + TASKDDATA=/var/lib/taskd +TASKDSERVER=localhost +TASKDPORT=53859 diff --git a/taskd.install b/taskd.install index 34bfdd2ee7ed..207a12dbda5c 100644 --- a/taskd.install +++ b/taskd.install @@ -1,50 +1,37 @@ -# See https://github.com/torrancew/arch-taskd/blob/master/taskd.install for -# possible theiving purposes, especially a way to do a basic config. - pre_install() { - # add taskd group if it doesn't exist - getent group taskd > /dev/null || groupadd -r taskd - - # add taskd user if it doesn't exist - getent passwd taskd > /dev/null || \ - useradd -r -g taskd -s /sbin/nologin \ - -c "Task Server system user" taskd - - install -o$(id -g taskd) -g$(id -u taskd) -m2770 -d "${pkgdir}/var/lib/taskd" + getent group taskd &> /dev/null || groupadd --system taskd + # add taskd user if it doesn't exist + getent passwd taskd &> /dev/null || \ + useradd --system -d /var/lib/taskd -g taskd taskd } post_install() { - systemctl preset taskd.service + echo "Please follow the configuration instructions at + /usr/lib/taskd/taskd.notes to finish setting up Taskserver." } pre_upgrade() { - pre_install - } post_upgrade() { - post_install - } pre_remove() { - systemctl --no-reload disable taskd.service systemctl stop taskd.service - } post_remove() { - - getent passwd taskd > /dev/null && userdel taskd > /dev/null - getent group taskd > /dev/null && groupdel taskd > /dev/null + getent passwd taskd &> /dev/null && userdel taskd &> /dev/null + getent group taskd &> /dev/null && groupdel taskd &> /dev/null systemctl daemon-reload + echo "User 'taskd' and group 'taskd' have been removed." } diff --git a/taskd.notes b/taskd.notes index 02dbf40e8556..05fc5a4ed353 100644 --- a/taskd.notes +++ b/taskd.notes @@ -1,7 +1,14 @@ -# Reference http://taskwarrior.org/docs/server_setup.html +# Taskserver configuration reference can be found at +# http://taskwarrior.org/docs/server_setup.html -# Add the taskd group to your user and logout and back in. -# sudo usermod -a -G taskd $USER +# In order to control the server as a user, add the taskd group to your user. +# +# $ sudo usermod -a -G taskd $USER +# $ exec newgrp taskd + +# Before anything else, set the configuration variables in /etc/conf.d/taskd +# (server storage and other conf) and /usr/lib/taskd/pki/var (certificates +# generation). # Source the environment variable(s). export $(cat /etc/conf.d/taskd) @@ -9,12 +16,6 @@ export $(cat /etc/conf.d/taskd) # Initialize the database taskd init -# Add the organization -taskd add org Public - -# Add your user -task add user 'Public' 'Your Name' > ~/taskd.key - # Generate and install your self-signed cert cd /usr/lib/taskd/pki sudo ./generate @@ -31,5 +32,10 @@ taskd config --force ca.cert $TASKDDATA/ca.cert.pem # Various settings taskd config --force log $TASKDDATA/taskd.log taskd config --force pid.file $TASKDDATA/taskd.pid -taskd config --force server localhost:53859 -taskd config --force client.allow '^task [2-9]' +taskd config --force server $TASKDSERVER:$TASKDPORT + +# Add the organization +# $ taskd add org Public + +# Add your user +# $ task add user 'Public' 'Your Name' > ~/taskd.key diff --git a/taskd.service b/taskd.service index 4e9fbe8f2227..0e827a6e0beb 100644 --- a/taskd.service +++ b/taskd.service @@ -1,5 +1,5 @@ [Unit] -Description=A secure server providing multi-client access to task data +Description=Taskwarrior synchronization server Documentation=man:taskd(1) After=network.target |