]> git.pld-linux.org Git - packages/cassandra-bin.git/blob - cassandra-bin.spec
automatic change: use py_build/py_install macros
[packages/cassandra-bin.git] / cassandra-bin.spec
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 ?
7
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
12 Name:           cassandra-bin
13 Version:        2.0.17
14 Release:        1
15 License:        ASF
16 Group:          Applications/Databases
17 Source0:        ftp://ftp.task.gda.pl/pub/www/apache/dist/cassandra/%{version}/apache-cassandra-%{version}-bin.tar.gz
18 # Source0-md5:  5c3a1dd76f5261900e3f165f3e964815
19 Source1:        cassandra.in.sh
20 Source2:        %{shname}.init
21 Source3:        %{name}.tmpfiles
22 Patch0:         %{name}-jamm_path_fix.patch
23 Patch1:         %{name}-cqlsh_path_fix.patch
24 URL:            http://cassandra.apache.org/
25 BuildRequires:  python-distribute
26 BuildRequires:  rpm-javaprov
27 BuildRequires:  rpm-pythonprov
28 BuildRequires:  rpmbuild(macros) >= 1.300
29 Requires(post,preun):   /sbin/chkconfig
30 Requires:       python
31 Requires:       python-modules
32 Requires:       rc-scripts
33 Suggests:       java-jna
34 BuildArch:      noarch
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %description
38 Cassandra brings together the distributed systems technologies from
39 Dynamo and the data model from Google's BigTable. Like Dynamo,
40 Cassandra is eventually consistent. Like BigTable, Cassandra provides
41 a ColumnFamily-based data model richer than typical key/value systems.
42
43 %description -l pl.UTF-8
44 Cassandra łączy technologie systemów rozproszonych z Dynamo i model
45 danych z googlowskiego BigTable. Tak jak Dynamo, Cassandra jest
46 ostatecznie spójna. Tak jak BigTable daje do dyspozycji model danych
47 oparty na ColumnFamily, bogatszy niż typowe systemy klucza i wartości.
48
49 %prep
50 %setup -q -n apache-cassandra-%{version}
51 %patch0 -p1
52 %patch1 -p1
53
54 %build
55 # current version of cqlsh supports only python 2.
56 cd pylib
57 %py_build %{?with_tests:test}
58 cd ..
59
60 %install
61 rm -rf $RPM_BUILD_ROOT
62 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d/,%{_sysconfdir}/%{shname},%{_bindir},%{_sbindir},%{_datadir}/%{shname}} \
63         $RPM_BUILD_ROOT/var/{lib/%{shname}/{commitlog,conf,data,saved_caches},{log,run}/%{shname}} \
64         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
65
66 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/cassandra
67
68 rm bin/*.bat
69 cp -p bin/{cqlsh,*sstable*,*tool,cassandra-cli} $RPM_BUILD_ROOT%{_bindir}
70 cp -p bin/cassandra $RPM_BUILD_ROOT%{_sbindir}
71 cp -p %{SOURCE1} lib/*.jar $RPM_BUILD_ROOT%{_datadir}/%{shname}
72 # use bundled libs for python-cql - from cqlsh doc
73 cp -p %{SOURCE1} lib/cql-internal-only-1.4.2.zip $RPM_BUILD_ROOT%{_datadir}/%{shname}
74 cp -p %{SOURCE1} lib/thrift-python-internal-only-0.9.1.zip $RPM_BUILD_ROOT%{_datadir}/%{shname}
75 cp -p conf/{*.properties,cassandra-env.sh,cassandra.yaml,README.txt} $RPM_BUILD_ROOT/var/lib/%{shname}/conf
76
77 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{shname}.conf
78
79 cd pylib
80 %py_install
81 cd ..
82
83 %clean
84 rm -rf $RPM_BUILD_ROOT
85
86 %pre
87 %groupadd -g 259 -r cassandra
88 %useradd -M -o -r -u 259 -d /var/lib/%{shname} -s /bin/sh -g cassandra -c "Cassandra Server" cassandra
89
90 %post
91 /sbin/chkconfig --add cassandra
92 %service cassandra restart
93
94 %preun
95 if [ "$1" = "0" ]; then
96         %service cassandra stop
97         /sbin/chkconfig --del cassandra
98 fi
99
100 %files
101 %defattr(644,root,root,755)
102 %doc CHANGES.txt LICENSE.txt NEWS.txt NOTICE.txt
103 %attr(754,root,root) /etc/rc.d/init.d/cassandra
104 %attr(755,root,root) %{_bindir}/cassandra-cli
105 %attr(755,root,root) %{_bindir}/cqlsh
106 %attr(755,root,root) %{_bindir}/nodetool
107 %attr(755,root,root) %{_bindir}/json2sstable
108 %attr(755,root,root) %{_bindir}/sstable2json
109 %attr(755,root,root) %{_bindir}/sstablescrub
110 %attr(755,root,root) %{_bindir}/sstablekeys
111 %attr(755,root,root) %{_bindir}/sstableloader
112 %attr(755,root,root) %{_bindir}/sstablesplit
113 %attr(755,root,root) %{_bindir}/sstableupgrade
114 %attr(755,root,root) %{_sbindir}/cassandra
115 %{_datadir}/%{shname}
116 %{systemdtmpfilesdir}/%{shname}.conf
117 %attr(750,cassandra,cassandra) %dir /var/lib/%{shname}
118 %attr(750,root,cassandra) %dir /var/lib/%{shname}/conf
119 %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.properties
120 %attr(755,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.sh
121 %attr(640,root,cassandra) /var/lib/%{shname}/conf/*.txt
122 %attr(640,root,cassandra) %config(noreplace) %verify(not md5 mtime size) /var/lib/%{shname}/conf/*.yaml
123 %attr(750,cassandra,cassandra) %dir /var/log/%{shname}
124 %attr(750,cassandra,cassandra) %dir /var/run/%{shname}
125 %{py_sitescriptdir}/cqlshlib
126 %if "%{py_ver}" > "2.4"
127         %{py_sitescriptdir}/cassandra_pylib-0.0.0-py*.egg-info
128 %endif
This page took 0.04617 seconds and 3 git commands to generate.