X-Original-To: alpine-aports@mail.alpinelinux.org Delivered-To: alpine-aports@mail.alpinelinux.org Received: from mail.alpinelinux.org (dallas-a1.alpinelinux.org [127.0.0.1]) by mail.alpinelinux.org (Postfix) with ESMTP id A3B12DC1168 for ; Wed, 21 Oct 2015 19:17:48 +0000 (UTC) Received: from BLU004-OMC1S24.hotmail.com (blu004-omc1s24.hotmail.com [65.55.116.35]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 6B175DC053F for ; Wed, 21 Oct 2015 19:17:48 +0000 (UTC) Received: from BLU437-SMTP80 ([65.55.116.8]) by BLU004-OMC1S24.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Wed, 21 Oct 2015 12:17:47 -0700 X-TMN: [GQY4YeeTl6VdVkOOd1LFzEAnN6RchnbE] X-Originating-Email: [ysh@live.in] Message-ID: To: alpine-aports@lists.alpinelinux.org From: Yagnesh Mistry Subject: [alpine-aports] Re: [PATCH] testing/twemproxy: new aport Date: Thu, 22 Oct 2015 00:47:43 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 21 Oct 2015 19:17:45.0973 (UTC) FILETIME=[2AB48A50:01D10C35] X-Virus-Scanned: ClamAV using ClamSMTP Removed the doc() function, using the default doc now. Fixed indentation at places. Using the sample initd from the original developer, removed unnecessary code from initd script. https://github.com/twitter/twemproxy A fast, light-weight proxy for memcached and redis --- testing/twemproxy/APKBUILD | 85 ++++++++++++++++++++++++++++++ testing/twemproxy/nutcracker.confd | 5 ++ testing/twemproxy/nutcracker.initd | 42 +++++++++++++++ testing/twemproxy/use-system-libyaml.patch | 60 +++++++++++++++++++++ 4 files changed, 192 insertions(+) create mode 100644 testing/twemproxy/APKBUILD create mode 100644 testing/twemproxy/nutcracker.confd create mode 100644 testing/twemproxy/nutcracker.initd create mode 100644 testing/twemproxy/use-system-libyaml.patch diff --git a/testing/twemproxy/APKBUILD b/testing/twemproxy/APKBUILD new file mode 100644 index 0000000..fc829d6 --- /dev/null +++ b/testing/twemproxy/APKBUILD @@ -0,0 +1,85 @@ +# Maintainer: Yagnesh Mistry + +pkgname=twemproxy +akaname=nutcracker +pkgver=0.4.1 +pkgrel=0 +pkgdesc="A fast, light-weight proxy for memcached and redis" +url="https://github.com/twitter/twemproxy" +arch="all" +license="ASL 2.0" +depends="yaml" +depends_dev="" +makedepends="automake autoconf libtool yaml-dev" +subpackages="$pkgname-doc" +source="saveas-https://github.com/twitter/twemproxy/archive/v$pkgver.tar.gz/$pkgname-$pkgver.tar.gz + nutcracker.initd + nutcracker.confd + use-system-libyaml.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver +_logdir=/var/log/$akaname +_rundir=/var/run/$akaname + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + autoreconf -vif + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.yml \ + "$pkgdir"/etc/$akaname/nutcracker.yml || return 1 + install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.leaf.yml \ + "$pkgdir"/etc/$akaname/nutcracker.leaf.yml || return 1 + install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.root.yml \ + "$pkgdir"/etc/$akaname/nutcracker.root.yml || return 1 + install -m755 -D "$srcdir"/$akaname.initd \ + "$pkgdir"/etc/init.d/$akaname || return 1 + install -m644 -D "$srcdir"/$akaname.confd \ + "$pkgdir"/etc/conf.d/$akaname || return 1 + + install -m0755 -d "$pkgdir"/$_rundir || return 1 + install -m0755 -d "$pkgdir"/$_logdir || return 1 + + _docs="README.md NOTICE ChangeLog" + for _doc in $_docs; do + install -m644 -D "$srcdir"/$pkgname-$pkgver/$_doc \ + "$pkgdir"/usr/share/doc/$akaname/$_doc || return 1 + done + + install -m644 -D "$srcdir"/$pkgname-$pkgver/LICENSE \ + "$pkgdir"/usr/share/licenses/$akaname/LICENSE || return 1 + +} + +md5sums="6b27455285f81e4335d00983076cf4b8 twemproxy-0.4.1.tar.gz +531b2ded35c9f9e3c53388ceb9da9e9d nutcracker.initd +5fcf33052bb7ddd286e58fcdef5335db nutcracker.confd +521837066110c2d0248c11620bf66e15 use-system-libyaml.patch" +sha256sums="00c2940f91947bea9457a348316aac1aa1d4e757238aafbefc9d51057da8ede0 twemproxy-0.4.1.tar.gz +f6531c2bbb085e70e4de4b51a01e4b2a6fe6cec41ba4924cc7ac56d51393fdfd nutcracker.initd +ff28c0ffb1aa82e7bcd19c79f76cdb05641b4181f6668349fe9ed87044ce0d3e nutcracker.confd +718fe0cf3a48f51f5b8a2b6ef8120068b1604c7588b33e5db27de8301e77fdf4 use-system-libyaml.patch" +sha512sums="581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1 twemproxy-0.4.1.tar.gz +56bc051eac972cc1e4cfb334673f8e4c8a5f0855fb4f0b66e05a148855dae34870d949a5d19c111d072a0405b2014a334151ad9414a40fdc67e559ff37d68093 nutcracker.initd +e69e6d7b48a360b8b7b7ec7d7d46e2c736c4e30e6d6a22ed5b01d64ccb3ec701537545b2b6e5c1cbf2ba9f657f86e7a94686e3dc8a43dcba9688695717d62f12 nutcracker.confd +beadf407de53378bfe0ee12bbdf2315bde220a322aa13fc1993b487e1503f8825280408c500c902db683ee35b255e304acfe2cb011a6e9ffe02cdbfcfb1d2bf5 use-system-libyaml.patch" diff --git a/testing/twemproxy/nutcracker.confd b/testing/twemproxy/nutcracker.confd new file mode 100644 index 0000000..95efa6b --- /dev/null +++ b/testing/twemproxy/nutcracker.confd @@ -0,0 +1,5 @@ +CONFFILE=/etc/nutcracker/nutcracker.yml +PIDFILE=/var/run/nutcracker/nutcracker.pid +LOGFILE=/var/log/nutcracker/nutcracker.log + +DAEMON_ARGS="-c $CONFFILE -o $LOGFILE -p $PIDFILE -d" diff --git a/testing/twemproxy/nutcracker.initd b/testing/twemproxy/nutcracker.initd new file mode 100644 index 0000000..76d120a --- /dev/null +++ b/testing/twemproxy/nutcracker.initd @@ -0,0 +1,42 @@ +#!/sbin/openrc-run + +NAME="nutcracker" +DAEMON=/usr/sbin/nutcracker +USER="${USER:-nobody}" +CONFFILE="${CONFFILE:-/etc/nutcracker/nutcracker.yml}" + +DAEMON_ARGS=${DAEMON_ARGS:-"-c $CONFFILE -o $LOGFILE -p $PIDFILE -d"} + +depend() { + need net + after firewall +} + +checkconf() { + ebegin "Testing configuration: " + ${DAEMON} --test-conf \ + --conf-file=${CONFFILE} \ + >/dev/null 2>&1 + eend $? +} + + +start() { + checkconf || exit 1 + ebegin "Starting ${NAME}: " + start-stop-daemon --start --quiet \ + --pidfile ${PIDFILE} \ + --chuid ${USER}:${USER} \ + --exec ${DAEMON} -- ${DAEMON_ARGS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}: " + start-stop-daemon --stop --quiet \ + --pidfile ${PIDFILE} \ + --exec ${DAEMON} + eend $? +} + + diff --git a/testing/twemproxy/use-system-libyaml.patch b/testing/twemproxy/use-system-libyaml.patch new file mode 100644 index 0000000..e3ec54a --- /dev/null +++ b/testing/twemproxy/use-system-libyaml.patch @@ -0,0 +1,60 @@ +--- twemproxy-0.4.1/Makefile.am ++++ twemproxy/src/twemproxy-0.4.1/Makefile.am +@@ -2,7 +2,7 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = contrib src ++SUBDIRS = src + + dist_man_MANS = man/nutcracker.8 + +--- twemproxy-0.4.1/configure.ac ++++ twemproxy/src/twemproxy-0.4.1/configure.ac +@@ -75,6 +75,14 @@ + # Checks for libraries + AC_CHECK_LIB([m], [pow]) + AC_CHECK_LIB([pthread], [pthread_create]) ++AC_CHECK_LIB([yaml], [yaml_get_version_string],,LIBYAML="no") ++if test "$LIBYAML" = "no"; then ++ echo ++ echo " Error: libyaml library not found." ++ echo " Run apk add yaml-dev" ++ echo ++ exit 1 ++fi + + # Checks for library functions + AC_FUNC_FORK +@@ -196,15 +204,8 @@ + [AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])]) + AC_MSG_RESULT($disable_stats) + +-# Untar the yaml-0.1.4 in contrib/ before config.status is rerun +-AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.1.4.tar.gz -C contrib]) +- +-# Call yaml-0.1.4 ./configure recursively +-AC_CONFIG_SUBDIRS([contrib/yaml-0.1.4]) +- + # Define Makefiles + AC_CONFIG_FILES([Makefile +- contrib/Makefile + src/Makefile + src/hashkit/Makefile + src/proto/Makefile +--- twemproxy-0.4.1/src/Makefile.am ++++ twemproxy/src/twemproxy-0.4.1/src/Makefile.am +@@ -21,7 +21,7 @@ + AM_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations + + AM_LDFLAGS = +-AM_LDFLAGS += -lm -lpthread -rdynamic ++AM_LDFLAGS += -lm -lpthread -lyaml -rdynamic + if OS_SOLARIS + AM_LDFLAGS += -lnsl -lsocket + endif +@@ -57,4 +57,3 @@ + nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a + nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a + nutcracker_LDADD += $(top_builddir)/src/event/libevent.a +-nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a -- 2.4.1 --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---