From 87613ed59058b51238c7b5212b7a9d75443b7ad4 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sat, 4 Jun 2022 01:40:59 +0300 Subject: [PATCH] Add ISA-L into RPM specs --- debian/control | 2 +- debian/libisal.pc | 11 +++++++++++ debian/vitastor.Dockerfile | 1 + rpm/vitastor-el7.Dockerfile | 3 ++- rpm/vitastor-el7.spec | 2 ++ rpm/vitastor-el8.Dockerfile | 4 +++- rpm/vitastor-el8.spec | 2 ++ src/CMakeLists.txt | 2 +- 8 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 debian/libisal.pc diff --git a/debian/control b/debian/control index 45c775f0..eaddcadb 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: vitastor Section: admin Priority: optional Maintainer: Vitaliy Filippov -Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), linux-libc-dev, libgoogle-perftools-dev, libjerasure-dev, libgf-complete-dev, libibverbs-dev, libisal-dev, pkgconf +Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), linux-libc-dev, libgoogle-perftools-dev, libjerasure-dev, libgf-complete-dev, libibverbs-dev, libisal-dev Standards-Version: 4.5.0 Homepage: https://vitastor.io/ Rules-Requires-Root: no diff --git a/debian/libisal.pc b/debian/libisal.pc new file mode 100644 index 00000000..68bcd795 --- /dev/null +++ b/debian/libisal.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${prefix}/lib/x86_64-linux-gnu +includedir=${prefix}/include + +Name: libisal +Description: Library for storage systems +Version: 2.30.0 +Libs: -L${libdir} -lisal +Libs.private: +Cflags: -I${includedir} diff --git a/debian/vitastor.Dockerfile b/debian/vitastor.Dockerfile index d1b1214e..3bdf6070 100644 --- a/debian/vitastor.Dockerfile +++ b/debian/vitastor.Dockerfile @@ -26,6 +26,7 @@ RUN apt-get update && apt-get -y install libjerasure-dev cmake libibverbs-dev li ADD . /root/vitastor RUN set -e -x; \ + [ -e /usr/lib/x86_64-linux-gnu/pkgconfig/libisal.pc ] || cp /root/vitastor/debian/libisal.pc /usr/lib/x86_64-linux-gnu/pkgconfig; \ mkdir -p /root/fio-build/; \ cd /root/fio-build/; \ rm -rf /root/fio-build/*; \ diff --git a/rpm/vitastor-el7.Dockerfile b/rpm/vitastor-el7.Dockerfile index 7ede2563..ac8ed2c2 100644 --- a/rpm/vitastor-el7.Dockerfile +++ b/rpm/vitastor-el7.Dockerfile @@ -9,7 +9,8 @@ WORKDIR /root RUN rm -f /etc/yum.repos.d/CentOS-Media.repo RUN yum -y --enablerepo=extras install centos-release-scl epel-release yum-utils rpm-build RUN yum -y install https://vitastor.io/rpms/centos/7/vitastor-release-1.0-1.el7.noarch.rpm -RUN yum -y install devtoolset-9-gcc-c++ devtoolset-9-libatomic-devel gcc make cmake gperftools-devel fio rh-nodejs12 jerasure-devel gf-complete-devel rdma-core-devel +RUN yum -y install devtoolset-9-gcc-c++ devtoolset-9-libatomic-devel gcc make cmake gperftools-devel \ + fio rh-nodejs12 jerasure-devel libisa-l-devel gf-complete-devel rdma-core-devel RUN yumdownloader --disablerepo=centos-sclo-rh --source fio RUN rpm --nomd5 -i fio*.src.rpm RUN rm -f /etc/yum.repos.d/CentOS-Media.repo diff --git a/rpm/vitastor-el7.spec b/rpm/vitastor-el7.spec index cb0d1299..f72d280c 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -13,6 +13,7 @@ BuildRequires: devtoolset-9-gcc-c++ BuildRequires: rh-nodejs12 BuildRequires: rh-nodejs12-npm BuildRequires: jerasure-devel +BuildRequires: libisa-l-devel BuildRequires: gf-complete-devel BuildRequires: libibverbs-devel BuildRequires: cmake @@ -32,6 +33,7 @@ size with configurable redundancy (replication or erasure codes/XOR). %package -n vitastor-osd Summary: Vitastor - OSD Requires: libJerasure2 +Requires: libisa-l Requires: liburing >= 0.6 Requires: vitastor-client = %{version}-%{release} diff --git a/rpm/vitastor-el8.Dockerfile b/rpm/vitastor-el8.Dockerfile index cef8d5de..35c3097b 100644 --- a/rpm/vitastor-el8.Dockerfile +++ b/rpm/vitastor-el8.Dockerfile @@ -6,10 +6,12 @@ FROM centos:8 WORKDIR /root RUN rm -f /etc/yum.repos.d/CentOS-Media.repo +RUN sed -i 's/^mirrorlist=/#mirrorlist=/; s!#baseurl=http://mirror.centos.org/!baseurl=http://vault.centos.org/!' /etc/yum.repos.d/*.repo RUN dnf -y install centos-release-advanced-virtualization epel-release dnf-plugins-core +RUN sed -i 's/^mirrorlist=/#mirrorlist=/; s!#baseurl=.*!baseurl=http://vault.centos.org/centos/8.4.2105/virt/$basearch/$avdir/!; s!^baseurl=.*Source/.*!baseurl=http://vault.centos.org/centos/8.4.2105/virt/Source/advanced-virtualization/!' /etc/yum.repos.d/CentOS-Advanced-Virtualization.repo RUN yum -y install https://vitastor.io/rpms/centos/8/vitastor-release-1.0-1.el8.noarch.rpm RUN dnf -y install gcc-toolset-9 gcc-toolset-9-gcc-c++ gperftools-devel \ - fio nodejs rpm-build jerasure-devel gf-complete-devel libibverbs-devel libarchive cmake + fio nodejs rpm-build jerasure-devel libisa-l-devel gf-complete-devel libibverbs-devel libarchive cmake RUN dnf download --source fio RUN rpm --nomd5 -i fio*.src.rpm RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo=powertools --spec fio.spec diff --git a/rpm/vitastor-el8.spec b/rpm/vitastor-el8.spec index 41c8c0c1..ba214fc6 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -12,6 +12,7 @@ BuildRequires: gperftools-devel BuildRequires: gcc-toolset-9-gcc-c++ BuildRequires: nodejs >= 10 BuildRequires: jerasure-devel +BuildRequires: libisa-l-devel BuildRequires: gf-complete-devel BuildRequires: libibverbs-devel BuildRequires: cmake @@ -31,6 +32,7 @@ size with configurable redundancy (replication or erasure codes/XOR). %package -n vitastor-osd Summary: Vitastor - OSD Requires: libJerasure2 +Requires: libisa-l Requires: liburing >= 0.6 Requires: vitastor-client = %{version}-%{release} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8c77e09d..ce3084c1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -50,7 +50,7 @@ pkg_check_modules(IBVERBS libibverbs) if (IBVERBS_LIBRARIES) add_definitions(-DWITH_RDMA) endif (IBVERBS_LIBRARIES) -pkg_check_modules(ISAL REQUIRED libisal) +pkg_check_modules(ISAL libisal) if (ISAL_LIBRARIES) add_definitions(-DWITH_ISAL) endif (ISAL_LIBRARIES)