Build with jerasure, split some build scripts
parent
322a38a144
commit
9d80bd2d98
|
@ -1,3 +1,9 @@
|
||||||
|
vitastor (0.5.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Add jerasure support
|
||||||
|
|
||||||
|
-- Vitaliy Filippov <vitalif@yourcmc.ru> Sat, 05 Dec 2020 17:02:26 +0300
|
||||||
|
|
||||||
vitastor (0.5-1) unstable; urgency=medium
|
vitastor (0.5-1) unstable; urgency=medium
|
||||||
|
|
||||||
* First packaging for Debian
|
* First packaging for Debian
|
||||||
|
|
|
@ -2,14 +2,14 @@ Source: vitastor
|
||||||
Section: admin
|
Section: admin
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Vitaliy Filippov <vitalif@yourcmc.ru>
|
Maintainer: Vitaliy Filippov <vitalif@yourcmc.ru>
|
||||||
Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), linux-libc-dev, libgoogle-perftools-dev
|
Build-Depends: debhelper, liburing-dev (>= 0.6), g++ (>= 8), libstdc++6 (>= 8), linux-libc-dev, libgoogle-perftools-dev, libjerasure-dev, libgf-complete-dev
|
||||||
Standards-Version: 4.5.0
|
Standards-Version: 4.5.0
|
||||||
Homepage: https://vitastor.io/
|
Homepage: https://vitastor.io/
|
||||||
Rules-Requires-Root: no
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
Package: vitastor
|
Package: vitastor
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, fio (= ${dep:fio}), qemu (= ${dep:qemu}), nodejs (>= 12), node-sprintf-js, node-ws (>= 7)
|
Depends: ${shlibs:Depends}, ${misc:Depends}, fio (= ${dep:fio}), qemu (= ${dep:qemu}), nodejs (>= 12), node-sprintf-js, node-ws (>= 7), libjerasure2
|
||||||
Description: Vitastor, a fast software-defined clustered block storage
|
Description: Vitastor, a fast software-defined clustered block storage
|
||||||
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
||||||
architecturally similar to Ceph which means strong consistency, primary-replication,
|
architecturally similar to Ceph which means strong consistency, primary-replication,
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
# Build patched QEMU for Debian Buster or Bullseye/Sid inside a container
|
||||||
|
# cd ..; podman build --build-arg REL=bullseye -v `pwd`/build:/root/build -f debian/patched-qemu.Dockerfile .
|
||||||
|
|
||||||
|
ARG REL=bullseye
|
||||||
|
|
||||||
|
FROM debian:$REL
|
||||||
|
|
||||||
|
# again, it doesn't work otherwise
|
||||||
|
ARG REL=bullseye
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
|
||||||
|
RUN if [ "$REL" = "buster" ]; then \
|
||||||
|
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list; \
|
||||||
|
echo >> /etc/apt/preferences; \
|
||||||
|
echo 'Package: *' >> /etc/apt/preferences; \
|
||||||
|
echo 'Pin: release a=buster-backports' >> /etc/apt/preferences; \
|
||||||
|
echo 'Pin-Priority: 500' >> /etc/apt/preferences; \
|
||||||
|
fi; \
|
||||||
|
grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
||||||
|
echo 'APT::Install-Recommends false;' >> /etc/apt/apt.conf; \
|
||||||
|
echo 'APT::Install-Suggests false;' >> /etc/apt/apt.conf
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get -y install qemu fio liburing1 liburing-dev libgoogle-perftools-dev devscripts
|
||||||
|
RUN apt-get -y build-dep qemu
|
||||||
|
RUN apt-get -y build-dep fio
|
||||||
|
RUN apt-get --download-only source qemu
|
||||||
|
RUN apt-get --download-only source fio
|
||||||
|
|
||||||
|
ADD qemu-5.0-vitastor.patch qemu-5.1-vitastor.patch /root/vitastor/
|
||||||
|
RUN set -e; \
|
||||||
|
mkdir -p /root/build/qemu-$REL; \
|
||||||
|
rm -rf /root/build/qemu-$REL/*; \
|
||||||
|
cd /root/build/qemu-$REL; \
|
||||||
|
dpkg-source -x /root/qemu*.dsc; \
|
||||||
|
if [ -d /root/build/qemu-$REL/qemu-5.0 ]; then \
|
||||||
|
cp /root/vitastor/qemu-5.0-vitastor.patch /root/build/qemu-$REL/qemu-5.0/debian/patches; \
|
||||||
|
echo qemu-5.0-vitastor.patch >> /root/build/qemu-$REL/qemu-5.0/debian/patches/series; \
|
||||||
|
else \
|
||||||
|
cp /root/vitastor/qemu-5.1-vitastor.patch /root/build/qemu-$REL/qemu-*/debian/patches; \
|
||||||
|
P=`ls -d /root/build/qemu-$REL/qemu-*/debian/patches`; \
|
||||||
|
echo qemu-5.1-vitastor.patch >> $P/series; \
|
||||||
|
fi; \
|
||||||
|
cd /root/build/qemu-$REL/qemu-*/; \
|
||||||
|
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)(~bpo[\d\+]*)?\).*$/$1/')+vitastor1; \
|
||||||
|
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v $V 'Plug Vitastor block driver'; \
|
||||||
|
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
||||||
|
rm -rf /root/build/qemu-$REL/qemu-*/
|
|
@ -1,80 +0,0 @@
|
||||||
# Build packages for Debian 10 inside a container
|
|
||||||
# cd ..; podman build -t vitastor-buster -v `pwd`/build:/root/build -f debian/vitastor-buster.Dockerfile .
|
|
||||||
|
|
||||||
FROM debian:buster
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
|
|
||||||
RUN echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list; \
|
|
||||||
grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
|
||||||
echo 'APT::Install-Recommends false;' > /etc/apt/apt.conf
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get -t buster-backports -y install qemu fio liburing1 liburing-dev libgoogle-perftools-dev devscripts
|
|
||||||
RUN apt-get -t buster-backports -y build-dep qemu
|
|
||||||
RUN apt-get -y build-dep fio
|
|
||||||
RUN apt-get -t buster-backports --download-only source qemu-kvm
|
|
||||||
RUN apt-get --download-only source fio
|
|
||||||
|
|
||||||
ADD qemu-5.0-vitastor.patch qemu-5.1-vitastor.patch /root/vitastor/
|
|
||||||
RUN set -e; \
|
|
||||||
mkdir -p /root/build/qemu-buster; \
|
|
||||||
rm -rf /root/build/qemu-buster/*; \
|
|
||||||
cd /root/build/qemu-buster; \
|
|
||||||
dpkg-source -x /root/qemu*.dsc; \
|
|
||||||
if [ -d /root/build/qemu-buster/qemu-5.0 ]; then \
|
|
||||||
cp /root/vitastor/qemu-5.0-vitastor.patch /root/build/qemu-buster/qemu-5.0/debian/patches; \
|
|
||||||
echo qemu-5.0-vitastor.patch >> /root/build/qemu-buster/qemu-5.0/debian/patches/series; \
|
|
||||||
else \
|
|
||||||
cp /root/vitastor/qemu-5.1-vitastor.patch /root/build/qemu-buster/qemu-*/debian/patches; \
|
|
||||||
echo qemu-5.1-vitastor.patch >> /root/build/qemu-buster/qemu-*/debian/patches/series; \
|
|
||||||
fi; \
|
|
||||||
cd /root/build/qemu-buster/qemu-*/; \
|
|
||||||
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)(~bpo[\d\+]*)\).*$/$1/')+vitastor1; \
|
|
||||||
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D buster -v $V 'Plug Vitastor block driver'; \
|
|
||||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
|
||||||
rm -rf /root/build/qemu-buster/qemu-*/
|
|
||||||
|
|
||||||
RUN cd /root/build/qemu-buster && apt-get -y -t buster-backports install ./qemu-system-data*.deb ./qemu-system-common_*.deb ./qemu-system-x86_*.deb ./qemu_*.deb
|
|
||||||
|
|
||||||
ADD . /root/vitastor
|
|
||||||
RUN set -e -x; \
|
|
||||||
mkdir -p /root/fio-build/; \
|
|
||||||
cd /root/fio-build/; \
|
|
||||||
rm -rf /root/fio-build/*; \
|
|
||||||
dpkg-source -x /root/fio*.dsc; \
|
|
||||||
cd /root/build/qemu-buster/; \
|
|
||||||
rm -rf qemu*/; \
|
|
||||||
dpkg-source -x qemu*.dsc; \
|
|
||||||
cd /root/build/qemu-buster/qemu*/; \
|
|
||||||
debian/rules b/configure-stamp; \
|
|
||||||
cd b/qemu; \
|
|
||||||
make -j8 qapi; \
|
|
||||||
mkdir -p /root/build/vitastor-buster; \
|
|
||||||
rm -rf /root/build/vitastor-buster/*; \
|
|
||||||
cd /root/build/vitastor-buster; \
|
|
||||||
cp -r /root/vitastor vitastor-0.5; \
|
|
||||||
ln -s /root/build/qemu-buster/qemu-*/ vitastor-0.5/qemu; \
|
|
||||||
ln -s /root/fio-build/fio-*/ vitastor-0.5/fio; \
|
|
||||||
cd vitastor-0.5; \
|
|
||||||
FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
|
||||||
QEMU=$(head -n1 qemu/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
|
||||||
sh copy-qemu-includes.sh; \
|
|
||||||
sh copy-fio-includes.sh; \
|
|
||||||
rm qemu fio; \
|
|
||||||
mkdir -p a b debian/patches; \
|
|
||||||
mv qemu-copy b/qemu; \
|
|
||||||
mv fio-copy b/fio; \
|
|
||||||
diff -NaurpbB a b > debian/patches/qemu-fio-headers.patch || true; \
|
|
||||||
echo qemu-fio-headers.patch >> debian/patches/series; \
|
|
||||||
rm -rf a b; \
|
|
||||||
rm -rf /root/build/qemu-buster/qemu*/; \
|
|
||||||
echo "dep:fio=$FIO" > debian/substvars; \
|
|
||||||
echo "dep:qemu=$QEMU" >> debian/substvars; \
|
|
||||||
cd /root/build/vitastor-buster; \
|
|
||||||
tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.5.orig.tar.xz vitastor-0.5; \
|
|
||||||
cd vitastor-0.5; \
|
|
||||||
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
|
||||||
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D buster -v "$V""buster" "Rebuild for buster"; \
|
|
||||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
|
||||||
rm -rf /root/build/vitastor-buster/vitastor-*/
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Build packages for Debian Bullseye/Sid inside a container
|
# Build Vitastor packages for Debian Buster or Bullseye/Sid inside a container
|
||||||
# cd ..; podman build -t vitastor-bullseye -v `pwd`/build:/root/build -f debian/vitastor-bullseye.Dockerfile .
|
# cd ..; podman build --build-arg REL=bullseye -v `pwd`/build:/root/build -f debian/vitastor.Dockerfile .
|
||||||
|
|
||||||
ARG REL=bullseye
|
ARG REL=bullseye
|
||||||
|
|
||||||
|
@ -10,8 +10,16 @@ ARG REL=bullseye
|
||||||
|
|
||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
|
||||||
RUN grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
RUN if [ "$REL" = "buster" ]; then \
|
||||||
echo 'APT::Install-Recommends false;' > /etc/apt/apt.conf
|
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list; \
|
||||||
|
echo >> /etc/apt/preferences; \
|
||||||
|
echo 'Package: *' >> /etc/apt/preferences; \
|
||||||
|
echo 'Pin: release a=buster-backports' >> /etc/apt/preferences; \
|
||||||
|
echo 'Pin-Priority: 500' >> /etc/apt/preferences; \
|
||||||
|
fi; \
|
||||||
|
grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
||||||
|
echo 'APT::Install-Recommends false;' >> /etc/apt/apt.conf; \
|
||||||
|
echo 'APT::Install-Suggests false;' >> /etc/apt/apt.conf
|
||||||
|
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
RUN apt-get -y install qemu fio liburing1 liburing-dev libgoogle-perftools-dev devscripts
|
RUN apt-get -y install qemu fio liburing1 liburing-dev libgoogle-perftools-dev devscripts
|
||||||
|
@ -19,29 +27,7 @@ RUN apt-get -y build-dep qemu
|
||||||
RUN apt-get -y build-dep fio
|
RUN apt-get -y build-dep fio
|
||||||
RUN apt-get --download-only source qemu
|
RUN apt-get --download-only source qemu
|
||||||
RUN apt-get --download-only source fio
|
RUN apt-get --download-only source fio
|
||||||
|
RUN apt-get -y install libjerasure-dev
|
||||||
ADD qemu-5.0-vitastor.patch qemu-5.1-vitastor.patch /root/vitastor/
|
|
||||||
RUN set -e; \
|
|
||||||
mkdir -p /root/build/qemu-$REL; \
|
|
||||||
rm -rf /root/build/qemu-$REL/*; \
|
|
||||||
cd /root/build/qemu-$REL; \
|
|
||||||
dpkg-source -x /root/qemu*.dsc; \
|
|
||||||
if [ -d /root/build/qemu-$REL/qemu-5.0 ]; then \
|
|
||||||
cp /root/vitastor/qemu-5.0-vitastor.patch /root/build/qemu-$REL/qemu-5.0/debian/patches; \
|
|
||||||
echo qemu-5.0-vitastor.patch >> /root/build/qemu-$REL/qemu-5.0/debian/patches/series; \
|
|
||||||
else \
|
|
||||||
cp /root/vitastor/qemu-5.1-vitastor.patch /root/build/qemu-$REL/qemu-*/debian/patches; \
|
|
||||||
P=`ls -d /root/build/qemu-$REL/qemu-*/debian/patches`; \
|
|
||||||
echo qemu-5.1-vitastor.patch >> $P/series; \
|
|
||||||
fi; \
|
|
||||||
cd /root/build/qemu-$REL/qemu-*/; \
|
|
||||||
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)(~bpo[\d\+]*)?\).*$/$1/')+vitastor1; \
|
|
||||||
echo ">>> VERSION: $V"; \
|
|
||||||
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v $V 'Plug Vitastor block driver'; \
|
|
||||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
|
||||||
rm -rf /root/build/qemu-$REL/qemu-*/
|
|
||||||
|
|
||||||
RUN cd /root/build/qemu-$REL && apt-get -y install ./qemu-system-data*.deb ./qemu-system-common_*.deb ./qemu-system-x86_*.deb ./qemu_*.deb
|
|
||||||
|
|
||||||
ADD . /root/vitastor
|
ADD . /root/vitastor
|
||||||
RUN set -e -x; \
|
RUN set -e -x; \
|
||||||
|
@ -59,10 +45,10 @@ RUN set -e -x; \
|
||||||
mkdir -p /root/build/vitastor-$REL; \
|
mkdir -p /root/build/vitastor-$REL; \
|
||||||
rm -rf /root/build/vitastor-$REL/*; \
|
rm -rf /root/build/vitastor-$REL/*; \
|
||||||
cd /root/build/vitastor-$REL; \
|
cd /root/build/vitastor-$REL; \
|
||||||
cp -r /root/vitastor vitastor-0.5; \
|
cp -r /root/vitastor vitastor-0.5.1; \
|
||||||
ln -s /root/build/qemu-$REL/qemu-*/ vitastor-0.5/qemu; \
|
ln -s /root/build/qemu-$REL/qemu-*/ vitastor-0.5.1/qemu; \
|
||||||
ln -s /root/fio-build/fio-*/ vitastor-0.5/fio; \
|
ln -s /root/fio-build/fio-*/ vitastor-0.5.1/fio; \
|
||||||
cd vitastor-0.5; \
|
cd vitastor-0.5.1; \
|
||||||
FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
||||||
QEMU=$(head -n1 qemu/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
QEMU=$(head -n1 qemu/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
||||||
sh copy-qemu-includes.sh; \
|
sh copy-qemu-includes.sh; \
|
||||||
|
@ -78,8 +64,8 @@ RUN set -e -x; \
|
||||||
echo "dep:fio=$FIO" > debian/substvars; \
|
echo "dep:fio=$FIO" > debian/substvars; \
|
||||||
echo "dep:qemu=$QEMU" >> debian/substvars; \
|
echo "dep:qemu=$QEMU" >> debian/substvars; \
|
||||||
cd /root/build/vitastor-$REL; \
|
cd /root/build/vitastor-$REL; \
|
||||||
tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.5.orig.tar.xz vitastor-0.5; \
|
tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.5.1.orig.tar.xz vitastor-0.5.1; \
|
||||||
cd vitastor-0.5; \
|
cd vitastor-0.5.1; \
|
||||||
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
||||||
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v "$V""$REL" "Rebuild for $REL"; \
|
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v "$V""$REL" "Rebuild for $REL"; \
|
||||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright (c) Vitaliy Filippov, 2019+
|
// Copyright (c) Vitaliy Filippov, 2019+
|
||||||
// License: VNPL-1.0 (see README.md for details)
|
// License: VNPL-1.0 (see README.md for details)
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <jerasure/reed_sol.h>
|
#include <jerasure/reed_sol.h>
|
||||||
|
|
|
@ -48,4 +48,4 @@ FIO=`rpm -qi fio | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Ve
|
||||||
QEMU=`rpm -qi qemu qemu-kvm | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'`
|
QEMU=`rpm -qi qemu qemu-kvm | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'`
|
||||||
perl -i -pe 's/(Requires:\s*fio)([^\n]+)?/$1 = '$FIO'/' $VITASTOR/rpm/vitastor-el$EL.spec
|
perl -i -pe 's/(Requires:\s*fio)([^\n]+)?/$1 = '$FIO'/' $VITASTOR/rpm/vitastor-el$EL.spec
|
||||||
perl -i -pe 's/(Requires:\s*qemu(?:-kvm)?)([^\n]+)?/$1 = '$QEMU'/' $VITASTOR/rpm/vitastor-el$EL.spec
|
perl -i -pe 's/(Requires:\s*qemu(?:-kvm)?)([^\n]+)?/$1 = '$QEMU'/' $VITASTOR/rpm/vitastor-el$EL.spec
|
||||||
tar --transform 's#^#vitastor-0.5/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.5$(rpm --eval '%dist').tar.gz *
|
tar --transform 's#^#vitastor-0.5.1/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.5.1$(rpm --eval '%dist').tar.gz *
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Build packages for CentOS 8 inside a container
|
||||||
|
# cd ..; podman build -t qemu-el8 -v `pwd`/build:/root/build -f rpm/qemu-el8.Dockerfile .
|
||||||
|
|
||||||
|
FROM centos:8
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
|
||||||
|
RUN rm -f /etc/yum.repos.d/CentOS-Media.repo
|
||||||
|
RUN dnf -y install centos-release-advanced-virtualization epel-release dnf-plugins-core rpm-build
|
||||||
|
RUN rm -rf /var/lib/dnf/*; dnf download --disablerepo='*' --enablerepo='centos-advanced-virtualization-source' --source qemu-kvm
|
||||||
|
RUN rpm --nomd5 -i qemu*.src.rpm
|
||||||
|
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo=PowerTools --spec qemu-kvm.spec
|
||||||
|
|
||||||
|
ADD qemu-*-vitastor.patch /root/vitastor/
|
||||||
|
|
||||||
|
RUN set -e; \
|
||||||
|
mkdir -p /root/build/qemu-el8; \
|
||||||
|
rm -rf /root/build/qemu-el8/*; \
|
||||||
|
rpm --nomd5 -i /root/qemu*.src.rpm; \
|
||||||
|
cd ~/rpmbuild/SPECS; \
|
||||||
|
PN=$(grep ^Patch qemu-kvm.spec | tail -n1 | perl -pe 's/Patch(\d+).*/$1/'); \
|
||||||
|
csplit qemu-kvm.spec "/^Patch$PN/"; \
|
||||||
|
cat xx00 > qemu-kvm.spec; \
|
||||||
|
head -n 1 xx01 >> qemu-kvm.spec; \
|
||||||
|
echo "Patch$((PN+1)): qemu-4.2-vitastor.patch" >> qemu-kvm.spec; \
|
||||||
|
tail -n +2 xx01 >> qemu-kvm.spec; \
|
||||||
|
perl -i -pe 's/(^Release:\s*\d+)/$1.vitastor/' qemu-kvm.spec; \
|
||||||
|
cp /root/vitastor/qemu-4.2-vitastor.patch ~/rpmbuild/SOURCES; \
|
||||||
|
rpmbuild --nocheck -ba qemu-kvm.spec; \
|
||||||
|
cp ~/rpmbuild/RPMS/*/*qemu* /root/build/qemu-el8/; \
|
||||||
|
cp ~/rpmbuild/SRPMS/*qemu* /root/build/qemu-el8/
|
|
@ -1,5 +1,5 @@
|
||||||
--- qemu-kvm.spec 2020-11-07 22:48:46.312124920 +0000
|
--- qemu-kvm.spec 2020-12-05 13:13:54.388623517 +0000
|
||||||
+++ qemu-kvm.spec 2020-11-07 23:04:06.246772766 +0000
|
+++ qemu-kvm.spec 2020-12-05 13:13:58.728696598 +0000
|
||||||
@@ -67,7 +67,7 @@ Obsoletes: %1-rhev
|
@@ -67,7 +67,7 @@ Obsoletes: %1-rhev
|
||||||
Summary: QEMU is a machine emulator and virtualizer
|
Summary: QEMU is a machine emulator and virtualizer
|
||||||
Name: qemu-kvm
|
Name: qemu-kvm
|
||||||
|
@ -9,12 +9,21 @@
|
||||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||||
Epoch: 15
|
Epoch: 15
|
||||||
License: GPLv2 and GPLv2+ and CC-BY
|
License: GPLv2 and GPLv2+ and CC-BY
|
||||||
@@ -825,6 +825,8 @@ Patch331: kvm-Drop-bogus-IPv6-messages.p
|
@@ -825,6 +825,7 @@ Patch331: kvm-Drop-bogus-IPv6-messages.p
|
||||||
Patch333: kvm-virtiofsd-Whitelist-fchmod.patch
|
Patch333: kvm-virtiofsd-Whitelist-fchmod.patch
|
||||||
# For bz#1883869 - virtiofsd core dump in KATA Container [rhel-8.2.1.z]
|
# For bz#1883869 - virtiofsd core dump in KATA Container [rhel-8.2.1.z]
|
||||||
Patch334: kvm-virtiofsd-avoid-proc-self-fd-tempdir.patch
|
Patch334: kvm-virtiofsd-avoid-proc-self-fd-tempdir.patch
|
||||||
+# Vitastor
|
|
||||||
+Patch335: qemu-4.2-vitastor.patch
|
+Patch335: qemu-4.2-vitastor.patch
|
||||||
|
|
||||||
BuildRequires: wget
|
BuildRequires: wget
|
||||||
BuildRequires: rpm-build
|
BuildRequires: rpm-build
|
||||||
|
@@ -1192,9 +1193,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
||||||
|
%endif
|
||||||
|
--python=%{__python3} \
|
||||||
|
--target-list="%{buildarch}" \
|
||||||
|
- --block-drv-rw-whitelist=%{block_drivers_list} \
|
||||||
|
--audio-drv-list= \
|
||||||
|
- --block-drv-ro-whitelist=vmdk,vhdx,vpc,https,ssh \
|
||||||
|
--with-coroutine=ucontext \
|
||||||
|
--tls-priority=NORMAL \
|
||||||
|
--disable-bluez \
|
||||||
|
|
|
@ -6,9 +6,10 @@ FROM centos:7
|
||||||
|
|
||||||
WORKDIR /root
|
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 --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 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 gperftools-devel qemu-kvm fio rh-nodejs12
|
RUN yum -y install devtoolset-9-gcc-c++ devtoolset-9-libatomic-devel gperftools-devel qemu-kvm fio rh-nodejs12 jerasure-devel gf-complete-devel
|
||||||
RUN yumdownloader --disablerepo=centos-sclo-rh --source qemu-kvm
|
RUN yumdownloader --disablerepo=centos-sclo-rh --source qemu-kvm
|
||||||
RUN yumdownloader --disablerepo=centos-sclo-rh --source fio
|
RUN yumdownloader --disablerepo=centos-sclo-rh --source fio
|
||||||
RUN rpm --nomd5 -i qemu*.src.rpm
|
RUN rpm --nomd5 -i qemu*.src.rpm
|
||||||
|
@ -36,7 +37,7 @@ ADD . /root/vitastor
|
||||||
RUN set -e; \
|
RUN set -e; \
|
||||||
cd /root/vitastor/rpm; \
|
cd /root/vitastor/rpm; \
|
||||||
sh build-tarball.sh; \
|
sh build-tarball.sh; \
|
||||||
cp /root/vitastor-0.5.el7.tar.gz ~/rpmbuild/SOURCES; \
|
cp /root/vitastor-0.5.1.el7.tar.gz ~/rpmbuild/SOURCES; \
|
||||||
cp vitastor-el7.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
cp vitastor-el7.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
||||||
cd ~/rpmbuild/SPECS/; \
|
cd ~/rpmbuild/SPECS/; \
|
||||||
rpmbuild -ba vitastor.spec; \
|
rpmbuild -ba vitastor.spec; \
|
||||||
|
|
|
@ -1,22 +1,25 @@
|
||||||
Name: vitastor
|
Name: vitastor
|
||||||
Version: 0.5
|
Version: 0.5.1
|
||||||
Release: 2%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Vitastor, a fast software-defined clustered block storage
|
Summary: Vitastor, a fast software-defined clustered block storage
|
||||||
|
|
||||||
License: Vitastor Network Public License 1.0
|
License: Vitastor Network Public License 1.0
|
||||||
URL: https://vitastor.io/
|
URL: https://vitastor.io/
|
||||||
Source0: vitastor-0.5.el7.tar.gz
|
Source0: vitastor-0.5.1.el7.tar.gz
|
||||||
|
|
||||||
BuildRequires: liburing-devel >= 0.6
|
BuildRequires: liburing-devel >= 0.6
|
||||||
BuildRequires: gperftools-devel
|
BuildRequires: gperftools-devel
|
||||||
BuildRequires: devtoolset-9-gcc-c++
|
BuildRequires: devtoolset-9-gcc-c++
|
||||||
BuildRequires: rh-nodejs12
|
BuildRequires: rh-nodejs12
|
||||||
BuildRequires: rh-nodejs12-npm
|
BuildRequires: rh-nodejs12-npm
|
||||||
|
BuildRequires: jerasure-devel
|
||||||
|
BuildRequires: gf-complete-devel
|
||||||
Requires: fio = 3.7-1.el7
|
Requires: fio = 3.7-1.el7
|
||||||
Requires: qemu-kvm = 2.0.0-1.el7.6
|
Requires: qemu-kvm = 2.0.0-1.el7.6
|
||||||
Requires: rh-nodejs12
|
Requires: rh-nodejs12
|
||||||
Requires: rh-nodejs12-npm
|
Requires: rh-nodejs12-npm
|
||||||
Requires: liburing >= 0.6
|
Requires: liburing >= 0.6
|
||||||
|
Requires: libJerasure2
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
||||||
|
|
|
@ -7,13 +7,14 @@ WORKDIR /root
|
||||||
|
|
||||||
RUN rm -f /etc/yum.repos.d/CentOS-Media.repo
|
RUN rm -f /etc/yum.repos.d/CentOS-Media.repo
|
||||||
RUN dnf -y install centos-release-advanced-virtualization epel-release dnf-plugins-core
|
RUN dnf -y install centos-release-advanced-virtualization epel-release dnf-plugins-core
|
||||||
RUN dnf --enablerepo='centos-advanced-virtualization' -y install gcc-toolset-9 gcc-toolset-9-gcc-c++ gperftools-devel qemu-kvm fio nodejs rpm-build
|
RUN yum -y install https://vitastor.io/rpms/centos/8/vitastor-release-1.0-1.el8.noarch.rpm
|
||||||
RUN rm -rf /var/lib/dnf/*; dnf download --disablerepo='*' --enablerepo='centos-advanced-virtualization-source' --source qemu-kvm
|
RUN dnf --enablerepo='centos-advanced-virtualization' -y install gcc-toolset-9 gcc-toolset-9-gcc-c++ gperftools-devel qemu-kvm fio nodejs rpm-build jerasure-devel gf-complete-devel
|
||||||
|
RUN rm -rf /var/lib/dnf/*; dnf download --disablerepo='*' --enablerepo='vitastor' --source qemu-kvm
|
||||||
RUN dnf download --source fio
|
RUN dnf download --source fio
|
||||||
RUN rpm --nomd5 -i qemu*.src.rpm
|
RUN rpm --nomd5 -i qemu*.src.rpm
|
||||||
RUN rpm --nomd5 -i fio*.src.rpm
|
RUN rpm --nomd5 -i fio*.src.rpm
|
||||||
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo='*' --spec qemu-kvm.spec
|
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo=PowerTools --spec qemu-kvm.spec
|
||||||
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo='*' --spec fio.spec
|
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --enablerepo=PowerTools --spec fio.spec
|
||||||
|
|
||||||
ADD https://vitastor.io/rpms/liburing-el7/liburing-0.7-2.el7.src.rpm /root
|
ADD https://vitastor.io/rpms/liburing-el7/liburing-0.7-2.el7.src.rpm /root
|
||||||
|
|
||||||
|
@ -29,33 +30,12 @@ RUN set -e; \
|
||||||
|
|
||||||
RUN rpm -i `ls /root/build/liburing-el7/liburing-*.x86_64.rpm | grep -v debug`
|
RUN rpm -i `ls /root/build/liburing-el7/liburing-*.x86_64.rpm | grep -v debug`
|
||||||
|
|
||||||
ADD qemu-*-vitastor.patch /root/vitastor/
|
|
||||||
|
|
||||||
RUN set -e; \
|
|
||||||
mkdir -p /root/build/qemu-el8; \
|
|
||||||
rm -rf /root/build/qemu-el8/*; \
|
|
||||||
rpm --nomd5 -i /root/qemu*.src.rpm; \
|
|
||||||
cd ~/rpmbuild/SPECS; \
|
|
||||||
PN=$(grep ^Patch qemu-kvm.spec | tail -n1 | perl -pe 's/Patch(\d+).*/$1/'); \
|
|
||||||
csplit qemu-kvm.spec "/^Patch$PN/"; \
|
|
||||||
cat xx00 > qemu-kvm.spec; \
|
|
||||||
head -n 1 xx01 >> qemu-kvm.spec; \
|
|
||||||
echo "Patch$((PN+1)): qemu-4.2-vitastor.patch" >> qemu-kvm.spec; \
|
|
||||||
tail -n +2 xx01 >> qemu-kvm.spec; \
|
|
||||||
perl -i -pe 's/(^Release:\s*\d+)/$1.vitastor/' qemu-kvm.spec; \
|
|
||||||
cp /root/vitastor/qemu-4.2-vitastor.patch ~/rpmbuild/SOURCES; \
|
|
||||||
rpmbuild --nocheck -ba qemu-kvm.spec; \
|
|
||||||
cp ~/rpmbuild/RPMS/*/*qemu* /root/build/qemu-el8/; \
|
|
||||||
cp ~/rpmbuild/SRPMS/*qemu* /root/build/qemu-el8/
|
|
||||||
|
|
||||||
RUN cd /root/build/qemu-el8; dnf -y install `ls qemu*.rpm | grep -vP 'debug|guest|tests|src'`
|
|
||||||
|
|
||||||
ADD . /root/vitastor
|
ADD . /root/vitastor
|
||||||
|
|
||||||
RUN set -e; \
|
RUN set -e; \
|
||||||
cd /root/vitastor/rpm; \
|
cd /root/vitastor/rpm; \
|
||||||
sh build-tarball.sh; \
|
sh build-tarball.sh; \
|
||||||
cp /root/vitastor-0.5.el8.tar.gz ~/rpmbuild/SOURCES; \
|
cp /root/vitastor-0.5.1.el8.tar.gz ~/rpmbuild/SOURCES; \
|
||||||
cp vitastor-el8.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
cp vitastor-el8.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
||||||
cd ~/rpmbuild/SPECS/; \
|
cd ~/rpmbuild/SPECS/; \
|
||||||
rpmbuild -ba vitastor.spec; \
|
rpmbuild -ba vitastor.spec; \
|
||||||
|
|
|
@ -1,20 +1,23 @@
|
||||||
Name: vitastor
|
Name: vitastor
|
||||||
Version: 0.5
|
Version: 0.5.1
|
||||||
Release: 2%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Vitastor, a fast software-defined clustered block storage
|
Summary: Vitastor, a fast software-defined clustered block storage
|
||||||
|
|
||||||
License: Vitastor Network Public License 1.0
|
License: Vitastor Network Public License 1.0
|
||||||
URL: https://vitastor.io/
|
URL: https://vitastor.io/
|
||||||
Source0: vitastor-0.5.el8.tar.gz
|
Source0: vitastor-0.5.1.el8.tar.gz
|
||||||
|
|
||||||
BuildRequires: liburing-devel >= 0.6
|
BuildRequires: liburing-devel >= 0.6
|
||||||
BuildRequires: gperftools-devel
|
BuildRequires: gperftools-devel
|
||||||
BuildRequires: gcc-toolset-9-gcc-c++
|
BuildRequires: gcc-toolset-9-gcc-c++
|
||||||
BuildRequires: nodejs >= 10
|
BuildRequires: nodejs >= 10
|
||||||
|
BuildRequires: jerasure-devel
|
||||||
|
BuildRequires: gf-complete-devel
|
||||||
Requires: fio = 3.7-3.el8
|
Requires: fio = 3.7-3.el8
|
||||||
Requires: qemu-kvm = 4.2.0-29.el8.6
|
Requires: qemu-kvm = 4.2.0-29.el8.6
|
||||||
Requires: nodejs >= 10
|
Requires: nodejs >= 10
|
||||||
Requires: liburing >= 0.6
|
Requires: liburing >= 0.6
|
||||||
|
Requires: libJerasure2
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
||||||
|
|
Loading…
Reference in New Issue