www/156595: New port: httpsqs - a Simple Queue Service
Zhihao Yuan
lichray at gmail.com
Sat Apr 23 08:40:10 UTC 2011
>Number: 156595
>Category: www
>Synopsis: New port: httpsqs - a Simple Queue Service
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-www
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Apr 23 08:40:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Zhihao Yuan
>Release: FreeBSD 8.2-STABLE amd64
>Organization:
Northern Illinois University
>Environment:
System: FreeBSD compaq.yuetime 8.2-STABLE FreeBSD 8.2-STABLE #0: Mon Mar 14 02:51:28 CDT 2011 root at compaq.yuetime:/usr/obj/usr/src/sys/HOUKAGO amd64
>Description:
HTTPSQS is a Simple Queue Service based on HTTP GET/POST protocol. Check
https://code.google.com/p/httpsqs/
for details.
>How-To-Repeat:
>Fix:
The software uses procfs once, only for getting the full path to it's executable file. I replaced it with a compile time substitution.
I do wanted to write a rc script for it, since it's a server. But this program does not read a config file, and all configurations need to be supplied through command line. So, you know.
--- httpsqs.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:
#
# httpsqs
# httpsqs/pkg-descr
# httpsqs/Makefile
# httpsqs/files
# httpsqs/files/Makefile
# httpsqs/files/patch-httpsqs.c
# httpsqs/distinfo
#
echo c - httpsqs
mkdir -p httpsqs > /dev/null 2>&1
echo x - httpsqs/pkg-descr
sed 's/^X//' >httpsqs/pkg-descr << '05a11d6e39e6499894daf191473a113e'
XHTTPSQS is a Simple Queue Service based on HTTP GET/POST protocol. It can
Xhandle more than 10000 requests/sec concurrent connections. Currently it's
Xwidely deployed throughout the xoyo.com under the Kingsoft Corporation.
X
XWWW: https://code.google.com/p/httpsqs/
05a11d6e39e6499894daf191473a113e
echo x - httpsqs/Makefile
sed 's/^X//' >httpsqs/Makefile << '3ed3eff11371d23315e6188518d76b9e'
X# New ports collection makefile for: httpsqs
X# Date created: 2011-04-22
X# Whom: Zhihao Yuan <lichray at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= httpsqs
XPORTVERSION= 1.6
XCATEGORIES= www devel
XMASTER_SITES= ${MASTER_SITE_GOOGLE_CODE}
X
XMAINTAINER= lichray at gmail.com
XCOMMENT= Simple Queue Service based on HTTP GET/POST protocol
X
XLIB_DEPENDS+= tokyocabinet:${PORTSDIR}/databases/tokyocabinet \
X event-2.0:${PORTSDIR}/devel/libevent2
X
XBUILD_DEPENDS+= pkg-config:${PORTSDIR}/devel/pkg-config
X
XLICENSE= BSD
X
XPLIST_FILES= bin/${PORTNAME}
X
Xpost-patch:
X ${CP} ${PATCHDIR}/Makefile ${WRKSRC}
X @${REINPLACE_CMD} -e 's|{ 0 }|"${PREFIX}/bin/${PORTNAME}"|' \
X ${WRKSRC}/httpsqs.c
X
Xpost-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
X
X.include <bsd.port.pre.mk>
X.include <bsd.port.post.mk>
3ed3eff11371d23315e6188518d76b9e
echo c - httpsqs/files
mkdir -p httpsqs/files > /dev/null 2>&1
echo x - httpsqs/files/Makefile
sed 's/^X//' >httpsqs/files/Makefile << '7df6d7e2e71af4818db503e1666c657b'
X# Makefile for httpsqs (pmake)
X
Xtokyocabinet_CFLAGS!= pkg-config --cflags tokyocabinet
Xlibevent_CFLAGS!= pkg-config --cflags libevent
Xtokyocabinet_LIBS!= pkg-config --libs tokyocabinet
Xlibevent_LIBS!= pkg-config --libs libevent
XCFLAGS+= ${tokyocabinet_CFLAGS} ${libevent_CFLAGS}
XLIBS+= ${tokyocabinet_LIBS} ${libevent_LIBS}
X
Xall: httpsqs
X
Xhttpsqs: httpsqs.o prename.o
X ${CC} ${LDFLAGS} ${LIBS} -o ${.TARGET} ${.ALLSRC}
Xhttpsqs.o: httpsqs.c
Xprename.o: prename.c
X
Xinstall: httpsqs
7df6d7e2e71af4818db503e1666c657b
echo x - httpsqs/files/patch-httpsqs.c
sed 's/^X//' >httpsqs/files/patch-httpsqs.c << 'e7be4abaeefd693ef34648c1790e6c31'
X--- httpsqs.c.orig 2011-04-14 00:46:09.000000000 -0500
X+++ httpsqs.c 2011-04-23 03:19:34.920926265 -0500
X@@ -30,6 +30,7 @@ This is free software, and you are welco
X #include <signal.h>
X #include <stdbool.h>
X #include <pthread.h>
X+#include <sys/wait.h>
X
X #include <err.h>
X #include <event.h>
X@@ -656,7 +657,7 @@ int main(int argc, char *argv[], char *e
X char httpsqs_path_file[1024] = { 0 }; // httpsqs_path_file 为 httpsqs ç¨åºçç»å¯¹è·¯å¾
X struct evbuffer *httpsqs_prename_buf; /* åå½ä»¤è¡åæ° */
X httpsqs_prename_buf = evbuffer_new();
X- readlink("/proc/self/exe", httpsqs_path_file, sizeof(httpsqs_path_file));
X+ //readlink("/proc/self/exe", httpsqs_path_file, sizeof(httpsqs_path_file));
X evbuffer_add_printf(httpsqs_prename_buf, "%s", httpsqs_path_file);
X for (httpsqs_prename_num = 1; httpsqs_prename_num < argc; httpsqs_prename_num++) {
X evbuffer_add_printf(httpsqs_prename_buf, " %s", argv[httpsqs_prename_num]);
e7be4abaeefd693ef34648c1790e6c31
echo x - httpsqs/distinfo
sed 's/^X//' >httpsqs/distinfo << 'd53a2d7b24b4bb1b5fe02e95bdb29296'
XSHA256 (httpsqs-1.6.tar.gz) = 784043357e52556830e9efa20dfb1d66161cbca781dcd6c367b017fe5d3dbb68
XSIZE (httpsqs-1.6.tar.gz) = 8871
d53a2d7b24b4bb1b5fe02e95bdb29296
exit
--- httpsqs.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-www
mailing list