7 Summary: A distributed, highly available, RESTful search engine
13 Source0: https://download.elasticsearch.org/elasticsearch/elasticsearch/%{name}-%{version}.tar.gz
14 # Source0-md5: fe50d6f4b11e9e0d1ccf661b32f15fbc
16 Source2: %{name}.logrotate
17 Source3: config-logging.yml
18 Source4: %{name}.sysconfig
19 Source5: %{name}.tmpfiles
20 URL: http://www.elasticsearch.org/
21 BuildRequires: rpmbuild(macros) >= 1.228
22 Requires(post,preun): /sbin/chkconfig
23 Requires: java-jna >= 3.2.4
24 Requires: java-jts >= 1.12
25 Requires: java-log4j >= 1.2.14
26 Requires: java-sigar >= 1.6.4
27 Requires: java-snappy >= 1.0.4
28 Requires: jpackage-utils
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 A distributed, highly available, RESTful search engine.
41 rm lib/log4j-1.2.17.jar
42 rm lib/snappy-java-1.0.4.1.jar
46 rm -rf $RPM_BUILD_ROOT
48 install -d $RPM_BUILD_ROOT%{_javadir}/%{name}/bin
49 install -p bin/elasticsearch $RPM_BUILD_ROOT%{_javadir}/%{name}/bin
50 install -p bin/elasticsearch.in.sh $RPM_BUILD_ROOT%{_javadir}/%{name}/bin
51 install -p bin/plugin $RPM_BUILD_ROOT%{_javadir}/%{name}/bin
54 install -d $RPM_BUILD_ROOT%{_javadir}/%{name}/lib
55 cp -a lib/* $RPM_BUILD_ROOT%{_javadir}/%{name}/lib
58 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
59 cp -p config/elasticsearch.yml $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
60 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/logging.yml
63 install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
66 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}
67 install -Dp %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
70 install -d $RPM_BUILD_ROOT%{_javadir}/%{name}/plugins
73 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
74 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
75 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
77 install -d $RPM_BUILD_ROOT%{_localstatedir}/{run,lock/subsys}/%{name}
79 install -D %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/elasticsearch.conf
82 rm -rf $RPM_BUILD_ROOT
85 # create elasticsearch group
86 if ! getent group elasticsearch >/dev/null; then
87 groupadd -r elasticsearch
90 # create elasticsearch user
91 if ! getent passwd elasticsearch >/dev/null; then
92 useradd -r -g elasticsearch -d %{_javadir}/%{name} \
93 -s /sbin/nologin -c "You know, for search" elasticsearch
97 /sbin/chkconfig --add %{name}
98 %service -n %{name} restart
101 if [ $1 -eq 0 ]; then
102 /sbin/chkconfig --del %{name}
103 %service %{name} stop
107 %defattr(644,root,root,755)
108 %doc LICENSE.txt NOTICE.txt README.textile
109 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
110 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
111 %config(noreplace) %{_sysconfdir}/%{name}
112 %attr(754,root,root) /etc/rc.d/init.d/%{name}
113 %{_sysconfdir}/tmpfiles.d/elasticsearch.conf
115 %dir %{_javadir}/%{name}
117 %dir %{_javadir}/%{name}/bin
118 %attr(755,root,root) %{_javadir}/%{name}/bin/elasticsearch
119 %attr(755,root,root) %{_javadir}/%{name}/bin/elasticsearch.in.sh
120 %attr(755,root,root) %{_javadir}/%{name}/bin/plugin
122 %dir %{_javadir}/%{name}/lib
123 %{_javadir}/%{name}/lib/%{name}-%{version}.jar
124 %{_javadir}/%{name}/lib/spatial4j-0.3.jar
125 %{_javadir}/%{name}/lib/lucene-analyzers-3.6.2.jar
126 %{_javadir}/%{name}/lib/lucene-core-3.6.2.jar
127 %{_javadir}/%{name}/lib/lucene-highlighter-3.6.2.jar
128 %{_javadir}/%{name}/lib/lucene-memory-3.6.2.jar
129 %{_javadir}/%{name}/lib/lucene-queries-3.6.2.jar
131 %dir %{_javadir}/%{name}/plugins
133 %defattr(-,elasticsearch,elasticsearch,-)
134 %dir %{_localstatedir}/lib/%{name}
135 %{_localstatedir}/run/%{name}
136 %dir %{_localstatedir}/log/%{name}