vitastor/rpm/vitastor-el8.spec

170 lines
4.2 KiB
Plaintext
Raw Permalink Normal View History

2020-11-07 01:51:14 +03:00
Name: vitastor
Version: 1.6.1
Release: 1%{?dist}
2020-11-07 01:51:14 +03:00
Summary: Vitastor, a fast software-defined clustered block storage
License: Vitastor Network Public License 1.1
2020-11-07 01:51:14 +03:00
URL: https://vitastor.io/
Source0: vitastor-1.6.1.el8.tar.gz
2020-11-07 01:51:14 +03:00
BuildRequires: liburing-devel >= 0.6
BuildRequires: gperftools-devel
2020-11-08 01:53:17 +03:00
BuildRequires: gcc-toolset-9-gcc-c++
BuildRequires: nodejs >= 10
BuildRequires: jerasure-devel
2022-06-04 01:40:59 +03:00
BuildRequires: libisa-l-devel
BuildRequires: gf-complete-devel
BuildRequires: libibverbs-devel
2021-02-26 01:02:45 +03:00
BuildRequires: cmake
BuildRequires: libnl3-devel
2021-11-14 23:31:41 +03:00
Requires: vitastor-osd = %{version}-%{release}
Requires: vitastor-mon = %{version}-%{release}
Requires: vitastor-client = %{version}-%{release}
Requires: vitastor-client-devel = %{version}-%{release}
Requires: vitastor-fio = %{version}-%{release}
2020-11-07 01:51:14 +03:00
%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).
2021-11-14 23:31:41 +03:00
%package -n vitastor-osd
Summary: Vitastor - OSD
Requires: libJerasure2
2022-06-04 01:40:59 +03:00
Requires: libisa-l
2021-11-14 23:31:41 +03:00
Requires: liburing >= 0.6
2023-01-25 01:43:42 +03:00
Requires: liburing < 2
2021-11-14 23:31:41 +03:00
Requires: vitastor-client = %{version}-%{release}
Requires: util-linux
Requires: parted
2021-11-14 23:31:41 +03:00
%description -n vitastor-osd
Vitastor object storage daemon, i.e. server program that stores data.
%package -n vitastor-mon
Summary: Vitastor - monitor
Requires: nodejs >= 10
Requires: lpsolve
%description -n vitastor-mon
Vitastor monitor, i.e. server program responsible for watching cluster state and
scheduling cluster-level operations.
%package -n vitastor-client
Summary: Vitastor - client
Requires: liburing >= 0.6
2023-01-25 01:43:42 +03:00
Requires: liburing < 2
2021-11-14 23:31:41 +03:00
%description -n vitastor-client
Vitastor client library and command-line interface.
%package -n vitastor-client-devel
Summary: Vitastor - development files
Group: Development/Libraries
Requires: vitastor-client = %{version}-%{release}
%description -n vitastor-client-devel
Vitastor library headers for development.
%package -n vitastor-fio
Summary: Vitastor - fio drivers
Group: Development/Libraries
Requires: vitastor-client = %{version}-%{release}
Requires: fio = 3.7-3.el8
%description -n vitastor-fio
Vitastor fio drivers for benchmarking.
2020-11-07 01:51:14 +03:00
%prep
%setup -q
%build
2020-11-08 01:53:17 +03:00
. /opt/rh/gcc-toolset-9/enable
2021-12-01 23:41:46 +03:00
%cmake .
2021-02-26 01:02:45 +03:00
%make_build
2020-11-07 01:51:14 +03:00
%install
rm -rf $RPM_BUILD_ROOT
2021-02-26 01:02:45 +03:00
%make_install
2020-11-07 01:51:14 +03:00
cd mon
2024-04-16 02:38:32 +03:00
npm install --production
2020-11-07 01:51:14 +03:00
cd ..
2020-11-10 23:40:56 +03:00
mkdir -p %buildroot/usr/lib/vitastor
cp -r mon %buildroot/usr/lib/vitastor
mkdir -p %buildroot/lib/systemd/system
cp mon/vitastor.target mon/vitastor-mon.service mon/vitastor-osd@.service %buildroot/lib/systemd/system
mkdir -p %buildroot/lib/udev/rules.d
cp mon/90-vitastor.rules %buildroot/lib/udev/rules.d
2020-11-07 01:51:14 +03:00
%files
2021-11-15 00:00:02 +03:00
%doc GPL-2.0.txt VNPL-1.1.txt README.md README-ru.md
2021-11-14 23:31:41 +03:00
%files -n vitastor-osd
%_bindir/vitastor-osd
%_bindir/vitastor-disk
2020-11-07 01:51:14 +03:00
%_bindir/vitastor-dump-journal
/lib/systemd/system/vitastor-osd@.service
/lib/systemd/system/vitastor.target
/lib/udev/rules.d/90-vitastor.rules
2021-11-14 23:31:41 +03:00
%pre -n vitastor-osd
groupadd -r -f vitastor 2>/dev/null ||:
useradd -r -g vitastor -s /sbin/nologin -c "Vitastor daemons" -M -d /nonexistent vitastor 2>/dev/null ||:
install -o vitastor -g vitastor -d /var/log/vitastor
mkdir -p /etc/vitastor
2021-11-14 23:31:41 +03:00
%files -n vitastor-mon
/usr/lib/vitastor/mon
/lib/systemd/system/vitastor-mon.service
%pre -n vitastor-mon
groupadd -r -f vitastor 2>/dev/null ||:
useradd -r -g vitastor -s /sbin/nologin -c "Vitastor daemons" -M -d /nonexistent vitastor 2>/dev/null ||:
mkdir -p /etc/vitastor
2021-11-14 23:31:41 +03:00
%files -n vitastor-client
2020-11-07 01:51:14 +03:00
%_bindir/vitastor-nbd
%_bindir/vitastor-nfs
2021-09-26 00:52:05 +03:00
%_bindir/vitastor-cli
2020-11-07 01:51:14 +03:00
%_bindir/vitastor-rm
2024-03-16 14:01:48 +03:00
%_bindir/vitastor-kv
%_bindir/vitastor-kv-stress
2021-11-13 11:57:05 +03:00
%_bindir/vita
%_libdir/libvitastor_blk.so*
%_libdir/libvitastor_client.so*
2024-03-16 14:01:48 +03:00
%_libdir/libvitastor_kv.so*
2021-11-14 23:31:41 +03:00
%files -n vitastor-client-devel
%_includedir/vitastor_c.h
2021-11-15 00:37:27 +03:00
%_libdir/pkgconfig
2021-11-14 23:31:41 +03:00
%files -n vitastor-fio
%_libdir/libfio_vitastor.so
%_libdir/libfio_vitastor_blk.so
%_libdir/libfio_vitastor_sec.so
2020-11-07 01:51:14 +03:00
%changelog