2121Name: riak
2222Version: %{_version}
2323Release: %{_release}%{?dist}
24- License: "Apacke 2.0"
24+ License: "Apache 2.0"
2525Group: Development/Libraries
2626Source: %{_tarname}
2727URL: "https://riak.com"
2828Vendor: "Riak"
2929Packager: "Riak Package Maint" <"
[email protected] ">
3030BuildRoot: %{_tmppath}/%{name}-%{_revision}-%{release}-root
3131Summary: "Riak is a distributed data store"
32- Obsoletes: riak
32+ BuildRequires: systemd systemd-rpm-macros gcc-c++ pam-devel
33+ Requires(post): systemd
34+ Requires(preun): systemd
35+ Requires(postun): systemd
3336
3437%description
3538"Riak is a distributed data store"
3639
37- %define init_script %{_sysconfdir}/init.d/riak
3840%define debug_package %{nil}
3941%define __prelink_undo_cmd /bin/cat prelink library
4042
@@ -60,26 +62,35 @@ cat > rpm.vars.config <<EOF
6062{platform_log_dir, "%{platform_log_dir}"}.
6163EOF
6264
65+ %define _build_id_links none
66+
6367%build
6468make rel-rpm
6569
6670%install
67- %define relpath %{_builddir}/%{buildsubdir}/_build/rpm/ rel/riak
71+ %define relpath %{_builddir}/%{buildsubdir}/rel/riak
6872%define buildroot_lib %{buildroot}%{_libdir}/riak
6973%define buildroot_etc %{buildroot}%{_sysconfdir}/riak
7074%define buildroot_bin %{buildroot_lib}/bin
71-
72- mkdir -p %{buildroot_etc}
73- mkdir -p %{buildroot_lib}
74- mkdir -p %{buildroot_bin}
75- mkdir -p %{buildroot}%{_sbindir}
76- mkdir -p %{buildroot}%{_localstatedir}/lib/riak
77- mkdir -p %{buildroot}%{_localstatedir}/log/riak
75+ %define buildroot_sbin %{buildroot}%{_sbindir}
76+ %define buildroot_unit %{buildroot}%{_unitdir}
77+ %define buildroot_run %{buildroot}%{_rundir}
78+
79+ mkdir -p \
80+ %{buildroot_etc} \
81+ %{buildroot_lib} \
82+ %{buildroot_bin} \
83+ %{buildroot_sbin} \
84+ %{buildroot_unit} \
85+ %{buildroot_run}/riak \
86+ %{buildroot}%{_localstatedir}/lib/riak \
87+ %{buildroot}%{_localstatedir}/log/riak
7888
7989cp -R %{relpath}/lib %{buildroot_lib}
8090cp -R %{relpath}/erts-* %{buildroot_lib}
8191cp -R %{relpath}/releases %{buildroot_lib}
8292cp -R %{relpath}/share %{buildroot_lib}
93+ cp rel/pkg/rpm/%{name}.service %{buildroot_unit}
8394
8495if [ -d %{relpath}/bin ]; then \
8596 cd %{relpath}/bin
90101cp %{relpath}/usr/sbin/riak %{buildroot}%{_sbindir}
91102cp %{relpath}/etc/riak.conf %{buildroot_etc}
92103cp %{relpath}/etc/advanced.config %{buildroot_etc}
104+ for f in riak-admin riak-repl riak-debug; do
105+ cp %{relpath}/bin/$f %{buildroot}%{_sbindir}
106+ done
107+ cp %{relpath}/usr/bin/riak %{buildroot}%{_sbindir}
93108
94109mkdir -p %{buildroot}%{_localstatedir}/lib/riak
95110cp -R %{relpath}/data/* \
96111 %{buildroot}%{_localstatedir}/lib/riak
97112
98- mkdir -p %{buildroot}%{_sysconfdir}/init.d
99- install -m755 %{relpath}/etc/init.d/init.script %{buildroot}%{_sysconfdir}/init.d/riak
100-
101113# Needed to work around check-rpaths which seems to be hardcoded into recent
102114# RPM releases
103115export QA_RPATHS=3
@@ -128,26 +140,32 @@ if [ `which selinuxenabled > /dev/null 2>&1` ] ; then
128140 selinuxenabled && find %{_localstatedir}/lib/riak -name "*.so" -exec chcon -t textrel_shlib_t {} \;
129141fi
130142
143+ %systemd_post %{name}.service
144+
131145%preun
132- # Pre-uninstall script
146+ %systemd_preun %{name}.service
133147
134148# Only on uninstall, not upgrades
135149if [ "$1" = 0 ] ; then
136150 /sbin/service riak stop > /dev/null 2>&1
137151fi
138152exit 0
139153
154+ %postun
155+ %systemd_postun %{name}.service
140156
141157# Man pages are optional and might be missing, read from file
142158%files
159+ %defattr(-,root,root)
160+ %{_libdir}/*
161+ %{_unitdir}/%{name}.service
162+ %{_sbindir}/*
163+
143164%defattr(-,riak,riak)
165+ %{_sysconfdir}/riak
144166%{_localstatedir}/lib/riak
145167%{_localstatedir}/log/riak
146- %{_libdir}/*
147- %defattr(-,root,root)
148- %{_sysconfdir}/init.d/riak
149- %dir %{_sysconfdir}/riak
150- /usr/sbin/*
168+
151169%config(noreplace) %{_sysconfdir}/riak/*
152170
153171%clean
0 commit comments