ports/116548: [NEW PORT] databases/memcachedb: Distributed storage system designed for persistent
Gea-Suan Lin
gslin at gslin.org
Sat Sep 22 11:40:01 UTC 2007
>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 at 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 at 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 at comment $FreeBSD$
X at stopdaemon memcachedb
Xsbin/memcachedb
X at exec /var/db/memcachedb
X at 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:
More information about the freebsd-ports-bugs
mailing list