Skip site navigation (1)Skip section navigation (2)
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>