Gentoo Archives: gentoo-commits

From: Patrick Lauer <patrick@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/zookeeper-bin/files/, sys-cluster/zookeeper-bin/
Date: Mon, 26 Sep 2016 12:15:15
Message-Id: 1474892089.bb99eceeb46b154b21dfb82c5e5d8fb6b0de9c4c.patrick@gentoo
1 commit: bb99eceeb46b154b21dfb82c5e5d8fb6b0de9c4c
2 Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
3 AuthorDate: Mon Sep 26 12:05:42 2016 +0000
4 Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
5 CommitDate: Mon Sep 26 12:14:49 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb99ecee
7
8 sys-cluster/zookeeper-bin: Initial import.
9
10 Based on ebuilds by Ultrabug, with modifications tested in the adjust overlay.
11
12 Package-Manager: portage-2.3.0
13
14 sys-cluster/zookeeper-bin/Manifest | 1 +
15 sys-cluster/zookeeper-bin/files/log4j.properties | 58 ++++++++++++++
16 sys-cluster/zookeeper-bin/files/zookeeper.confd | 18 +++++
17 sys-cluster/zookeeper-bin/files/zookeeper.initd | 15 ++++
18 sys-cluster/zookeeper-bin/metadata.xml | 12 +++
19 .../zookeeper-bin/zookeeper-bin-3.4.9.ebuild | 91 ++++++++++++++++++++++
20 6 files changed, 195 insertions(+)
21
22 diff --git a/sys-cluster/zookeeper-bin/Manifest b/sys-cluster/zookeeper-bin/Manifest
23 new file mode 100644
24 index 00000000..4e4a436
25 --- /dev/null
26 +++ b/sys-cluster/zookeeper-bin/Manifest
27 @@ -0,0 +1 @@
28 +DIST zookeeper-3.4.9.tar.gz 22724574 SHA256 e7f340412a61c7934b5143faef8d13529b29242ebfba2eba48169f4a8392f535 SHA512 4f3e003c6ce5e3338f642f7deaa0fd2cfd1b30591d3ed4fe880492dded6c4bf01d30483e28f3a38b43bb6d2696ff4d819fc9577733224cec07e236437e88a657 WHIRLPOOL 9e879b335156adf5fcb46e1ddb5e76a061338862cdd14b4cd85dffac4a3343ff21d84ac24b31b232b52426d756bc17734448591cbd13b556c59664b42a8a298a
29
30 diff --git a/sys-cluster/zookeeper-bin/files/log4j.properties b/sys-cluster/zookeeper-bin/files/log4j.properties
31 new file mode 100644
32 index 00000000..c462993
33 --- /dev/null
34 +++ b/sys-cluster/zookeeper-bin/files/log4j.properties
35 @@ -0,0 +1,58 @@
36 +# Define some default values that can be overridden by system properties
37 +zookeeper.root.logger=INFO, CONSOLE
38 +zookeeper.console.threshold=INFO
39 +zookeeper.log.dir=/var/log/zookeeper/
40 +zookeeper.log.file=zookeeper.log
41 +zookeeper.log.threshold=DEBUG
42 +zookeeper.tracelog.dir=/var/log/zookeeper/
43 +zookeeper.tracelog.file=zookeeper_trace.log
44 +
45 +#
46 +# ZooKeeper Logging Configuration
47 +#
48 +
49 +# Format is "<default threshold> (, <appender>)+
50 +
51 +# DEFAULT: console appender only
52 +#log4j.rootLogger=${zookeeper.root.logger}
53 +
54 +# Example with rolling log file
55 +log4j.rootLogger=CONSOLE, ROLLINGFILE
56 +
57 +# Example with rolling log file and tracing
58 +#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE
59 +
60 +#
61 +# Log INFO level and above messages to the console
62 +#
63 +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
64 +log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold}
65 +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
66 +log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
67 +
68 +#
69 +# Add ROLLINGFILE to rootLogger to get log file output
70 +# Log DEBUG level and above messages to a log file
71 +log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
72 +log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
73 +log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
74 +
75 +# Max log file size of 256MB
76 +log4j.appender.ROLLINGFILE.MaxFileSize=256MB
77 +# uncomment the next line to limit number of backup files
78 +log4j.appender.ROLLINGFILE.MaxBackupIndex=10
79 +
80 +log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
81 +log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
82 +
83 +
84 +#
85 +# Add TRACEFILE to rootLogger to get log file output
86 +# Log DEBUG level and above messages to a log file
87 +log4j.appender.TRACEFILE=org.apache.log4j.FileAppender
88 +log4j.appender.TRACEFILE.Threshold=TRACE
89 +log4j.appender.TRACEFILE.File=${zookeeper.tracelog.dir}/${zookeeper.tracelog.file}
90 +
91 +log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout
92 +### Notice we are including log4j's NDC here (%x)
93 +log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n
94
95 diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.confd b/sys-cluster/zookeeper-bin/files/zookeeper.confd
96 new file mode 100644
97 index 00000000..c6c6f0a
98 --- /dev/null
99 +++ b/sys-cluster/zookeeper-bin/files/zookeeper.confd
100 @@ -0,0 +1,18 @@
101 +# JVM options
102 +JVM_OPTS=""
103 +
104 +# zookeeper files
105 +MAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
106 +CONFIG="/opt/zookeeper-bin/conf/zoo.cfg"
107 +
108 +# build the classpath
109 +INSTALL_DIR=/opt/zookeeper-bin
110 +CLASSPATH="${INSTALL_DIR}/conf:${CLASSPATH}"
111 +
112 +for i in ${INSTALL_DIR}/zookeeper-*.jar; do
113 + CLASSPATH="${i}:${CLASSPATH}"
114 +done
115 +
116 +for i in ${INSTALL_DIR}/lib/*.jar; do
117 + CLASSPATH="${i}:${CLASSPATH}"
118 +done
119
120 diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.initd b/sys-cluster/zookeeper-bin/files/zookeeper.initd
121 new file mode 100644
122 index 00000000..a760ce7
123 --- /dev/null
124 +++ b/sys-cluster/zookeeper-bin/files/zookeeper.initd
125 @@ -0,0 +1,15 @@
126 +#!/sbin/openrc-run
127 +# Copyright 1999-2016 Gentoo Foundation
128 +# Distributed under the terms of the GNU General Public License v2
129 +# $Header: $
130 +
131 +name="zookeeper"
132 +command="/usr/bin/java"
133 +command_args="${JVM_OPTS} -cp ${CLASSPATH} ${MAIN} ${CONFIG}"
134 +command_background="true"
135 +start_stop_daemon_args="--user zookeeper --group zookeeper"
136 +pidfile="/var/run/zookeeper.pid"
137 +
138 +depend() {
139 + need net
140 +}
141
142 diff --git a/sys-cluster/zookeeper-bin/metadata.xml b/sys-cluster/zookeeper-bin/metadata.xml
143 new file mode 100644
144 index 00000000..56c47e9
145 --- /dev/null
146 +++ b/sys-cluster/zookeeper-bin/metadata.xml
147 @@ -0,0 +1,12 @@
148 +<?xml version="1.0" encoding="UTF-8"?>
149 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
150 +<pkgmetadata>
151 + <maintainer type="person">
152 + <email>patrick@g.o</email>
153 + <name>Patrick Lauer</name>
154 + </maintainer>
155 + <maintainer type="project">
156 + <email>cluster@g.o</email>
157 + <name>Gentoo Cluster Project</name>
158 + </maintainer>
159 +</pkgmetadata>
160
161 diff --git a/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.9.ebuild b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.9.ebuild
162 new file mode 100644
163 index 00000000..6c481e5
164 --- /dev/null
165 +++ b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.9.ebuild
166 @@ -0,0 +1,91 @@
167 +# Copyright 1999-2016 Gentoo Foundation
168 +# Distributed under the terms of the GNU General Public License v2
169 +# $Header: $
170 +
171 +EAPI=5
172 +PYTHON_COMPAT=( python2_7 )
173 +
174 +inherit distutils-r1 eutils java-utils-2 user
175 +
176 +MY_P="zookeeper"
177 +MY_PN=${MY_P}-${PV}
178 +
179 +DESCRIPTION="A high-performance coordination service for distributed applications."
180 +HOMEPAGE="http://zookeeper.apache.org/"
181 +SRC_URI="mirror://apache/${MY_P}/${MY_PN}/${MY_PN}.tar.gz"
182 +
183 +LICENSE="Apache-2.0"
184 +SLOT="0"
185 +KEYWORDS="~amd64 ~x86"
186 +RESTRICT="mirror binchecks"
187 +IUSE=""
188 +
189 +DEPEND=""
190 +RDEPEND=">=virtual/jre-1.7"
191 +
192 +S=${WORKDIR}/${MY_PN}
193 +
194 +INSTALL_DIR=/opt/${PN}
195 +export CONFIG_PROTECT="${CONFIG_PROTECT} ${INSTALL_DIR}/conf"
196 +
197 +pkg_setup() {
198 + enewgroup zookeeper
199 + enewuser zookeeper -1 /bin/sh /var/lib/zookeeper zookeeper
200 +}
201 +
202 +src_prepare() {
203 + # python
204 + sed -e "s|src/c/zookeeper.c|zookeeper.c|g" \
205 + -e "s|../../../|${S}|g" \
206 + -i contrib/zkpython/src/python/setup.py || die
207 +}
208 +
209 +src_configure() {
210 + cd "${S}"/src/c || die
211 + econf
212 +}
213 +
214 +src_compile() {
215 + cd "${S}"/src/c || die
216 + emake
217 +}
218 +
219 +src_install() {
220 + local DATA_DIR=/var/lib/${MY_P}
221 +
222 + # python
223 + cd "${S}"/contrib/zkpython/ || die
224 + mv src/python/setup.py .
225 + mv src/c/* .
226 + python_foreach_impl distutils-r1_src_install
227 + cd "${S}" || die
228 +
229 + # cleanup sources
230 + rm -rf src/ || die
231 + rm bin/*.cmd || die
232 +
233 + keepdir "${DATA_DIR}"
234 + sed "s:^dataDir=.*:dataDir=${DATA_DIR}:" conf/zoo_sample.cfg > conf/zoo.cfg || die "sed failed"
235 + cp "${FILESDIR}"/log4j.properties conf/ || die "cp log4j conf failed"
236 +
237 + dodir "${INSTALL_DIR}"
238 + cp -a "${S}"/* "${D}${INSTALL_DIR}" || die "install failed"
239 +
240 + # data dir perms
241 + fowners zookeeper:zookeeper "${DATA_DIR}"
242 +
243 + # log dir
244 + keepdir /var/log/zookeeper
245 + fowners zookeeper:zookeeper /var/log/zookeeper
246 +
247 + # init script
248 + newinitd "${FILESDIR}"/zookeeper.initd zookeeper
249 + newconfd "${FILESDIR}"/zookeeper.confd zookeeper
250 +
251 + # env file
252 + cat > 99"${PN}" <<-EOF
253 + PATH=${INSTALL_DIR}/bin
254 + CONFIG_PROTECT=${INSTALL_DIR}/conf
255 + EOF
256 + doenvd 99"${PN}" || die "doenvd failed"
257 +}