Group: Development/Java # BEGIN SourceDeps(oneline): BuildRequires(pre): rpm-build-python3 rpm-macros-java BuildRequires: perl(Config.pm) perl(Exporter.pm) perl(ExtUtils/MakeMaker.pm) perl(Test/More.pm) perl(XSLoader.pm) perl(threads.pm) perl-devel rpm-build-java # END SourceDeps(oneline) %define _libexecdir %_prefix/libexec BuildRequires: /proc BuildRequires: jpackage-generic-compat %define fedora 30 # see https://bugzilla.altlinux.org/show_bug.cgi?id=10382 %define _localstatedir %{_var} %global _hardened_build 1 %global skiptests 1 Name: zookeeper Version: 3.4.9 Release: alt5_13jpp8 Summary: A high-performance coordination service for distributed applications License: ASL 2.0 and BSD URL: https://zookeeper.apache.org/ Source0: https://www.apache.org/dist/%{name}/%{name}-%{version}.tar.gz Source1: %{name}-ZooInspector-template.pom Source2: %{name}.service Source3: zkEnv.sh Patch1: %{name}-3.4.5-zktreeutil-gcc.patch Patch2: %{name}-3.4.9-ivy-build.patch Patch3: %{name}-3.4.9-server.patch # ZOOKEEPER-1643; patch accepted in 3.5.0 Patch4: mt_adaptor.c.patch Patch5: 0001-cppunit-config-no-longer-exists-use-pkg-config.patch Patch6: missing-pom.template.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: boost-complete BuildRequires: pkgconfig(cppunit) BuildRequires: dos2unix BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: graphviz libgraphviz BuildRequires: java-devel BuildRequires: java-javadoc BuildRequires: jpackage-utils BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: python3-devel BuildRequires: ant BuildRequires: ant-junit BuildRequires: apache-ivy BuildRequires: checkstyle BuildRequires: ivy-local BuildRequires: javapackages-tools BuildRequires: jtoaster BuildRequires: junit BuildRequires: jdiff %if 0%{?fedora} >= 21 || 0%{?rhel} > 7 BuildRequires: mvn(org.slf4j:slf4j-log4j12) BuildRequires: objectweb-pom BuildRequires: jline1 BuildRequires: netty3 Requires: log4j12 %else BuildRequires: mvn(log4j:log4j) BuildRequires: jline BuildRequires: netty Requires: log4j %endif BuildRequires: json_simple BuildRequires: mockito BuildRequires: slf4j BuildRequires: xerces-j2 BuildRequires: xml-commons-apis # remove later on. BuildRequires: apache-commons-parent BuildRequires: jetty-server BuildRequires: jetty-servlet BuildRequires: libsystemd-devel libudev-devel systemd systemd-analyze systemd-coredump systemd-networkd systemd-portable systemd-services systemd-stateless systemd-sysvinit systemd-utils Requires: checkstyle Requires: jline1 Requires: jtoaster Requires: junit Requires: mockito Requires: netty3 Requires: slf4j Requires: java Requires: jpackage-utils Requires: %{name}-java = %{version}-%{release} Source44: import.info %description ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. ############################################## %package devel Group: Development/Java Summary: Development files for the %{name} library Requires: %{name} = %{version}-%{release} %description devel Development files for the ZooKeeper C client library. ############################################## %package java Group: Development/Other Summary: Java interface for %{name} Requires: %{name} = %{version}-%{release} %description java The %{name}-java package contains Java bindings for %{name}. ############################################## %package javadoc Group: Development/Java Summary: Javadoc for %{name} BuildArch: noarch %description javadoc This package contains javadoc for %{name}. %package -n python3-module-zookeeper Group: Development/Java %{?python_provide:%python_provide python3-%{name}} Summary: Python support for %{name} Requires: %{name} = %{version}-%{release} %description -n python3-module-zookeeper Python bindings for %{name}. %prep %setup -q %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 # Do not treat C compile-time warnings as errors sed -i -e's/-Werror//' src/c/Makefile.am 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 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 \ -DCLASSPATH=/usr/share/java/log4j12-1.2.17.jar \ -Dtarget.jdk=1.5 \ -Djavadoc.link.java=%{_javadocdir}/java \ -Dant.build.javac.source=1.5 \ -Dant.build.javac.target=1.5 \ package # cppunit-config patch touches configure.ac in these dirs pushd src/recipes/lock/src/c autoreconf -if popd pushd src/recipes/queue/src/c autoreconf -if popd pushd src/c autoreconf -if %configure --disable-static --disable-rpath make %{?_smp_mflags} popd ## TODO: install utilities? %check %if %skiptests echo "Testing disabled, please enable in mock" %else %ant -Divy.mode=local test %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 %makeinstall_std popd # install the java dependencies. 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}-%{version}-ZooInspector.jar %{buildroot}%{_javadir}/%{name}/%{name}-ZooInspector.jar install -pm 755 bin/zkCleanup.sh %{buildroot}%{_bindir} install -pm 755 bin/zkCli.sh %{buildroot}%{_bindir} install -pm 755 bin/zkServer.sh %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libexecdir} install -pm 755 %{SOURCE3} %{buildroot}%{_libexecdir} %if 0%{?fedora} >= 21 || 0%{?rhel} > 7 mkdir -p %{buildroot}%{_datadir}/maven-metadata mkdir -p %{buildroot}%{_datadir}/maven-poms install -pm 644 build/%{name}-%{version}/dist-maven/%{name}-%{version}.pom %{buildroot}%{_datadir}/maven-poms/%{name}-%{name}.pom %add_maven_depmap %{name}-%{name}.pom %{name}/%{name}.jar %add_maven_depmap org.apache.zookeeper:zookeeper::tests:%{version} %{name}/%{name}-tests.jar install -pm 644 %{SOURCE1} %{buildroot}%{_datadir}/maven-poms/%{name}-%{name}-ZooInspector.pom sed -i "s|@version@|%{version}|" %{buildroot}%{_datadir}/maven-poms/%{name}-%{name}-ZooInspector.pom %add_maven_depmap %{name}-%{name}-ZooInspector.pom %{name}/%{name}-ZooInspector.jar %else mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 build/%{name}-%{version}/dist-maven/%{name}-%{version}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.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 %{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 %endif mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr build/docs/api/* %{buildroot}%{_javadocdir}/%{name}/ pushd src/contrib/zkpython %{__python3} src/python/setup.py build --build-base=$PWD/build \ install --root=%{buildroot} ;\ chmod 0755 %{buildroot}%{python3_sitelibdir}/zookeeper.cpython-*.so popd find %{buildroot} -name '*.la' -exec rm -f {} ';' find %{buildroot} -name '*.a' -exec rm -f {} ';' mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sysconfdir}/zookeeper 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 %{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 touch %{buildroot}%{_sharedstatedir}/zookeeper/data/myid # touching all ghosts; hack for rpm 4.0.4 for rpm404_ghost in %{_sysconfdir}/zookeeper/zoo.cfg %{_sharedstatedir}/zookeeper/data/myid do mkdir -p %buildroot`dirname "$rpm404_ghost"` touch %buildroot"$rpm404_ghost" done %pre getent group zookeeper >/dev/null || groupadd -r zookeeper getent passwd zookeeper >/dev/null || \ useradd -r -g zookeeper -d %{_sharedstatedir}/zookeeper -s /sbin/nologin \ -c "ZooKeeper service account" zookeeper %post %post_service zookeeper : %preun %preun_service zookeeper %files %{_bindir}/cli_mt %{_bindir}/cli_st %{_bindir}/load_gen %{_bindir}/zk*.sh %{_libexecdir}/zkEnv.sh %{_libdir}/lib*.so.* %attr(0755,root,root) %dir %{_sysconfdir}/zookeeper %attr(0644,root,root) %ghost %config(noreplace) %{_sysconfdir}/zookeeper/zoo.cfg %attr(0644,root,root) %{_sysconfdir}/zookeeper/zoo_sample.cfg %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/zookeeper/log4j.properties %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(0755,zookeeper,zookeeper) %dir %{_sharedstatedir}/zookeeper/log %{_unitdir}/zookeeper.service %doc CHANGES.txt LICENSE.txt NOTICE.txt README.txt %files java %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}.jar %{_javadir}/%{name}/%{name}-tests.jar %{_javadir}/%{name}/%{name}-ZooInspector.jar %if 0%{?fedora} >= 21 || 0%{?rhel} > 7 %{_datadir}/maven-poms/%{name}-%{name}.pom %{_datadir}/maven-poms/%{name}-%{name}-ZooInspector.pom %{_datadir}/maven-metadata/%{name}.xml %else %{_mavendepmapfragdir}/%{name} %{_mavenpomdir}/JPP.%{name}-%{name}.pom %{_mavenpomdir}/JPP.%{name}-%{name}-ZooInspector.pom %endif %doc CHANGES.txt LICENSE.txt NOTICE.txt README.txt %files devel %{_includedir}/%{name}/ %{_libdir}/*.so %doc src/c/LICENSE src/c/NOTICE.txt %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt NOTICE.txt %files -n python3-module-zookeeper %{python3_sitelibdir}/ZooKeeper-?.?-py%{__python3_version}.egg-info %{python3_sitelibdir}/zookeeper.cpython-*.so %doc LICENSE.txt NOTICE.txt src/contrib/zkpython/README %changelog * Fri Jun 28 2019 Igor Vlasenko 3.4.9-alt5_13jpp8 - zookeeper.service fix thanks to jenya@ * Thu Jun 27 2019 Igor Vlasenko 3.4.9-alt4_13jpp8 - use libexec as libexecdir for bash scripts to work * Sun May 26 2019 Igor Vlasenko 3.4.9-alt3_13jpp8 - new version * Wed Jan 09 2019 Igor Vlasenko 3.4.9-alt2_12 - fixed build * Thu Jul 05 2018 Igor Vlasenko 3.4.9-alt2_7 - use boost-complete * Thu Nov 09 2017 Igor Vlasenko 3.4.9-alt1_7jpp8 - fc27 update * Wed Oct 18 2017 Igor Vlasenko 3.4.9-alt1_3jpp8 - new jpp release * Tue Nov 22 2016 Igor Vlasenko 3.4.6-alt1_16jpp8 - new fc release * Wed Feb 10 2016 Igor Vlasenko 3.4.6-alt1_15jpp8 - new version