summaryrefslogtreecommitdiff
path: root/databases/rdfdb
diff options
context:
space:
mode:
authorPete Fritchman <petef@FreeBSD.org>2002-06-09 00:35:39 +0000
committerPete Fritchman <petef@FreeBSD.org>2002-06-09 00:35:39 +0000
commit190732428effcdf6ecb3c79acd645fe12ef244ee (patch)
tree3feae3ccffe37cc885ff5fae5a04d3dbc9081925 /databases/rdfdb
parentAdd p5-Lingua-EN-Syllable 0.251, routine for estimating syllable (diff)
Add rdfdb 0.46, a lightweight RDF database.
PR: 33281 Submitted by: Philip Jenvey <pjenvey@turntables.org>
Notes
Notes: svn path=/head/; revision=60932
Diffstat (limited to 'databases/rdfdb')
-rw-r--r--databases/rdfdb/Makefile48
-rw-r--r--databases/rdfdb/distinfo1
-rw-r--r--databases/rdfdb/files/patch-librdf::rdflib.c15
-rw-r--r--databases/rdfdb/files/patch-makefile16
-rw-r--r--databases/rdfdb/files/patch-query-processQuery.c12
-rw-r--r--databases/rdfdb/files/rdfdb-server.sh.tmpl22
-rw-r--r--databases/rdfdb/pkg-comment1
-rw-r--r--databases/rdfdb/pkg-descr24
-rw-r--r--databases/rdfdb/pkg-install48
-rw-r--r--databases/rdfdb/pkg-plist4
10 files changed, 191 insertions, 0 deletions
diff --git a/databases/rdfdb/Makefile b/databases/rdfdb/Makefile
new file mode 100644
index 000000000000..1dbe2205f2e9
--- /dev/null
+++ b/databases/rdfdb/Makefile
@@ -0,0 +1,48 @@
+# New ports collection makefile for: rdfdb
+# Date created: 28 December 2001
+# Whom: Philip Jenvey <pjenvey@turntables.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= rdfdb
+PORTVERSION= 0.46
+CATEGORIES= databases
+MASTER_SITES= http://www.guha.com/
+DISTNAME= rdfdb_src
+
+MAINTAINER= pjenvey@turntables.org
+
+LIB_DEPENDS= db3:${PORTSDIR}/databases/db3
+
+WRKSRC= ${WRKDIR}/rdfdb
+USE_GMAKE= yes
+MAKEFILE= makefile
+ALL_TARGET=
+CFLAGS+= ${PTHREAD_CFLAGS}
+
+RDFDB_DIR?= /var/db/rdfdb
+RDFDB_PORT?= 7001
+PLIST_SUB= RDFDB_DIR=${RDFDB_DIR}
+
+post-patch:
+ @${SED} -e 's,%%LOCALBASE%%,${LOCALBASE},g' \
+ -e 's,%%PTHREAD_LIBS%%,${PTHREAD_LIBS:S/"//g},g' \
+ < ${WRKSRC}/makefile > ${WRKSRC}/makefile.new
+ @${MV} ${WRKSRC}/makefile.new ${WRKSRC}/makefile
+
+do-install:
+ @${INSTALL_PROGRAM} ${WRKSRC}/rdfdb ${PREFIX}/bin
+.if !exists(${RDFDB_DIR})
+ @${MKDIR} ${RDFDB_DIR}
+.endif
+ @${SETENV} RDFDB_DIR=${RDFDB_DIR} ${SH} ${PKGINSTALL} ${PKGNAME} \
+ PRE-INSTALL
+ @${SED} "s|%%PREFIX%%|${PREFIX}|g; s|%%RDFDB_DIR%%|${RDFDB_DIR}|g; \
+ s|%%RDFDB_PORT%%|${RDFDB_PORT}|g" \
+ < ${FILESDIR}/rdfdb-server.sh.tmpl \
+ > ${PREFIX}/etc/rc.d/rdfdb-server.sh
+ @${CHMOD} 554 ${PREFIX}/etc/rc.d/rdfdb-server.sh
+ @${CHOWN} root:rdfdb ${PREFIX}/etc/rc.d/rdfdb-server.sh
+
+.include <bsd.port.mk>
diff --git a/databases/rdfdb/distinfo b/databases/rdfdb/distinfo
new file mode 100644
index 000000000000..126ccb9134ad
--- /dev/null
+++ b/databases/rdfdb/distinfo
@@ -0,0 +1 @@
+MD5 (rdfdb_src.tar.gz) = abb21c6c3e9f806640ddcd220af3f3d5
diff --git a/databases/rdfdb/files/patch-librdf::rdflib.c b/databases/rdfdb/files/patch-librdf::rdflib.c
new file mode 100644
index 000000000000..5d01f827c3f2
--- /dev/null
+++ b/databases/rdfdb/files/patch-librdf::rdflib.c
@@ -0,0 +1,15 @@
+$FreeBSD$
+
+--- librdf/rdflib.c.orig Sat Jun 8 20:20:52 2002
++++ librdf/rdflib.c Sat Jun 8 20:21:58 2002
+@@ -196,9 +196,9 @@
+ RDF_LoadFileAssert (RDF_Parser rdfp, RDF_DB db, RDF_Resource source, RDF_Resource arc, void* target, RDF_ValueType type) {
+ if (gVerbose > 2) printAssertion("\nAsserting:", db, source, arc, target, type);
+ gAssertionCount++;
++ extern FILE *rdfpGetFile(RDF_Parser rdfp);
+ if (!addRemoveTriple(db, source, arc, target, type,
+ RDF_ASSERT, getFileCode(rdfp)) && (rdfpGetFile(rdfp))) {
+- extern FILE *rdfpGetFile(RDF_Parser rdfp);
+ FILE *file = rdfpGetFile(rdfp);
+ fprintf(file, "%s\t%s\t", arc, source);
+ if (type == RDF_INT_TYPE) {
diff --git a/databases/rdfdb/files/patch-makefile b/databases/rdfdb/files/patch-makefile
new file mode 100644
index 000000000000..4dfb4dce04b2
--- /dev/null
+++ b/databases/rdfdb/files/patch-makefile
@@ -0,0 +1,16 @@
+$FreeBSD$
+
+--- makefile.orig Sun Aug 20 15:48:46 2000
++++ makefile Sat Jun 8 20:25:04 2002
+@@ -1,7 +1,7 @@
+-CC = gcc -g
+-INCLUDES = -I /usr/local/BerkeleyDB.3.1/include -I expat/xmltok -I expat/xmlparse
+-LIBS = -ldb -lpthread
+-CPPFLAGS = $(INCLUDES) -L /usr/local/BerkeleyDB.3.1/lib/
++CC ?= gcc -g
++INCLUDES = -I /usr/local/include/db3 -I expat/xmltok -I expat/xmlparse
++LIBS = -ldb3 %%PTHREAD_LIBS%%
++CPPFLAGS += ${CFLAGS} $(INCLUDES) -L /usr/local/lib
+
+ OBJS = utils/hash.o \
+ utils/utils.o \
diff --git a/databases/rdfdb/files/patch-query-processQuery.c b/databases/rdfdb/files/patch-query-processQuery.c
new file mode 100644
index 000000000000..ef8e5e71c70a
--- /dev/null
+++ b/databases/rdfdb/files/patch-query-processQuery.c
@@ -0,0 +1,12 @@
+$FreeBSD$
+
+--- query/processQuery.c.orig Mon Sep 18 17:09:01 2000
++++ query/processQuery.c Thu Dec 27 21:18:54 2001
+@@ -21,6 +21,7 @@
+ #include "../utils/utils.h"
+ #include "queryParser.h"
+ #include <stdio.h>
++#include <time.h>
+ extern int DB_Flush (const char* db) ;
+ extern int gVerbose;
+ extern int gAssertionCount;
diff --git a/databases/rdfdb/files/rdfdb-server.sh.tmpl b/databases/rdfdb/files/rdfdb-server.sh.tmpl
new file mode 100644
index 000000000000..a3ccd8132b67
--- /dev/null
+++ b/databases/rdfdb/files/rdfdb-server.sh.tmpl
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+RDFDB_DIR=%%RDFDB_DIR%%
+RDFDB_PORT=%%RDFDB_PORT%%
+export RDFDB_DIR RDFDB_PORT
+
+case "$1" in
+ start)
+ if [ -x %%PREFIX%%/bin/rdfdb ]; then
+ su rdfdb -c 'exec %%PREFIX%%/bin/rdfdb > /dev/null &' && echo -n ' rdfdb'
+ fi
+ ;;
+ stop)
+ /usr/bin/killall rdfdb > /dev/null 2>&1 && echo -n ' rdfdb'
+ ;;
+ *)
+ echo ""
+ echo "Usage: `basename $0` { start | stop }"
+ echo ""
+ exit 64
+ ;;
+esac
diff --git a/databases/rdfdb/pkg-comment b/databases/rdfdb/pkg-comment
new file mode 100644
index 000000000000..87d4d1b9cd14
--- /dev/null
+++ b/databases/rdfdb/pkg-comment
@@ -0,0 +1 @@
+A lightweight RDF database
diff --git a/databases/rdfdb/pkg-descr b/databases/rdfdb/pkg-descr
new file mode 100644
index 000000000000..8c9d9c051502
--- /dev/null
+++ b/databases/rdfdb/pkg-descr
@@ -0,0 +1,24 @@
+R.V. Guha's rdfDB. Intended to be a simple, scalable, open-source
+database for RDF. Written in C and based on top of the Sleepycat
+Berkeley Database, it supports interrogation via TCP/IP sockets,
+meaning integration is possible with any programming language.
+
+rdfDB uses a high level SQLish query language. The data is modelled as
+a directed labelled graph (RDF).
+
+The goals of this project are to build a database that is capable of:
+
+ 1. Supporting a graph oriented API via a textual query language ala
+ SQL.
+ 2. Load/Reload an RDF file from a url into the database
+ 3. Scalable to millions of nodes and triples.
+ 4. Provide support for RDF Schemas.
+ 5. Provide support for some basic forms of inferencing.
+ 6. Provide both C and Perl access to the database.
+ 7. The Perl philosophy applies : Simple things should be simple and
+ complex things should be possible.
+
+WWW: http://www.guha.com/rdfdb/
+
+- Philip Jenvey
+pjenvey@turntables.org
diff --git a/databases/rdfdb/pkg-install b/databases/rdfdb/pkg-install
new file mode 100644
index 000000000000..3a5195876009
--- /dev/null
+++ b/databases/rdfdb/pkg-install
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+PATH=/bin:/usr/sbin
+if [ -z "${RDFDB_DIR}" ]; then
+ RDFDB_DIR=/var/db/rdfdb
+fi
+
+case $2 in
+PRE-INSTALL)
+ USER=rdfdb
+ GROUP=${USER}
+ UID=71
+ GID=${UID}
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ if pw usermod ${USER} -d ${RDFDB_DIR}
+ then
+ echo "Changed home directory of \"${USER}\" to \"${RDFDB_DIR}\""
+ else
+ echo "Changing home directory of \"${USER}\" to \"${RDFDB_DIR}\" failed..."
+ exit 1
+ fi
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${RDFDB_DIR} -s /bin/sh -c "rdfDB Daemon"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ chown -R ${USER}:${GROUP} ${RDFDB_DIR}
+ ;;
+esac
diff --git a/databases/rdfdb/pkg-plist b/databases/rdfdb/pkg-plist
new file mode 100644
index 000000000000..9e034522a150
--- /dev/null
+++ b/databases/rdfdb/pkg-plist
@@ -0,0 +1,4 @@
+bin/rdfdb
+etc/rc.d/rdfdb-server.sh
+@unexec rmdir %%RDFDB_DIR%% 2>/dev/null || true
+@exec mkdir -p %%RDFDB_DIR%%