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 |
+} |