%global _unpackaged_files_terminate_build 1 Name: vitastor Version: 0.6.4 Release: alt1 Summary: Vitastor, a fast software-defined clustered block storage Group: System/Base License: VNPL-1.1 Url: https://vitastor.io/ Source0: %name-%version.tar Source2: cpp-btree.tar Source3: json11.tar Patch: %name-%version.patch BuildRequires(pre): rpm-macros-cmake BuildRequires: cmake gcc-c++ BuildRequires: pkgconfig(liburing) BuildRequires: libgperftools-devel BuildRequires: node >= 10 BuildRequires: libjerasure-devel BuildRequires: libgf-complete-devel BuildRequires: rdma-core-devel %description Vitastor is a small, simple and fast clustered block storage (storage for VM drives), architecturally similar to Ceph which means strong consistency, primary-replication, symmetric clustering and automatic data distribution over any number of drives of any size with configurable redundancy (replication or erasure codes/XOR). %package common Summary: Vitastor SDS Common Group: System/Base BuildArch: noarch %description common Common utilities for Vitastor. %package mon Summary: Vitastor SDS monitor service Group: System/Base BuildArch: noarch Requires: node Requires: lp_solve Requires: %name-common = %EVR %description mon Vitastor SDS monitor service. Monitor is a separate daemon that watches cluster state and handles failures. %package osd Summary: Vitastor SDS Object Storage Daemon Group: System/Base Requires: %name-common = %EVR %description osd Vitastor SDS Object Storage Daemon is a process that stores data and serves read/write requests. %package nbd Summary: Vitastor SDS NBD proxy Group: System/Base %description nbd Vitastor SDS NBD proxy for kernel mounts. %package -n lib%name-client Group: System/Libraries Summary: Vitastor SDS user-space client library License: VNPL-1.1 OR GPL-2.0+ %description -n lib%name-client Vitastor SDS user-space client library. %package -n lib%name-client-devel Group: Development/C++ Summary: Vitastor SDS headers of client library License: VNPL-1.1 OR GPL-2.0+ %description -n lib%name-client-devel This package contains libraries and headers needed to develop programs that use Vitastor SDS client library. %package -n lib%name-blk Group: System/Libraries Summary: Vitastor SDS blk library %description -n lib%name-blk Vitastor SDS blk library. %package -n lib%name-blk-devel Group: Development/C++ Summary: Vitastor SDS blk headers %description -n lib%name-blk-devel This package contains libraries and headers needed to develop programs that use Vitastor SDS blk library. %prep %setup %patch -p1 tar -xf %SOURCE2 -C cpp-btree tar -xf %SOURCE3 -C json11 %build %cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON %cmake_build %install %cmakeinstall_std mkdir -p %buildroot{%_datadir,%_localstatedir}/%name cp -r mon %buildroot%_datadir/%name %pre common groupadd -r -f %name 2>/dev/null ||: useradd -r -g %name -s /sbin/nologin -c "Vitastor daemons" -M -d %_localstatedir/%name %name 2>/dev/null ||: #%post mon #%post_service vitastor-mon #%preun mon #%preun_service vitastor-mon #%post osd #systemctl daemon-reload ||: #if [ "$1" -eq 1 ]; then # systemctl -q preset vitastor-osd@\*.service vitastor-osd.target ||: #else # systemctl try-restart vitastor-osd.target ||: #fi #%preun osd #if [ "$1" -eq 0 ]; then # systemctl --no-reload -q disable vitastor-osd@\*.service vitastor-osd.target ||: # systemctl stop vitastor-osd@\*.service vitastor-osd.target ||: #fi %files common %doc README.md README-ru.md VNPL-1.1.txt GPL-2.0.txt %attr(770,root,%name) %dir %_localstatedir/%name %files osd %_bindir/%name-osd # ? may be to utils package? %_bindir/%name-dump-journal %_bindir/%name-rm %files mon %_datadir/%name %files nbd %_bindir/%name-nbd %files -n lib%name-blk %_libdir/lib%{name}_blk.so.* %files -n lib%name-blk-devel %_libdir/lib%{name}_blk.so %files -n lib%name-client %_libdir/lib%{name}_client.so.* %files -n lib%name-client-devel %_libdir/lib%{name}_client.so %changelog * Wed May 19 2021 Alexey Shabalin 0.6.4-alt1 - 0.6.4 * Thu May 06 2021 Alexey Shabalin 0.6.3-alt1 - 0.6.3 * Mon Apr 19 2021 Alexey Shabalin 0.6.2-alt1 - 0.6.2 * Fri Mar 19 2021 Alexey Shabalin 0.5.10-alt1 - Initial build.