summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Couto2015-04-26 18:01:35 +0200
committerPablo Couto2015-07-05 01:34:58 +0200
commit4cd8c31cbd110216d53ea10ce6d7f5468a1c5f42 (patch)
treeb9303afadffca31834427e0a1079a1ba41e8bbe3
parent4c8f6a003c40cd67c6370ef6d5d0144e80682e1d (diff)
downloadaur-4cd8c31cbd110216d53ea10ce6d7f5468a1c5f42.tar.gz
functional PKGBUILD
-rw-r--r--PKGBUILD115
-rw-r--r--taskd.conf7
-rw-r--r--taskd.install31
-rw-r--r--taskd.notes28
-rw-r--r--taskd.service2
5 files changed, 80 insertions, 103 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 801ec7e1016e..858f25a4b646 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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