Use the new build method for RPM packages too
This commit is contained in:
@@ -7,22 +7,24 @@ set -e
|
|||||||
VITASTOR=$(dirname $0)
|
VITASTOR=$(dirname $0)
|
||||||
VITASTOR=$(realpath "$VITASTOR/..")
|
VITASTOR=$(realpath "$VITASTOR/..")
|
||||||
|
|
||||||
EL=$(rpm --eval '%dist')
|
REL=$(rpm --eval '%dist')
|
||||||
if [ "$EL" = ".el8" ]; then
|
REL=${REL##.}
|
||||||
|
if [ "$REL" = "el8" ]; then
|
||||||
# CentOS 8
|
# CentOS 8
|
||||||
. /opt/rh/gcc-toolset-9/enable
|
. /opt/rh/gcc-toolset-9/enable
|
||||||
elif [ "$EL" = ".el7" ]; then
|
elif [ "$REL" = "el7" ]; then
|
||||||
# CentOS 7
|
# CentOS 7
|
||||||
. /opt/rh/devtoolset-9/enable
|
. /opt/rh/devtoolset-9/enable
|
||||||
fi
|
fi
|
||||||
cd ~/rpmbuild/SPECS
|
cd ~/rpmbuild/SPECS
|
||||||
rpmbuild -bp fio.spec
|
rpmbuild -bp fio.spec
|
||||||
cd $VITASTOR
|
cd $VITASTOR
|
||||||
VER=$(grep ^Version: rpm/vitastor-el7.spec | awk '{print $2}')
|
VER=$(grep ^Version: rpm/vitastor-$REL.spec | awk '{print $2}')
|
||||||
|
rm -rf fio
|
||||||
ln -s ~/rpmbuild/BUILD/fio*/ fio
|
ln -s ~/rpmbuild/BUILD/fio*/ fio
|
||||||
sh copy-fio-includes.sh
|
sh copy-fio-includes.sh
|
||||||
rm fio
|
rm fio
|
||||||
mv fio-copy fio
|
mv fio-copy fio
|
||||||
FIO=`rpm -qi fio | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'`
|
FIO=`rpm -qi fio | 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-$REL.spec
|
||||||
tar --transform "s#^#vitastor-$VER/#" --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-$VER$(rpm --eval '%dist').tar.gz *
|
tar --transform "s#^#vitastor-$VER/#" --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-$VER.$REL.tar.gz $(ls | grep -v packages)
|
||||||
|
|||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e -x
|
||||||
|
REL=$(rpm --eval '%dist')
|
||||||
|
REL=${REL##.}
|
||||||
|
cd /root/vitastor/rpm
|
||||||
|
./build-tarball.sh
|
||||||
|
VER=$(grep ^Version: vitastor-$REL.spec | awk '{print $2}')
|
||||||
|
cp /root/vitastor-$VER.$REL.tar.gz ~/rpmbuild/SOURCES
|
||||||
|
cp vitastor-$REL.spec ~/rpmbuild/SPECS/vitastor.spec
|
||||||
|
cd ~/rpmbuild/SPECS/
|
||||||
|
rpmbuild -ba vitastor.spec
|
||||||
|
mkdir -p /root/vitastor/packages/vitastor-$REL
|
||||||
|
rm -rf /root/vitastor/packages/vitastor-$REL/*
|
||||||
|
cp ~/rpmbuild/RPMS/*/*vitastor* /root/vitastor/packages/vitastor-$REL/
|
||||||
|
cp ~/rpmbuild/SRPMS/vitastor* /root/vitastor/packages/vitastor-$REL/
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
# Build packages for CentOS 7 inside a container
|
# Build packages for CentOS 7 inside a container
|
||||||
# cd ..; podman build -t vitastor-el7 -v `pwd`/packages:/root/packages -f rpm/vitastor-el7.Dockerfile .
|
# cd ..
|
||||||
|
# docker build -t vitastor-buildenv:el7 -f rpm/vitastor-el7.Dockerfile .
|
||||||
|
# docker run --rm -v ./:/root/vitastor vitastor-buildenv:el7 /root/vitastor/rpm/vitastor-build.sh
|
||||||
|
|
||||||
# localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
|
# localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
|
||||||
|
|
||||||
FROM centos:7
|
FROM centos:7
|
||||||
@@ -7,7 +10,9 @@ FROM centos:7
|
|||||||
WORKDIR /root
|
WORKDIR /root
|
||||||
|
|
||||||
RUN rm -f /etc/yum.repos.d/CentOS-Media.repo
|
RUN rm -f /etc/yum.repos.d/CentOS-Media.repo
|
||||||
|
RUN sed -i 's/^mirrorlist=/#mirrorlist=/; s!#baseurl=http://mirror.centos.org/centos/\$releasever!baseurl=http://vault.centos.org/7.9.2009!' /etc/yum.repos.d/*.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 perl -i -pe 's!mirrorlist=!#mirrorlist=!s; s!#\s*baseurl=http://mirror.centos.org!baseurl=http://vault.centos.org!' /etc/yum.repos.d/CentOS-SCLo-scl*.repo
|
||||||
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 gcc make cmake gperftools-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 libnl3-devel
|
fio rh-nodejs12 jerasure-devel libisa-l-devel gf-complete-devel rdma-core-devel libnl3-devel
|
||||||
@@ -30,18 +35,3 @@ RUN set -e; \
|
|||||||
cp ~/rpmbuild/SRPMS/liburing* /root/packages/liburing-el7/
|
cp ~/rpmbuild/SRPMS/liburing* /root/packages/liburing-el7/
|
||||||
|
|
||||||
RUN rpm -i `ls /root/packages/liburing-el7/liburing-*.x86_64.rpm | grep -v debug`
|
RUN rpm -i `ls /root/packages/liburing-el7/liburing-*.x86_64.rpm | grep -v debug`
|
||||||
|
|
||||||
ADD . /root/vitastor
|
|
||||||
|
|
||||||
RUN set -e; \
|
|
||||||
cd /root/vitastor/rpm; \
|
|
||||||
sh build-tarball.sh; \
|
|
||||||
VER=$(grep ^Version: vitastor-el7.spec | awk '{print $2}'); \
|
|
||||||
cp /root/vitastor-$VER.el7.tar.gz ~/rpmbuild/SOURCES; \
|
|
||||||
cp vitastor-el7.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
|
||||||
cd ~/rpmbuild/SPECS/; \
|
|
||||||
rpmbuild -ba vitastor.spec; \
|
|
||||||
mkdir -p /root/packages/vitastor-el7; \
|
|
||||||
rm -rf /root/packages/vitastor-el7/*; \
|
|
||||||
cp ~/rpmbuild/RPMS/*/*vitastor* /root/packages/vitastor-el7/; \
|
|
||||||
cp ~/rpmbuild/SRPMS/vitastor* /root/packages/vitastor-el7/
|
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ Vitastor library headers for development.
|
|||||||
Summary: Vitastor - fio drivers
|
Summary: Vitastor - fio drivers
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: vitastor-client = %{version}-%{release}
|
Requires: vitastor-client = %{version}-%{release}
|
||||||
Requires: fio = 3.7-1.el7
|
Requires: fio = 3.7-2.el7
|
||||||
|
|
||||||
|
|
||||||
%description -n vitastor-fio
|
%description -n vitastor-fio
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# Build packages for CentOS 8 inside a container
|
# Build packages for CentOS 8 inside a container
|
||||||
# cd ..; podman build -t vitastor-el8 -v `pwd`/packages:/root/packages -f rpm/vitastor-el8.Dockerfile .
|
# cd ..
|
||||||
|
# docker build -t vitastor-buildenv:el8 -f rpm/vitastor-el8.Dockerfile .
|
||||||
|
# docker run --rm -v ./:/root/vitastor vitastor-buildenv:el8 /root/vitastor/rpm/vitastor-build.sh
|
||||||
|
|
||||||
FROM centos:8
|
FROM centos:8
|
||||||
|
|
||||||
@@ -29,18 +31,3 @@ RUN set -e; \
|
|||||||
cp ~/rpmbuild/SRPMS/liburing* /root/packages/liburing-el8/
|
cp ~/rpmbuild/SRPMS/liburing* /root/packages/liburing-el8/
|
||||||
|
|
||||||
RUN rpm -i `ls /root/packages/liburing-el8/liburing-*.x86_64.rpm | grep -v debug`
|
RUN rpm -i `ls /root/packages/liburing-el8/liburing-*.x86_64.rpm | grep -v debug`
|
||||||
|
|
||||||
ADD . /root/vitastor
|
|
||||||
|
|
||||||
RUN set -e; \
|
|
||||||
cd /root/vitastor/rpm; \
|
|
||||||
sh build-tarball.sh; \
|
|
||||||
VER=$(grep ^Version: vitastor-el8.spec | awk '{print $2}'); \
|
|
||||||
cp /root/vitastor-$VER.el8.tar.gz ~/rpmbuild/SOURCES; \
|
|
||||||
cp vitastor-el8.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
|
||||||
cd ~/rpmbuild/SPECS/; \
|
|
||||||
rpmbuild -ba vitastor.spec; \
|
|
||||||
mkdir -p /root/packages/vitastor-el8; \
|
|
||||||
rm -rf /root/packages/vitastor-el8/*; \
|
|
||||||
cp ~/rpmbuild/RPMS/*/*vitastor* /root/packages/vitastor-el8/; \
|
|
||||||
cp ~/rpmbuild/SRPMS/vitastor* /root/packages/vitastor-el8/
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ Vitastor library headers for development.
|
|||||||
Summary: Vitastor - fio drivers
|
Summary: Vitastor - fio drivers
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: vitastor-client = %{version}-%{release}
|
Requires: vitastor-client = %{version}-%{release}
|
||||||
Requires: fio = 3.7-3.el8
|
Requires: fio = 3.19-3.el8
|
||||||
|
|
||||||
|
|
||||||
%description -n vitastor-fio
|
%description -n vitastor-fio
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# Build packages for AlmaLinux 9 inside a container
|
# Build packages for AlmaLinux 9 inside a container
|
||||||
# cd ..; podman build -t vitastor-el9 -v `pwd`/packages:/root/packages -f rpm/vitastor-el9.Dockerfile .
|
# cd ..
|
||||||
|
# docker build -t vitastor-buildenv:el9 -f rpm/vitastor-el9.Dockerfile .
|
||||||
|
# docker run --rm -v ./:/root/vitastor vitastor-buildenv:el9 /root/vitastor/rpm/vitastor-build.sh
|
||||||
|
|
||||||
FROM almalinux:9
|
FROM almalinux:9
|
||||||
|
|
||||||
@@ -12,18 +14,3 @@ RUN dnf -y install gcc-c++ gperftools-devel fio nodejs rpm-build jerasure-devel
|
|||||||
RUN dnf download --source fio
|
RUN dnf download --source fio
|
||||||
RUN rpm --nomd5 -i fio*.src.rpm
|
RUN rpm --nomd5 -i fio*.src.rpm
|
||||||
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --spec fio.spec
|
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --spec fio.spec
|
||||||
|
|
||||||
ADD . /root/vitastor
|
|
||||||
|
|
||||||
RUN set -e; \
|
|
||||||
cd /root/vitastor/rpm; \
|
|
||||||
sh build-tarball.sh; \
|
|
||||||
VER=$(grep ^Version: vitastor-el9.spec | awk '{print $2}'); \
|
|
||||||
cp /root/vitastor-$VER.el9.tar.gz ~/rpmbuild/SOURCES; \
|
|
||||||
cp vitastor-el9.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
|
||||||
cd ~/rpmbuild/SPECS/; \
|
|
||||||
rpmbuild -ba vitastor.spec; \
|
|
||||||
mkdir -p /root/packages/vitastor-el9; \
|
|
||||||
rm -rf /root/packages/vitastor-el9/*; \
|
|
||||||
cp ~/rpmbuild/RPMS/*/*vitastor* /root/packages/vitastor-el9/; \
|
|
||||||
cp ~/rpmbuild/SRPMS/vitastor* /root/packages/vitastor-el9/
|
|
||||||
|
|||||||
Reference in New Issue
Block a user