Date: Sat, 22 Sep 2007 19:38:48 +0800 (CST) From: Gea-Suan Lin <gslin@gslin.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: gslin@gslin.org Subject: ports/116548: [NEW PORT] databases/memcachedb: Distributed storage system designed for persistent Message-ID: <20070922113848.583921CC3C@ccreader.NCTU.edu.tw> Resent-Message-ID: <200709221140.l8MBe1gV090776@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 116548 >Category: ports >Synopsis: [NEW PORT] databases/memcachedb: Distributed storage system designed for persistent >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Sep 22 11:40:00 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Gea-Suan Lin >Release: FreeBSD 6.2-STABLE i386 >Organization: >Environment: System: FreeBSD ccreader.NCTU.edu.tw 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Jul 29 04:54:23 UTC 2007 >Description: Memcachedb is a distributed storage system designed for persistent. We simplely hacked from memcached and tugela. But neither of them. Memcachedb is not a cache solution, it is a persistent solution for high-frequency writing and reading. It conforms to memcache protocol (not completed, see below), so any memcached client can have connectivity with memcachedb. Memcachedb uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported. WWW: http://code.google.com/p/memcachedb/ Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- memcachedb-0.0.2.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # memcachedb # memcachedb/pkg-descr # memcachedb/Makefile # memcachedb/pkg-plist # memcachedb/distinfo # memcachedb/files # memcachedb/files/patch-Makefile # memcachedb/files/patch-memcachedb.c # memcachedb/files/patch-memcachedb.h # memcachedb/files/memcachedb.in # echo c - memcachedb mkdir -p memcachedb > /dev/null 2>&1 echo x - memcachedb/pkg-descr sed 's/^X//' >memcachedb/pkg-descr << 'END-of-memcachedb/pkg-descr' XMemcachedb is a distributed storage system designed for persistent. We Xsimplely hacked from memcached and tugela. But neither of them. XMemcachedb is not a cache solution, it is a persistent solution for Xhigh-frequency writing and reading. It conforms to memcache protocol X(not completed, see below), so any memcached client can have Xconnectivity with memcachedb. Memcachedb uses Berkeley DB as a storing Xbackend, so lots of features including transaction and replication are Xsupported. X XWWW: http://code.google.com/p/memcachedb/ END-of-memcachedb/pkg-descr echo x - memcachedb/Makefile sed 's/^X//' >memcachedb/Makefile << 'END-of-memcachedb/Makefile' X# New ports collection makefile for: memcachedb X# Date created: 2007-09-22 X# Whom: Gea-Suan Lin <gslin@gslin.org> X# X# $FreeBSD$ X# X XPORTNAME= memcachedb XPORTVERSION= 0.0.2 XCATEGORIES= databases XMASTER_SITES= http://memcachedb.googlecode.com/files/ X XMAINTAINER= gslin@gslin.org XCOMMENT= Distributed storage system designed for persistent X XLIB_DEPENDS= event:${PORTSDIR}/devel/libevent X XUSE_BDB= 42+ XUSE_RC_SUBR= ${PORTNAME} X Xpost-patch: X ${REINPLACE_CMD} \ X -e "s,%%BDB_LIB_NAME%%,${BDB_LIB_NAME}," \ X -e "s,%%BDB_LIB_DIR%%,${BDB_LIB_DIR}," \ X -e "s,%%BDB_INCLUDE_DIR%%,${BDB_INCLUDE_DIR}," \ X ${WRKSRC}/Makefile X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/memcachedb ${PREFIX}/sbin X ${MKDIR} /var/db/memcachedb || ${TRUE} X ${CHOWN} nobody:nobody /var/db/memcachedb X X.include <bsd.port.mk> END-of-memcachedb/Makefile echo x - memcachedb/pkg-plist sed 's/^X//' >memcachedb/pkg-plist << 'END-of-memcachedb/pkg-plist' X@comment $FreeBSD$ X@stopdaemon memcachedb Xsbin/memcachedb X@exec /var/db/memcachedb X@unexec rmdir /var/db/memcachedb 2>/dev/null || true END-of-memcachedb/pkg-plist echo x - memcachedb/distinfo sed 's/^X//' >memcachedb/distinfo << 'END-of-memcachedb/distinfo' XMD5 (memcachedb-0.0.2.tar.gz) = cba9c036f33d2804e916e7e15fd80488 XSHA256 (memcachedb-0.0.2.tar.gz) = e0a9018dab5d78153c3260886b939d0a9873fe4766eafa9f28f36c687451dbd1 XSIZE (memcachedb-0.0.2.tar.gz) = 11723 END-of-memcachedb/distinfo echo c - memcachedb/files mkdir -p memcachedb/files > /dev/null 2>&1 echo x - memcachedb/files/patch-Makefile sed 's/^X//' >memcachedb/files/patch-Makefile << 'END-of-memcachedb/files/patch-Makefile' X--- Makefile.orig 2007-09-22 03:51:05.000000000 +0800 X+++ Makefile 2007-09-22 03:56:02.000000000 +0800 X@@ -1,15 +1,15 @@ X # $Id: Makefile 11833 2005-11-28 00:22:02Z midom $ X # $Id: Makefile 11833 2007-09-06 10:56:02Z steve $ X X-LIBS=-ldb -levent X-DBLIBPATH=/usr/local/BerkeleyDB.4.5/lib X-DBINCPATH=/usr/local/BerkeleyDB.4.5/include X+LIBS=-l%%BDB_LIB_NAME%% -levent X+DBLIBPATH=%%BDB_LIB_DIR%% X+DBINCPATH=%%BDB_INCLUDE_DIR%% X X LDFLAGS= -L/usr/local/lib/ -L${DBLIBPATH} X-CFLAGS = -O2 -I/usr/local/include -I${DBINCPATH} X+CFLAGS+= -I/usr/local/include -I${DBINCPATH} X X all: X- cc -o memcachedb memcachedb.c ${LDFLAGS} ${CFLAGS} ${LIBS} X+ ${CC} -o memcachedb memcachedb.c ${LDFLAGS} ${CFLAGS} ${LIBS} X X clean: X rm -f -- *.o memcachedb END-of-memcachedb/files/patch-Makefile echo x - memcachedb/files/patch-memcachedb.c sed 's/^X//' >memcachedb/files/patch-memcachedb.c << 'END-of-memcachedb/files/patch-memcachedb.c' X--- memcachedb.c.orig 2007-09-22 03:56:49.000000000 +0800 X+++ memcachedb.c 2007-09-22 03:56:55.000000000 +0800 X@@ -39,7 +39,6 @@ X #include <assert.h> X #include <db.h> X #include <signal.h> X-#include <malloc.h> X X #include "memcachedb.h" X END-of-memcachedb/files/patch-memcachedb.c echo x - memcachedb/files/patch-memcachedb.h sed 's/^X//' >memcachedb/files/patch-memcachedb.h << 'END-of-memcachedb/files/patch-memcachedb.h' X--- memcachedb.h.orig 2007-09-22 04:01:02.000000000 +0800 X+++ memcachedb.h 2007-09-22 04:01:15.000000000 +0800 X@@ -40,8 +40,8 @@ X extern struct stats stats; X extern struct settings settings; X X-#define END_LEN 32 X-#define END_LEN_STR "31" X+#define END_LEN 128 X+#define END_LEN_STR "127" X X typedef struct _stritem { X int nbytes; /* size of data */ END-of-memcachedb/files/patch-memcachedb.h echo x - memcachedb/files/memcachedb.in sed 's/^X//' >memcachedb/files/memcachedb.in << 'END-of-memcachedb/files/memcachedb.in' X#!/bin/sh X# $FreeBSD$ X X# PROVIDE: memcachedb X# REQUIRE: LOGIN X# KEYWORD: shutdown X X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf X# to enable this service: X# X# memcachedb_enable (bool): Set to NO by default. X# Set it to YES to enable memcachedb. X# X. %%RC_SUBR%% X Xname="memcachedb" Xrcvar=`set_rcvar` X Xload_rc_config $name X X: ${memcachedb_bind="127.0.0.1"} X: ${memcachedb_dbfile="/var/db/memcachedb/default.db"} X: ${memcachedb_dbpath="/var/db/memcachedb"} X: ${memcachedb_enable="NO"} X: ${memcachedb_pidfile="/var/run/memcachedb.pid"} X: ${memcachedb_port="11211"} X: ${memcachedb_user="nobody"} X Xcommand=%%PREFIX%%/sbin/${name} Xcommand_args="-p ${memcachedb_port} -l ${memcachedb_bind} -d -u ${memcachedb_user} -f ${memcachedb_dbfile} -H ${memcachedb_dbpath} -P ${memcachedb_pidfile}" X Xunset memcachedb_user X Xrun_rc_command "$1" X END-of-memcachedb/files/memcachedb.in exit --- memcachedb-0.0.2.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070922113848.583921CC3C>