1 # TODO: Fix .init cassandra status does not work now.
2 # TODO: Fix .init stop routine it is now subset of PLD default one
3 # TODO: Fix of data/ cassandra created dirs/files privilages (now they are all readable)
4 # TODO: Consider adding
5 # cassandra - memlock unlimited
6 # to /etc/security/limits.conf ?
8 %define shname cassandra
9 %include /usr/lib/rpm/macros.java
10 Summary: Cassandra database binary package
11 Summary(pl.UTF-8): Binarna redystrybucja bazy danych Cassandra
16 Group: Applications/Databases
17 # http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.8.7/apache-cassandra-0.8.7-bin.tar.gz
18 Source0: http://ftp.tpnet.pl/vol/d1/apache//cassandra/%{version}/apache-cassandra-%{version}-bin.tar.gz
19 # Source0-md5: bce05ca64217f7317190e46428a6df3c
20 Source1: cassandra.in.sh
21 Source2: %{shname}.init
22 Patch0: %{name}-jamm_path_fix.patch
23 URL: http://cassandra.apache.org/
24 BuildRequires: rpm-javaprov
25 BuildRequires: rpmbuild(macros) >= 1.300
26 Requires(post,preun): /sbin/chkconfig
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 Cassandra brings together the distributed systems technologies from
34 Dynamo and the data model from Google's BigTable. Like Dynamo,
35 Cassandra is eventually consistent. Like BigTable, Cassandra provides
36 a ColumnFamily-based data model richer than typical key/value systems.
38 %description -l pl.UTF-8
39 Cassandra łączy technologie systemów rozproszonych z Dynamo i model
40 danych z googlowskiego BigTable. Tak jak Dynamo, Cassandra jest
41 ostatecznie spójna. Tak jak BigTable daje do dyspozycji model danych
42 oparty na ColumnFamily, bogatszy niż typowe systemy klucza i wartości.
45 %setup -q -n apache-cassandra-%{version}
49 rm -rf $RPM_BUILD_ROOT
50 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d/,%{_sysconfdir}/%{shname},%{_bindir},%{_sbindir},%{_datadir}/%{shname}} \
51 $RPM_BUILD_ROOT/var/{lib/%{shname}/{commitlog,conf,data,saved_caches},{log,run}/%{shname}}
53 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cassandra
54 cp -p bin/{*sstable*,*tool,cassandra-cli} $RPM_BUILD_ROOT%{_bindir}
55 cp -p bin/cassandra $RPM_BUILD_ROOT%{_sbindir}
56 cp -p %{SOURCE1} lib/*.jar $RPM_BUILD_ROOT%{_datadir}/%{shname}
57 cp -p conf/{*.properties,cassandra-env.sh,cassandra.yaml,README.txt} $RPM_BUILD_ROOT/var/lib/%{shname}/conf
60 rm -rf $RPM_BUILD_ROOT
63 %groupadd -g 259 -r cassandra
64 %useradd -M -o -r -u 259 -d /var/lib/%{shname} -s /bin/sh -g cassandra -c "Cassandra Server" cassandra
67 /sbin/chkconfig --add cassandra
68 %service cassandra restart
71 if [ "$1" = "0" ]; then
72 %service cassandra stop
73 /sbin/chkconfig --del cassandra
77 %defattr(644,root,root,755)
78 %doc CHANGES.txt LICENSE.txt README.txt NEWS.txt NOTICE.txt
79 %attr(754,root,root) /etc/rc.d/init.d/cassandra
80 %attr(755,root,root) %{_bindir}/cassandra-cli
81 %attr(755,root,root) %{_bindir}/nodetool
82 # %attr(755,root,root) %{_bindir}/clustertool
83 %attr(755,root,root) %{_bindir}/json2sstable
84 %attr(755,root,root) %{_bindir}/sstable2json
85 %attr(755,root,root) %{_bindir}/sstableloader
86 # %attr(755,root,root) %{_bindir}/schematool
87 # %attr(755,root,root) %{_bindir}/config-converter
88 %attr(755,root,root) %{_bindir}/sstablekeys
89 %attr(755,root,root) %{_sbindir}/cassandra
91 %attr(750,cassandra,cassandra) %dir /var/lib/%{shname}
92 %attr(750,root,cassandra) %dir /var/lib/%{shname}/conf
93 %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.properties
94 %attr(755,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.sh
95 %attr(640,root,cassandra) /var/lib/%{shname}/conf/*.txt
96 %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.yaml
97 %attr(750,cassandra,cassandra) %dir /var/log/%{shname}
98 %attr(750,cassandra,cassandra) %dir /var/run/%{shname}