Name: taskd Version: 1.0.0 Release: 4 Summary: Secure server providing multi-user, multi-client access to task data Group: Applications/Productivity License: MIT URL: http://tasktools.org/projects/taskd.html Source0: http://taskwarrior.org/download/%{name}-%{version}.tar.gz Source1: taskd.service Source2: taskd-config BuildRequires: cmake BuildRequires: libuuid-devel BuildRequires: gnutls-devel %if 0%{?rhel} && 0%{?rhel} <= 6 # On rhel, we don't need systemd to build. but we do on fedora. # ...just to define some macros %else BuildRequires: systemd %endif %description The Taskserver is a lightweight, secure server providing multi-user, multi-client access to task data. This allows true syncing between desktop and mobile clients. Users want task list access from multiple devices running software of differing sophistication levels to synchronize data seamlessly. Synchronization requires the ability to exchange transactions between devices that may not have continuous connectivity, and may not have feature parity. The Taskserver provides this and builds a framework to go several steps beyond merely synchronizing data. %prep %setup -q -n %{name}-%{version} %build %cmake make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} %{__mkdir_p} %{buildroot}/%{_sharedstatedir}/taskd/ # Users will keep their keys here, but we copy some helpful scripts too. %{__mkdir_p} %{buildroot}/%{_sysconfdir}/pki/taskd/ cp pki/* %{buildroot}/%{_sysconfdir}/pki/taskd/. %{__mkdir_p} %{buildroot}/%{_localstatedir}/log/taskd/ %if 0%{?rhel} && 0%{?rhel} <= 6 # EL6 and earlier needs a sysvinit script %else %{__mkdir_p} %{buildroot}/%{_unitdir}/ %{__install} %{SOURCE1} %{buildroot}%{_unitdir}/taskd.service %endif %{__mkdir_p} %{buildroot}%{_sharedstatedir}/taskd/orgs/ %{__install} %{SOURCE2} %{buildroot}%{_sharedstatedir}/taskd/config %pre %{_sbindir}/groupadd -r taskd &>/dev/null || : %{_sbindir}/useradd -r -s /sbin/nologin -d %{_sharedstatedir}/taskd -M \ -c 'Taskserver' -g taskd taskd &>/dev/null || : %files %doc README LICENSE %{_bindir}/taskd %{_bindir}/taskdctl %{_mandir}/man1/taskd.1.gz %{_mandir}/man5/taskdrc.5.gz %{_datadir}/doc/taskd/ %{_sysconfdir}/pki/taskd/README %{_sysconfdir}/pki/taskd/generate* %config(noreplace) %attr(0750, taskd, taskd) %{_sysconfdir}/pki/taskd/ %config(noreplace) %attr(0750, taskd, taskd) %{_localstatedir}/log/taskd/ %config(noreplace) %attr(0750, taskd, taskd) %{_sharedstatedir}/taskd/ %config(noreplace) %attr(0750, taskd, taskd) %{_sharedstatedir}/taskd/orgs/ %if 0%{?rhel} && 0%{?rhel} <= 6 # No sysvinit files for el6 %else %{_unitdir}/taskd.service %endif %changelog * Tue Feb 18 2014 Ralph Bean - 1.0.0-4 - Sorting out permissions on /var/lib, /var/log, and /etc/pki/taskd * Mon Feb 17 2014 Ralph Bean - 1.0.0-3 - Included default config and pki tools. * Mon Feb 17 2014 Ralph Bean - 1.0.0-2 - Remove duplicate docs. * Mon Feb 17 2014 Ralph Bean - 1.0.0-1 - Initial packaging for COPR.