X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cassandra-bin.spec;h=a2ef90a048eed50a348be8b55a76afa9d5affa89;hb=75e762424d5327c333c82bed23b550ce14b7cfc6;hp=2246b6a0773693437a890261b0965ded6cd0885e;hpb=6c1311ffb57b3b1e334324f9252fb8d803d2d56b;p=packages%2Fcassandra-bin.git diff --git a/cassandra-bin.spec b/cassandra-bin.spec index 2246b6a..a2ef90a 100644 --- a/cassandra-bin.spec +++ b/cassandra-bin.spec @@ -1,27 +1,34 @@ -# TODO: Fix .init cassandra status does not work now. +# TODO: Fix .init cassandra status does not work now. # TODO: Fix .init stop routine it is now subset of PLD default one # TODO: Fix of data/ cassandra created dirs/files privilages (now they are all readable) # TODO: Consider adding -# cassandra - memlock unlimited +# cassandra - memlock unlimited # to /etc/security/limits.conf ? -%define shname cassandra +%define shname cassandra %include /usr/lib/rpm/macros.java Summary: Cassandra database binary package -Summary(pl.UTF-8): Baza danych Cassandra wersja binarna. +Summary(pl.UTF-8): Binarna redystrybucja bazy danych Cassandra Name: cassandra-bin -Version: 0.7.8 +Version: 2.0.17 Release: 1 License: ASF Group: Applications/Databases -Source0: http://ftp.tpnet.pl/vol/d1/apache//cassandra/%{version}/apache-cassandra-%{version}-bin.tar.gz -# Source0-md5: 631123a52d2fb10302a01c22b281585b +Source0: ftp://ftp.task.gda.pl/pub/www/apache/dist/cassandra/%{version}/apache-cassandra-%{version}-bin.tar.gz +# Source0-md5: 5c3a1dd76f5261900e3f165f3e964815 Source1: cassandra.in.sh Source2: %{shname}.init +Source3: %{name}.tmpfiles +Patch0: %{name}-jamm_path_fix.patch +Patch1: %{name}-cqlsh_path_fix.patch URL: http://cassandra.apache.org/ +BuildRequires: python-distribute BuildRequires: rpm-javaprov +BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.300 Requires(post,preun): /sbin/chkconfig +Requires: python +Requires: python-modules Requires: rc-scripts Suggests: java-jna BuildArch: noarch @@ -34,47 +41,48 @@ Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems. %description -l pl.UTF-8 -Cassandra łaczy technologie systemów rozproszonych z Dynamo i model -danych z Googlowskiego BigTable. Tak jak Dynamo, Cassandra jest +Cassandra łączy technologie systemów rozproszonych z Dynamo i model +danych z googlowskiego BigTable. Tak jak Dynamo, Cassandra jest ostatecznie spójna. Tak jak BigTable daje do dyspozycji model danych -oparty na ColumnFamily bogatszy niż typowwe systemy klucza i wartości. +oparty na ColumnFamily, bogatszy niż typowe systemy klucza i wartości. %prep %setup -q -n apache-cassandra-%{version} +%patch0 -p1 +%patch1 -p1 + +%build +# current version of cqlsh supports only python 2. +cd pylib +%{__python} setup.py build --build-base build-2 %{?with_tests:test} +cd .. %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT%{_javadir} -install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{shname}/ -install -d $RPM_BUILD_ROOT%{_datadir}/%{shname} -install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ -cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{shname} -cp -p lib/*.jar $RPM_BUILD_ROOT%{_datadir}/%{shname} -install -d $RPM_BUILD_ROOT%{_sbindir} +install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d/,%{_sysconfdir}/%{shname},%{_bindir},%{_sbindir},%{_datadir}/%{shname}} \ + $RPM_BUILD_ROOT/var/{lib/%{shname}/{commitlog,conf,data,saved_caches},{log,run}/%{shname}} \ + $RPM_BUILD_ROOT%{systemdtmpfilesdir} + +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cassandra + +rm bin/*.bat +cp -p bin/{cqlsh,*sstable*,*tool,cassandra-cli} $RPM_BUILD_ROOT%{_bindir} cp -p bin/cassandra $RPM_BUILD_ROOT%{_sbindir} -install -d $RPM_BUILD_ROOT%{_bindir} -cp -p bin/cassandra-cli $RPM_BUILD_ROOT%{_bindir} -cp -p bin/nodetool $RPM_BUILD_ROOT%{_bindir} -cp -p bin/clustertool $RPM_BUILD_ROOT%{_bindir} -cp -p bin/json2sstable $RPM_BUILD_ROOT%{_bindir} -cp -p bin/sstable2json $RPM_BUILD_ROOT%{_bindir} -cp -p bin/schematool $RPM_BUILD_ROOT%{_bindir} -cp -p bin/config-converter $RPM_BUILD_ROOT%{_bindir} -cp -p bin/sstablekeys $RPM_BUILD_ROOT%{_bindir} -install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cassandra -install -d $RPM_BUILD_ROOT/var/lib/%{shname}/commitlog -install -d $RPM_BUILD_ROOT/var/lib/%{shname}/data -install -d $RPM_BUILD_ROOT/var/lib/%{shname}/saved_caches -install -d $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/log4j-server.properties $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/cassandra.yaml $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/cassandra-env.sh $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/access.properties $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/passwd.properties $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/cassandra-topology.properties $RPM_BUILD_ROOT/var/lib/%{shname}/conf -cp -p conf/README.txt $RPM_BUILD_ROOT/var/lib/%{shname}/conf -install -d $RPM_BUILD_ROOT/var/run/%{shname} -install -d $RPM_BUILD_ROOT/var/log/%{shname} +cp -p %{SOURCE1} lib/*.jar $RPM_BUILD_ROOT%{_datadir}/%{shname} +# use bundled libs for python-cql - from cqlsh doc +cp -p %{SOURCE1} lib/cql-internal-only-1.4.2.zip $RPM_BUILD_ROOT%{_datadir}/%{shname} +cp -p %{SOURCE1} lib/thrift-python-internal-only-0.9.1.zip $RPM_BUILD_ROOT%{_datadir}/%{shname} +cp -p conf/{*.properties,cassandra-env.sh,cassandra.yaml,README.txt} $RPM_BUILD_ROOT/var/lib/%{shname}/conf + +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{shname}.conf + +cd pylib +%{__python} setup.py \ + build --build-base build-2 \ + install --skip-build \ + --optimize=2 \ + --root=$RPM_BUILD_ROOT +cd .. %clean rm -rf $RPM_BUILD_ROOT @@ -95,23 +103,30 @@ fi %files %defattr(644,root,root,755) -%doc CHANGES.txt LICENSE.txt README.txt NEWS.txt NOTICE.txt +%doc CHANGES.txt LICENSE.txt NEWS.txt NOTICE.txt %attr(754,root,root) /etc/rc.d/init.d/cassandra %attr(755,root,root) %{_bindir}/cassandra-cli +%attr(755,root,root) %{_bindir}/cqlsh %attr(755,root,root) %{_bindir}/nodetool -%attr(755,root,root) %{_bindir}/clustertool %attr(755,root,root) %{_bindir}/json2sstable %attr(755,root,root) %{_bindir}/sstable2json -%attr(755,root,root) %{_bindir}/schematool -%attr(755,root,root) %{_bindir}/config-converter +%attr(755,root,root) %{_bindir}/sstablescrub %attr(755,root,root) %{_bindir}/sstablekeys +%attr(755,root,root) %{_bindir}/sstableloader +%attr(755,root,root) %{_bindir}/sstablesplit +%attr(755,root,root) %{_bindir}/sstableupgrade %attr(755,root,root) %{_sbindir}/cassandra %{_datadir}/%{shname} +%{systemdtmpfilesdir}/%{shname}.conf %attr(750,cassandra,cassandra) %dir /var/lib/%{shname} %attr(750,root,cassandra) %dir /var/lib/%{shname}/conf %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.properties %attr(755,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.sh %attr(640,root,cassandra) /var/lib/%{shname}/conf/*.txt %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.yaml -%attr(750,cassandra,cassandra) %dir /var/run/%{shname} %attr(750,cassandra,cassandra) %dir /var/log/%{shname} +%attr(750,cassandra,cassandra) %dir /var/run/%{shname} +%{py_sitescriptdir}/cqlshlib +%if "%{py_ver}" > "2.4" + %{py_sitescriptdir}/cassandra_pylib-0.0.0-py*.egg-info +%endif