diff --git a/sources b/sources index 928a696..1ba06d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -971c379ba65714fd25dc5fe8f14e9ad1 zookeeper-3.4.6.tar.gz +623bfbaa0efbd2cc196fe06ea9f85566 zookeeper-3.4.6-601207e.tar.gz diff --git a/zookeeper.spec b/zookeeper.spec index 3cc9635..70cafaf 100644 --- a/zookeeper.spec +++ b/zookeeper.spec @@ -1,3 +1,5 @@ +%global commit 601207e1151b2691112c431fc3b4130a85ac93b5 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) %global _hardened_build 1 Name: zookeeper @@ -7,23 +9,16 @@ Summary: A high-performance coordination service for distributed applicati #Group: Development/Libraries License: ASL 2.0 and BSD URL: http://zookeeper.apache.org/ -Source0: http://www.apache.org/dist/%{name}/stable/%{name}-%{version}.tar.gz -#Source1: %{name}-test-template.pom -Source2: %{name}-ZooInspector-template.pom -Source3: %{name}.service -# remove non free clover references -# configure ivy to use system libraries -# disable rat-lib and jdiff support -# Patch0: %{name}-3.4.4-build.patch -# https://issues.apache.org/jira/browse/ZOOKEEPER-1557 -# Patch1: https://issues.apache.org/jira/secure/attachment/12548109/ZOOKEEPER-1557.patch -Patch2: %{name}-3.4.5-zktreeutil-gcc.patch -#Patch3: %{name}-3.4.5-disable-cygwin-detection.patch -Patch4: %{name}-3.4.5-build-contrib.patch -Patch5: %{name}-3.4.5-add-PIE-and-RELRO.patch -# remove date/time from console output since journald will keep track of date/time -Patch6: %{name}-3.4.5-log4j.patch +Source0: https://github.com/apache/zookeeper/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz +Source1: %{name}-ZooInspector-template.pom +Source2: %{name}.service +Patch1: %{name}-3.4.5-zktreeutil-gcc.patch +Patch2: %{name}-3.4.6-ivy-build.patch + +#Patch2: %{name}-3.4.5-log4j.patch +#Patch2: %{name}-3.4.5-build-contrib.patch +#Patch5: %{name}-3.4.5-add-PIE-and-RELRO.patch BuildRequires: autoconf BuildRequires: automake @@ -48,7 +43,9 @@ BuildRequires: checkstyle BuildRequires: jline1 BuildRequires: jtoaster BuildRequires: junit -BuildRequires: log4j12 +#BuildRequires: log4j12 +BuildRequires: log4j +BuildRequires: json_simple BuildRequires: mockito BuildRequires: netty3 @@ -56,12 +53,6 @@ BuildRequires: slf4j BuildRequires: xerces-j2 BuildRequires: xml-commons-apis -# BuildRequires: rat-lib -# BuildRequires: apache-rat-tasks -# BuildRequires: apache-commons-collections -# BuildRequires: apache-commons-lang -# BuildRequires: jdiff - BuildRequires: systemd %description @@ -94,8 +85,7 @@ Documentation for the ZooKeeper C client library. %package java #Group: Development/Libraries Summary: Zookeeper Java client library -# Requires: felix-framework -# Requires: felix-osgi-compendium + Requires: checkstyle Requires: jline1 Requires: jtoaster @@ -143,143 +133,98 @@ BuildArch: noarch ZooKeeper server %prep -%setup -q -find -name "*.jar" -delete -find -name "*.class" -delete -find -name "*.cmd" -delete -find -name "*.so*" -delete -find -name "*.dll" -delete +%setup -q -n %{name}-%{commit} -#%patch0 -p1 -#%patch1 -p0 +%patch1 -p0 +%patch2 -p1 +#%patch3 -p1 +#%patch4 -p1 -%pom_remove_dep org.vafer:jdeb dist-maven/%{name}-%{version}.pom -# jdiff task deps -%pom_remove_dep jdiff:jdiff dist-maven/%{name}-%{version}.pom -%pom_remove_dep xerces:xerces dist-maven/%{name}-%{version}.pom -# rat-lib task deps -%pom_remove_dep org.apache.rat:apache-rat-tasks dist-maven/%{name}-%{version}.pom -%pom_remove_dep commons-collections:commons-collections dist-maven/%{name}-%{version}.pom -%pom_remove_dep commons-lang:commons-lang dist-maven/%{name}-%{version}.pom +# -%patch2 -p0 -#%patch3 -p0 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 - -sed -i "s|0.9.94|1.0|" dist-maven/%{name}-%{version}.pom -sed -i "s|3.2.2.Final|3.6.6.Final|" dist-maven/%{name}-%{version}.pom -sed -i "s|org.jboss.netty|io.netty|" dist-maven/%{name}-%{version}.pom - -sed -i "s|pom|jar|" dist-maven/%{name}-%{version}.pom -sed -i "s|checkstyle|com.puppycrawl.tools|" dist-maven/%{name}-%{version}.pom -sed -i "s|mockito-all|mockito-core|" dist-maven/%{name}-%{version}.pom - -cp -p %{SOURCE2} dist-maven/%{name}-%{version}-ZooInspector.pom -sed -i "s|@version@|%{version}|" dist-maven/%{name}-%{version}-ZooInspector.pom +#cp -p %{SOURCE1} dist-maven/%{name}-%{version}-ZooInspector.pom +#sed -i "s|@version@|%{version}|" dist-maven/%{name}-%{version}-ZooInspector.pom 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 -# fix build problem on f18 sed -i 's|||' build.xml sed -i 's|||' build.xml sed -i 's@^dataDir=.*$@dataDir=%{_sharedstatedir}/zookeeper/data\ndataLogDir=%{_sharedstatedir}/zookeeper/log@' conf/zoo_sample.cfg %build +%ant -Divy.mode=local \ +-Dtarget.jdk=1.5 \ +-Djavadoc.link.java=%{_javadocdir}/java \ +-Dant.build.javac.source=1.5 \ +-Dant.build.javac.target=1.5 \ +-Ddist.dir=%{buildroot} \ +package-native -# TODO: Specify the output build directory. - -%ant -Divy.mode=local package-native - -# ensure that source and target are 1.5 -#%ant -Dtarget.jdk=1.5 \ -# -Djavadoc.link.java=%{_javadocdir}/java \ -# -Dant.build.javac.source=1.5 \ -# -Dant.build.javac.target=1.5 \ -# build-generated jar test-jar javadoc javadoc-dev -# -#( -#cd src/contrib -#%ant -Dversion=%{version} \ -# -Dcontribfilesetincludes="zooinspector/build.xml" \ -# -Dant.build.javac.source=1.5 \ -# -Dant.build.javac.target=1.5 \ -# -Dtarget.jdk=1.5 \ -# -DlastRevision=-1 \ -# -Divy.jar.exists=true \ -# -Divy.initialized=true \ -# -Ddest.dir=../../build/zookeeper -#) - -#pushd src/c -#rm -rf autom4te.cache -#autoreconf -fis -# -#%configure --disable-static --disable-rpath --with-syncapi -# Remove rpath -#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool -#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +#Compile zktreeutil +# TODO - determine why it's not part of the default build +pushd src/contrib/zktreeutil +rm -rf autom4te.cache +autoreconf -if +%configure %{__make} %{?_smp_mflags} -#make doxygen-doc -#popd - -# Compile zktreeutil -#pushd src/contrib/zktreeutil -#rm -rf autom4te.cache -#autoreconf -if -#%configure -#%{__make} %{?_smp_mflags} -#popd - -%if 0 -%check -# Execute multi-threaded test suite -mkdir -p build/lib -for jar in jline log4j xerces-j2 xml-commons-apis; do \ -ln -sf %{_javadir}/$jar.jar build/lib/$jar.jar; \ -done -pushd src/c -%{__make} %{?_smp_mflags} zktest-mt -./zktest-mt popd -%ifarch i386 -# Run core Java test suite against zookeeper -ant -Dversion=%{version} -DlastRevision=-1 test-core-java -%endif -%endif + +%check +%ant -Divy.mode=local \ +test %install - mkdir -p %{buildroot}%{_javadir}/%{name} install -pm 644 build/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar install -pm 644 build/%{name}-%{version}-test.jar %{buildroot}%{_javadir}/%{name}/%{name}-tests.jar -install -pm 644 build/contrib/ZooInspector/%{name}-ZooInspector-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-ZooInspector.jar +install -pm 644 build/contrib/ZooInspector/%{name}-%{version}-ZooInspector.jar %{buildroot}%{_javadir}/%{name}/%{name}-ZooInspector.jar mkdir -p %{buildroot}%{_mavenpomdir} -install -pm 644 dist-maven/%{name}-%{version}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom +install -pm 644 build/%{name}-%{version}/dist-maven/%{name}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom + +#################################################### +# we will need to do our pom cleanup here. +#%pom_remove_dep org.vafer:jdeb dist-maven/%{name}-%{version}.pom +# jdiff task deps +#%pom_remove_dep jdiff:jdiff dist-maven/%{name}-%{version}.pom +#%pom_remove_dep xerces:xerces dist-maven/%{name}-%{version}.pom +# rat-lib task deps +#%pom_remove_dep org.apache.rat:apache-rat-tasks dist-maven/%{name}-%{version}.pom +#%pom_remove_dep commons-collections:commons-collections dist-maven/%{name}-%{version}.pom +#%pom_remove_dep commons-lang:commons-lang dist-maven/%{name}-%{version}.pom + +#sed -i "s|0.9.94|1.0|" dist-maven/%{name}-%{version}.pom +#sed -i "s|3.2.2.Final|3.6.6.Final|" dist-maven/%{name}-%{version}.pom +#sed -i "s|org.jboss.netty|io.netty|" dist-maven/%{name}-%{version}.pom + +#sed -i "s|pom|jar|" dist-maven/%{name}-%{version}.pom +#sed -i "s|checkstyle|com.puppycrawl.tools|" dist-maven/%{name}-%{version}.pom +#sed -i "s|mockito-all|mockito-core|" dist-maven/%{name}-%{version}.pom +#################################################### + %add_maven_depmap JPP.%{name}-%{name}.pom %{name}/%{name}.jar %add_maven_depmap org.apache.zookeeper:zookeeper::tests:%{version} %{name}/%{name}-tests.jar -install -pm 644 dist-maven/%{name}-%{version}-ZooInspector.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-ZooInspector.pom + +install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-ZooInspector.pom +sed -i "s|@version@|%{version}|" %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-ZooInspector.pom %add_maven_depmap JPP.%{name}-%{name}-ZooInspector.pom %{name}/%{name}-ZooInspector.jar -mkdir -p %{buildroot}%{_javadocdir}/%{name}/dev +mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr build/docs/api/* %{buildroot}%{_javadocdir}/%{name}/ -cp -pr build/docs/dev-api/* %{buildroot}%{_javadocdir}/%{name}/dev/ -pushd src/c -%{__make} install DESTDIR=%{buildroot} +#pushd build/c +#%{__make} install DESTDIR=%{buildroot} # cleanup -rm -f docs/html/*.map -popd +#rm -f docs/html/*.map +#popd -pushd src/contrib/zktreeutil -%{__make} install DESTDIR=%{buildroot} -popd +#pushd src/contrib/zktreeutil +#%{__make} install DESTDIR=%{buildroot} +#popd -pushd src/contrib/zkpython +pushd build/contrib/zkpython %{__python} src/python/setup.py build --build-base=$PWD/build \ install --root=%{buildroot} ;\ chmod 0755 %{buildroot}%{python_sitearch}/zookeeper.so @@ -293,7 +238,7 @@ mkdir -p %{buildroot}%{_localstatedir}/log/zookeeper mkdir -p %{buildroot}%{_sharedstatedir}/zookeeper mkdir -p %{buildroot}%{_sharedstatedir}/zookeeper/data mkdir -p %{buildroot}%{_sharedstatedir}/zookeeper/log -install -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir} +install -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir} install -p -m 0640 conf/log4j.properties %{buildroot}%{_sysconfdir}/zookeeper install -p -m 0640 conf/zoo_sample.cfg %{buildroot}%{_sysconfdir}/zookeeper touch %{buildroot}%{_sysconfdir}/zookeeper/zoo.cfg