summaryrefslogtreecommitdiff
path: root/social/seeks
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-02-18 01:56:34 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-02-18 01:56:34 +0000
commit8185891e28635bdb83fdf4ba4391030912dae596 (patch)
tree66a946535bdd228514750233b2cc99dd1866ff64 /social/seeks
parent60a11f87366fdfbd114cdc91ff813518858e5f8d (diff)
Tue Feb 18 01:56:27 UTC 2014
Diffstat (limited to 'social/seeks')
-rw-r--r--social/seeks/PKGBUILD65
-rw-r--r--social/seeks/conf.patch20
-rw-r--r--social/seeks/docbook2man.patch24
-rw-r--r--social/seeks/img_websearch.patch13
-rw-r--r--social/seeks/install18
-rw-r--r--social/seeks/logfile.patch29
-rwxr-xr-xsocial/seeks/seeks68
-rw-r--r--social/seeks/seeks.conf.d11
-rw-r--r--social/seeks/seeks.install12
-rw-r--r--social/seeks/seeks.logrotate6
-rw-r--r--social/seeks/seeks.rc.d57
-rw-r--r--social/seeks/seeksdaemon41
12 files changed, 364 insertions, 0 deletions
diff --git a/social/seeks/PKGBUILD b/social/seeks/PKGBUILD
new file mode 100644
index 000000000..f686a2fc9
--- /dev/null
+++ b/social/seeks/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Kete < kete at ninthfloor dot org >
+
+pkgname=seeks
+pkgver=0.4.1
+pkgrel=5
+pkgdesc="A social decentralized internet overlay for collaborative searches"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.seeks-project.info/site/"
+license=('AGPL3' 'LGPL' 'BSD')
+backup=('etc/logrotate.d/seeks'
+ 'etc/conf.d/seeks'
+ 'etc/seeks/config')
+depends=('curl' 'libevent>=2.0' 'libxml2' 'opencv' 'protobuf' 'icu' 'tokyotyrant')
+makedepends=('pkg-config' 'docbook-xml' 'docbook2x')
+source=("http://downloads.sourceforge.net/project/${pkgname}/hippy/${pkgname}-${pkgver}.tar.gz"
+'seeks.conf.d'
+ 'seeks.rc.d'
+ 'img_websearch.patch'
+ 'conf.patch'
+ 'seeks.logrotate')
+install=seeks.install
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ # replace <cxflann.h> by <cv.h>
+ patch -p1 -i "$srcdir/img_websearch.patch"
+
+ # linking issue with --as-needed linker flag, Cli not building with RC2
+ LDFLAGS="-Wl,--no-as-needed" \
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-httpserv-plugin \
+ --enable-extended-host-patterns
+ #--disable-cli \
+
+ sed -i s/,--as-needed,/,/ config.status
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check-local
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ # Patch config file to make seeks log in /var/log instead of ./ (needed for rc.d)
+ patch -p1 -i "$srcdir/conf.patch"
+ make DESTDIR="$pkgdir/" install
+
+ install -D -m644 Licenses "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m644 ../seeks.conf.d "${pkgdir}/etc/conf.d/seeks"
+ install -D -m755 ../seeks.rc.d "${pkgdir}/etc/rc.d/seeks"
+ install -D -m600 ../seeks.logrotate "${pkgdir}/etc/logrotate.d/seeks"
+ install -d -m755 "${pkgdir}/var/log/seeks"
+ install -d -m755 "${pkgdir}/var/lib/seeks"
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('2545192be5fa2e70d850f7395d039a0f'
+ 'ed29089d43873600726d570e63a5043d'
+ '72a00a931363edd2ed11c0072bfd5b10'
+ '2554e9f9f733d83203d0926e599e66db'
+ '71a99dafa726539b9de9055468e2f56c'
+ '5fbdf9c327999605b0f124132f27a27d')
diff --git a/social/seeks/conf.patch b/social/seeks/conf.patch
new file mode 100644
index 000000000..93e12c311
--- /dev/null
+++ b/social/seeks/conf.patch
@@ -0,0 +1,20 @@
+--- a/src/config 2011-11-13 15:21:14.000000000 +0100
++++ b/src/config 2011-11-13 15:46:15.856186336 +0100
+@@ -148,7 +148,7 @@
+ #
+ # No trailing "/", please.
+ #
+-confdir .
++confdir /etc/seeks
+ #
+ #
+ # 2.2. templdir
+@@ -193,7 +193,7 @@
+ #
+ # No trailing "/", please.
+ #
+-logdir .
++logdir /var/log/seeks
+ #
+ #
+ # 2.4. logfile
diff --git a/social/seeks/docbook2man.patch b/social/seeks/docbook2man.patch
new file mode 100644
index 000000000..c5de2e063
--- /dev/null
+++ b/social/seeks/docbook2man.patch
@@ -0,0 +1,24 @@
+--- seeks/configure 2011-07-30 15:16:27.000000000 +0200
++++ seeks/configure.patch 2011-07-30 16:04:34.000000000 +0200
+@@ -16726,10 +16726,10 @@ PCRE_CFLAGS=`$PCRE_CONFIG --cflags`
+
+
+ #==========================================================================
+-# Finding docbook2x-man
++# Finding docbook2man
+ #==========================================================================
+-# Extract the first word of "docbook2x-man", so it can be a program name with args.
+-set dummy docbook2x-man; ac_word=$2
++# Extract the first word of "docbook2man", so it can be a program name with args.
++set dummy docbook2man; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_docbook+:} false; then :
+--- seeks/doc/Makefile.am 2011-07-30 16:51:14.000000000 +0200
++++ seeks/doc/Makefile.am.patch 2011-07-30 16:55:58.000000000 +0200
+@@ -8,4 +8,4 @@ endif
+
+ EXTRA_DIST=seeks.1.docbook
+ seeks.1:
+- docbook2x-man ${srcdir}/seeks.1.docbook
++ docbook2man ${srcdir}/seeks.1.docbook
diff --git a/social/seeks/img_websearch.patch b/social/seeks/img_websearch.patch
new file mode 100644
index 000000000..94362e2fc
--- /dev/null
+++ b/social/seeks/img_websearch.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plugins/img_websearch/ocvsurf.cpp b/src/plugins/img_websearch/ocvsurf.cpp
+index 5caa9dd..c3cccb4 100644
+--- a/src/plugins/img_websearch/ocvsurf.cpp
++++ b/src/plugins/img_websearch/ocvsurf.cpp
+@@ -29,7 +29,7 @@
+ #include "miscutil.h"
+ #include "errlog.h"
+
+-#include <cxflann.h>
++#include <cv.h>
+
+ #include <iostream>
+ #include <fstream>
diff --git a/social/seeks/install b/social/seeks/install
new file mode 100644
index 000000000..35f383a3c
--- /dev/null
+++ b/social/seeks/install
@@ -0,0 +1,18 @@
+post_install() {
+ getent group seeks >/dev/null || groupadd -r seeks
+ getent passwd seeks >/dev/null || useradd -r -c "Seeks daemon" -g seeks -M -d /var/run/seeks -s /bin/false seeks
+ passwd -l seeks &>/dev/null
+ touch var/log/seeks.log
+ chown seeks:log var/log/seeks.log
+ mkdir -p var/lib/seeks
+ touch var/lib/seeks/seeks.db
+ chown -R seeks:seeks var/lib/seeks
+}
+
+pre_remove() {
+ getent passwd seeks &>/dev/null && userdel seeks >/dev/null
+ getent group seeks &>/dev/null && groupdel seeks >/dev/null
+ return 0
+}
+
+
diff --git a/social/seeks/logfile.patch b/social/seeks/logfile.patch
new file mode 100644
index 000000000..9f4ab9b02
--- /dev/null
+++ b/social/seeks/logfile.patch
@@ -0,0 +1,29 @@
+--- config 2011-10-21 10:42:20.000000000 +0200
++++ config.patch 2011-11-17 18:48:48.914516206 +0100
+@@ -193,7 +193,7 @@
+ #
+ # No trailing "/", please.
+ #
+-logdir .
++logdir /var/log/
+ #
+ #
+ # 2.4. logfile
+@@ -239,7 +239,7 @@
+ # Any log files must be writable by whatever user Seeks is
+ # being run as.
+ #
+-logfile logfile
++logfile seeks.log
+ #
+ #
+ # 2.5. plugindir
+@@ -377,7 +377,7 @@
+ # Unset. This means the db is located in $HOME/.seeks/seeks_user.db
+ # as default location.
+ #
+-# user-db-file /path/to/file.db
++user-db-file /var/lib/seeks/seeks.db
+ #
+ # 2.10. user-db-address
+ # =====================
diff --git a/social/seeks/seeks b/social/seeks/seeks
new file mode 100755
index 000000000..01f34a432
--- /dev/null
+++ b/social/seeks/seeks
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+daemon_name="seeks"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
+ # RUN
+ $daemon_name $SEEKS_ARGS 2> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /var/run/$daemon_name.pid
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f /var/run/$daemon_name.pid &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/social/seeks/seeks.conf.d b/social/seeks/seeks.conf.d
new file mode 100644
index 000000000..c28382aca
--- /dev/null
+++ b/social/seeks/seeks.conf.d
@@ -0,0 +1,11 @@
+#
+# Arguments to be passed to the Seeks daemon
+#
+
+# User
+SEEKS_USER="seeks"
+# Config file (default if empty)
+SEEKS_CONFIG=""
+# Args
+SEEKS_ARGS=""
+
diff --git a/social/seeks/seeks.install b/social/seeks/seeks.install
new file mode 100644
index 000000000..bf9849e78
--- /dev/null
+++ b/social/seeks/seeks.install
@@ -0,0 +1,12 @@
+post_install() {
+ getent group seeks >/dev/null || groupadd -r seeks
+ getent passwd seeks >/dev/null || useradd -r -c "Seeks daemon" -g seeks -M -d /var/lib/seeks -s /bin/false seeks
+ passwd -l seeks &>/dev/null
+ chown seeks:seeks var/log/seeks var/lib/seeks
+}
+
+pre_remove() {
+ getent passwd seeks &>/dev/null && userdel seeks >/dev/null
+ getent group seeks &>/dev/null && groupdel seeks >/dev/null
+ return 0
+}
diff --git a/social/seeks/seeks.logrotate b/social/seeks/seeks.logrotate
new file mode 100644
index 000000000..98b411884
--- /dev/null
+++ b/social/seeks/seeks.logrotate
@@ -0,0 +1,6 @@
+/var/log/seeks/logfile {
+ missingok
+ notifempty
+ size 30k
+ create
+}
diff --git a/social/seeks/seeks.rc.d b/social/seeks/seeks.rc.d
new file mode 100644
index 000000000..67de9251a
--- /dev/null
+++ b/social/seeks/seeks.rc.d
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/seeks
+
+PIDFILE="/var/run/seeks.pid"
+
+if [[ -f $PIDFILE ]]; then
+ read -r PID < "$PIDFILE"
+
+ # prevent stale pidfiles from hanging around
+ if [[ ! -d /proc/$PID ]]; then
+ echo 'pid not found. deleteing stale pidfile'
+ unset PID
+ rm -f "$PIDFILE"
+ fi
+fi
+
+case "$1" in
+ start)
+ stat_busy "Starting Seeks"
+ if [[ $PID ]]; then
+ stat_fail
+ exit 1
+ fi
+ if /usr/bin/seeks --daemon --pidfile "$PIDFILE" --user $SEEKS_USER $SEEKS_ARGS $SEEKS_CONFIG 2>&1 > /dev/null; then
+ add_daemon seeks
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Seeks"
+ if [[ ! $PID ]]; then
+ stat_fail
+ exit 1
+ fi
+ if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then
+ rm_daemon seeks
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+
diff --git a/social/seeks/seeksdaemon b/social/seeks/seeksdaemon
new file mode 100644
index 000000000..551197d28
--- /dev/null
+++ b/social/seeks/seeksdaemon
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/seeks
+
+PID=`pidof -o %PPID /usr/bin/seeks`
+
+case "$1" in
+ start)
+ stat_busy "Starting seeks daemon"
+ [ -z "$PID" ] && /usr/bin/seeks $SEEKS_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon seeks
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping seeks daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon seeks
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ while [ ! -z "$PID" -a -d "/proc/$PID" ]; do sleep 1; done
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+
+esac
+exit 0
+