diff --git a/zkEnv.sh b/zkEnv.sh index 122a948..f06361d 100755 --- a/zkEnv.sh +++ b/zkEnv.sh @@ -26,6 +26,7 @@ ZOOBINDIR="${ZOOBINDIR:-/usr/bin}" ZOOKEEPER_PREFIX="${ZOOBINDIR}/.." ZOOCFGDIR="/etc/zookeeper" +ZOO_LOG_DIR="/var/log/zookeeper" if [ -f "${ZOOCFGDIR}/zookeeper-env.sh" ]; then . "${ZOOCFGDIR}/zookeeper-env.sh" @@ -59,33 +60,6 @@ else JAVA=java fi -## TSTCLAIR: TODO -# - +## TSTCLAIR: May need to add jar soup to classpath #add the zoocfg dir to classpath -CLASSPATH="$ZOOCFGDIR:$CLASSPATH" - -for i in "$ZOOBINDIR"/../src/java/lib/*.jar -do - CLASSPATH="$i:$CLASSPATH" -done - -#make it work in the binary package -#(use array for LIBPATH to account for spaces within wildcard expansion) -if [ -e "${ZOOKEEPER_PREFIX}"/share/zookeeper/zookeeper-*.jar ]; then - LIBPATH=("${ZOOKEEPER_PREFIX}"/share/zookeeper/*.jar) -else - #release tarball format - for i in "$ZOOBINDIR"/../zookeeper-*.jar - do - CLASSPATH="$i:$CLASSPATH" - done - LIBPATH=("${ZOOBINDIR}"/../lib/*.jar) -fi - -for i in "${LIBPATH[@]}" -do - CLASSPATH="$i:$CLASSPATH" -done - -#echo "CLASSPATH=$CLASSPATH" +CLASSPATH="/usr/share/java/objectweb-asm/asm.jar:/usr/share/java/antlr.jar:/usr/share/java/avalon-framework-api.jar:/usr/share/java/avalon-logkit.jar:/usr/share/java/cglib.jar:/usr/share/java/checkstyle.jar:/usr/share/java/commons-beanutils.jar:/usr/share/java/commons-cli.jar:/usr/share/java/commons-logging.jar:/usr/share/java/geronimo-jms_1.1_spec.jar:/usr/share/java/guava.jar:/usr/share/java/hamcrest/all.jar:/usr/share/java/hamcrest/core.jar:/usr/share/java/hamcrest/text.jar:/usr/share/java/hamcrest/library.jar:/usr/share/java/hamcrest/generator.jar:/usr/share/java/hamcrest/integration.jar:/usr/share/java/javax.mail/javax.mail.jar:/usr/share/java/jdiff.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jetty/jetty-security.jar:/usr/share/java/jetty/jetty-xml.jar:/usr/share/java/jetty/websocket-servlet.jar:/usr/share/java/jetty/jetty-rewrite.jar:/usr/share/java/jetty/jetty-jmx.jar:/usr/share/java/jetty/jetty-http.jar:/usr/share/java/jetty/jetty-servlet.jar:/usr/share/java/jetty/jetty-server.jar:/usr/share/java/jetty/jetty-client.jar:/usr/share/java/jetty/jetty-continuation.jar:/usr/share/java/jetty/jetty-jsp.jar:/usr/share/java/jetty/jetty-maven-plugin.jar:/usr/share/java/jetty/jetty-annotations.jar:/usr/share/java/jetty/jetty-util.jar:/usr/share/java/jetty/websocket-client.jar:/usr/share/java/jetty/websocket-common.jar:/usr/share/java/jetty/jetty-proxy.jar:/usr/share/java/jetty/jetty-deploy.jar:/usr/share/java/jetty/websocket-api.jar:/usr/share/java/jetty/jetty-servlets.jar:/usr/share/java/jetty/websocket-server.jar:/usr/share/java/jetty/jetty-plus.jar:/usr/share/java/jetty/jetty-jndi.jar:/usr/share/java/jetty/jetty-util-ajax.jar:/usr/share/java/jetty/jetty-jspc-maven-plugin.jar:/usr/share/java/jetty/jetty-webapp.jar:/usr/share/java/jetty/jetty-jaas.jar:/usr/share/java/jetty/jetty-io.jar:/usr/share/java/jline.jar:/usr/share/java/jtoaster.jar:/usr/share/java/junit.jar:/usr/share/java/jzlib.jar:/usr/share/java/log4j.jar:/usr/share/java/mockito.jar:/usr/share/java/netty.jar:/usr/share/java/objenesis/objenesis-tck.jar:/usr/share/java/objenesis/objenesis.jar:/usr/share/java/slf4j/log4j12.jar:/usr/share/java/slf4j/api.jar:/usr/share/java/slf4j/slf4j-ext.jar:/usr/share/java/slf4j/slf4j-site.jar:/usr/share/java/slf4j/log4j-over-slf4j.jar:/usr/share/java/slf4j/jcl.jar:/usr/share/java/slf4j/jul-to-slf4j.jar:/usr/share/java/slf4j/ext.jar:/usr/share/java/slf4j/slf4j-jdk14.jar:/usr/share/java/slf4j/simple.jar:/usr/share/java/slf4j/nop.jar:/usr/share/java/slf4j/jcl-over-slf4j.jar:/usr/share/java/slf4j/slf4j-migrator.jar:/usr/share/java/slf4j/migrator.jar:/usr/share/java/slf4j/slf4j-simple.jar:/usr/share/java/slf4j/slf4j-log4j12.jar:/usr/share/java/slf4j/slf4j-api.jar:/usr/share/java/slf4j/slf4j-nop.jar:/usr/share/java/slf4j/site.jar:/usr/share/java/slf4j/jdk14.jar:/usr/share/java/slf4j/slf4j-jcl.jar:/usr/share/java/slf4j/log4j12.jar:/usr/share/java/slf4j/api.jar:/usr/share/java/slf4j/slf4j-ext.jar:/usr/share/java/slf4j/slf4j-site.jar:/usr/share/java/slf4j/log4j-over-slf4j.jar:/usr/share/java/slf4j/jcl.jar:/usr/share/java/slf4j/jul-to-slf4j.jar:/usr/share/java/slf4j/ext.jar:/usr/share/java/slf4j/slf4j-jdk14.jar:/usr/share/java/slf4j/simple.jar:/usr/share/java/slf4j/nop.jar:/usr/share/java/slf4j/jcl-over-slf4j.jar:/usr/share/java/slf4j/slf4j-migrator.jar:/usr/share/java/slf4j/migrator.jar:/usr/share/java/slf4j/slf4j-simple.jar:/usr/share/java/slf4j/slf4j-log4j12.jar:/usr/share/java/slf4j/slf4j-api.jar:/usr/share/java/slf4j/slf4j-nop.jar:/usr/share/java/slf4j/site.jar:/usr/share/java/slf4j/jdk14.jar:/usr/share/java/slf4j/slf4j-jcl.jar:/usr/share/java/tomcat-servlet-api.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar:/usr/share/java/zookeeper/zookeeper.jar:/usr/share/java/zookeeper/zookeeper-ZooInspector.jar:/usr/share/java/zookeeper/zookeeper-tests.jar" diff --git a/zookeeper-3.4.6-server.patch b/zookeeper-3.4.6-server.patch new file mode 100644 index 0000000..d505ad3 --- /dev/null +++ b/zookeeper-3.4.6-server.patch @@ -0,0 +1,20 @@ +diff --git a/bin/zkServer.sh b/bin/zkServer.sh +index 0490982..b4766e5 100755 +--- a/bin/zkServer.sh ++++ b/bin/zkServer.sh +@@ -69,14 +69,7 @@ then + ZOOCFG="$2" + fi + +-if $cygwin +-then +- ZOOCFG=`cygpath -wp "$ZOOCFG"` +- # cygwin has a "kill" in the shell itself, gets confused +- KILL=/bin/kill +-else +- KILL=kill +-fi ++KILL=kill + + echo "Using config: $ZOOCFG" >&2 + diff --git a/zookeeper.service b/zookeeper.service index db4b2c9..817bbc0 100644 --- a/zookeeper.service +++ b/zookeeper.service @@ -10,8 +10,15 @@ Type=forking User=zookeeper SyslogIdentifier=zookeeper WorkingDirectory=/var/lib/zookeeper -ExecStart=/usr/bin/zkServer.sh -#ExecStop= +ExecStart=/usr/bin/zkServer.sh start zoo.cfg +ExecStop=/usr/bin/zkServer.sh stop + +User=root +Group=root +# TODO: check updated permissions. +# Group=zookeeper +Restart=always +RestartSec=20 [Install] WantedBy=multi-user.target diff --git a/zookeeper.spec b/zookeeper.spec index 59d0d7f..9762e9b 100644 --- a/zookeeper.spec +++ b/zookeeper.spec @@ -16,7 +16,8 @@ Source3: zkEnv.sh Patch1: %{name}-3.4.5-zktreeutil-gcc.patch Patch2: %{name}-3.4.6-ivy-build.patch -#Patch3: {name}-3.4.5-add-PIE-and-RELRO.patch +Patch3: %{name}-3.4.6-server.patch + # The native bits don't compile on ARM ExcludeArch: %{arm} @@ -83,20 +84,21 @@ naming, providing distributed synchronization, and providing group services. %package devel Summary: Development files for the %{name} library -Requires: %{name}-lib%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for the ZooKeeper C client library. %package javadoc Summary: Javadoc for %{name} +BuildArch: noarch %description javadoc This package contains javadoc for %{name}. %package -n python-%{name} Summary: Python support for %{name} -Requires: %{name}-lib%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Provides: zkpython%{?_isa} = %{version}-%{release} Requires: python2 @@ -108,7 +110,7 @@ The python-%{name} package contains Python bindings for %{name}. %patch1 -p0 %patch2 -p1 -#%%patch3 -p1 +%patch3 -p1 iconv -f iso8859-1 -t utf-8 src/c/ChangeLog > src/c/ChangeLog.conv && mv -f src/c/ChangeLog.conv src/c/ChangeLog sed -i 's/\r//' src/c/ChangeLog @@ -143,6 +145,11 @@ popd %endif %install + +# the following is used to update zkEnv.sh +# find . -name "*.jar" -exec basename {} \; |sort|uniq +# remove items that don't belong and update execute build-classpath + #install the c tools pushd src/c %make_install @@ -251,11 +258,11 @@ getent passwd zookeeper >/dev/null || \ %attr(0644,root,root) %{_sysconfdir}/zookeeper/zoo_sample.cfg %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/zookeeper/log4j.properties -%attr(0750,zookeeper,zookeeper) %dir %{_localstatedir}/log/zookeeper +%attr(0755,zookeeper,zookeeper) %dir %{_localstatedir}/log/zookeeper %attr(0755,root,root) %dir %{_sharedstatedir}/zookeeper %attr(0750,zookeeper,zookeeper) %dir %{_sharedstatedir}/zookeeper/data %attr(0640,zookeeper,zookeeper) %ghost %{_sharedstatedir}/zookeeper/data/myid -%attr(0750,zookeeper,zookeeper) %dir %{_sharedstatedir}/zookeeper/log +%attr(0755,zookeeper,zookeeper) %dir %{_sharedstatedir}/zookeeper/log %{_unitdir}/zookeeper.service %doc CHANGES.txt LICENSE.txt NOTICE.txt README.txt @@ -277,6 +284,7 @@ getent passwd zookeeper >/dev/null || \ * Wed Oct 8 2014 Timothy St. Clair - 3.4.6-1 - Update to latest stable series - Cleanup and overhaul package +- Updated system integration * Mon Aug 18 2014 Fedora Release Engineering - 3.4.5-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild