Do not use podman and do not use build command to build packages (we are not building a docker image)
This commit is contained in:
Vendored
+2
-5
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat < vitastor.Dockerfile > ../Dockerfile
|
docker build --build-arg DISTRO=debian --build-arg REL=bookworm -t vitastor-buildenv:bookworm -f vitastor-buildenv.Dockerfile .
|
||||||
cd ..
|
docker run --rm -e REL=bookworm -v `dirname $0`/../:/root/vitastor vitastor-buildenv:bookworm /root/vitastor/debian/vitastor-build.sh
|
||||||
mkdir -p packages
|
|
||||||
sudo podman build --build-arg DISTRO=debian --build-arg REL=bookworm -v `pwd`/packages:/root/packages -f Dockerfile .
|
|
||||||
rm Dockerfile
|
|
||||||
|
|||||||
Vendored
+2
-5
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat < vitastor.Dockerfile > ../Dockerfile
|
docker build --build-arg DISTRO=debian --build-arg REL=bullseye -t vitastor-buildenv:bullseye -f vitastor-buildenv.Dockerfile .
|
||||||
cd ..
|
docker run --rm -e REL=bullseye -v `dirname $0`/../:/root/vitastor vitastor-buildenv:bullseye /root/vitastor/debian/vitastor-build.sh
|
||||||
mkdir -p packages
|
|
||||||
sudo podman build --build-arg DISTRO=debian --build-arg REL=bullseye -v `pwd`/packages:/root/packages -f Dockerfile .
|
|
||||||
rm Dockerfile
|
|
||||||
|
|||||||
Vendored
+2
-5
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat < vitastor.Dockerfile > ../Dockerfile
|
docker build --build-arg DISTRO=debian --build-arg REL=buster -t vitastor-buildenv:buster -f vitastor-buildenv.Dockerfile .
|
||||||
cd ..
|
docker run --rm -e REL=buster -v `dirname $0`/../:/root/vitastor vitastor-buildenv:buster /root/vitastor/debian/vitastor-build.sh
|
||||||
mkdir -p packages
|
|
||||||
sudo podman build --build-arg DISTRO=debian --build-arg REL=buster -v `pwd`/packages:/root/packages -f Dockerfile .
|
|
||||||
rm Dockerfile
|
|
||||||
|
|||||||
+3
-5
@@ -1,7 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Ubuntu 22.04 Jammy Jellyfish
|
||||||
|
|
||||||
cat < vitastor.Dockerfile > ../Dockerfile
|
docker build --build-arg DISTRO=ubuntu --build-arg REL=jammy -t vitastor-buildenv:jammy -f vitastor-buildenv.Dockerfile .
|
||||||
cd ..
|
docker run --rm -e REL=jammy -v `dirname $0`/../:/root/vitastor vitastor-buildenv:jammy /root/vitastor/debian/vitastor-build.sh
|
||||||
mkdir -p packages
|
|
||||||
sudo podman build --build-arg DISTRO=ubuntu --build-arg REL=jammy -v `pwd`/packages:/root/packages -f Dockerfile .
|
|
||||||
rm Dockerfile
|
|
||||||
|
|||||||
+2
-5
@@ -1,8 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 24.04 Noble Numbat
|
# 24.04 Noble Numbat
|
||||||
|
|
||||||
cat < vitastor.Dockerfile > ../Dockerfile
|
docker build --build-arg DISTRO=ubuntu --build-arg REL=noble -t vitastor-buildenv:noble -f vitastor-buildenv.Dockerfile .
|
||||||
cd ..
|
docker run --rm -e REL=noble -v `dirname $0`/../:/root/vitastor vitastor-buildenv:noble /root/vitastor/debian/vitastor-build.sh
|
||||||
mkdir -p packages
|
|
||||||
sudo podman build --build-arg DISTRO=ubuntu --build-arg REL=noble -v `pwd`/packages:/root/packages -f Dockerfile .
|
|
||||||
rm Dockerfile
|
|
||||||
|
|||||||
+59
@@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# To be ran inside buildenv docker
|
||||||
|
|
||||||
|
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/*
|
||||||
|
dpkg-source -x /root/fio*.dsc
|
||||||
|
|
||||||
|
FULLVER=`head -n1 /root/vitastor/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'`
|
||||||
|
VER=${FULLVER%%-*}
|
||||||
|
rm -rf /root/vitastor-$VER
|
||||||
|
mkdir /root/vitastor-$VER
|
||||||
|
cd /root/vitastor
|
||||||
|
cp -a $(ls | grep -v packages) /root/vitastor-$VER
|
||||||
|
|
||||||
|
rm -rf /root/vitastor/packages/vitastor-$REL
|
||||||
|
mkdir -p /root/vitastor/packages/vitastor-$REL
|
||||||
|
mv /root/vitastor-$VER /root/vitastor/packages/vitastor-$REL/
|
||||||
|
|
||||||
|
cd /root/vitastor/packages/vitastor-$REL/vitastor-$VER
|
||||||
|
|
||||||
|
rm -rf fio
|
||||||
|
ln -s /root/fio-build/fio-*/ ./fio
|
||||||
|
FIO=`head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'`
|
||||||
|
ls /usr/include/linux/raw.h || cp ./debian/raw.h /usr/include/linux/raw.h
|
||||||
|
sh copy-fio-includes.sh
|
||||||
|
rm fio
|
||||||
|
mkdir -p a b debian/patches
|
||||||
|
mv fio-copy b/fio
|
||||||
|
diff -NaurpbB a b > debian/patches/fio-headers.patch || true
|
||||||
|
echo fio-headers.patch >> debian/patches/series
|
||||||
|
rm -rf a b
|
||||||
|
|
||||||
|
echo "dep:fio=$FIO" > debian/fio_version
|
||||||
|
|
||||||
|
cd /root/vitastor/packages/vitastor-$REL/vitastor-$VER
|
||||||
|
mkdir mon/node_modules
|
||||||
|
cd mon/node_modules
|
||||||
|
curl -s https://git.yourcmc.ru/vitalif/antietcd/archive/master.tar.gz | tar -zx
|
||||||
|
curl -s https://git.yourcmc.ru/vitalif/tinyraft/archive/master.tar.gz | tar -zx
|
||||||
|
|
||||||
|
cd /root/vitastor/packages/vitastor-$REL
|
||||||
|
tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_$VER.orig.tar.xz vitastor-$VER
|
||||||
|
cd vitastor-$VER
|
||||||
|
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v "$FULLVER""$REL" "Rebuild for $REL"
|
||||||
|
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa
|
||||||
|
rm -rf /root/vitastor/packages/vitastor-$REL/vitastor-*/
|
||||||
|
|
||||||
|
# Why does ubuntu rename debug packages to *.ddeb?
|
||||||
|
if ls *.ddeb >/dev/null; then
|
||||||
|
perl -i -pe 's/\.ddeb/.deb/' *.buildinfo *.changes
|
||||||
|
for i in *.ddeb; do
|
||||||
|
mv $i ${i%%.ddeb}.deb
|
||||||
|
done
|
||||||
|
fi
|
||||||
Vendored
+30
@@ -0,0 +1,30 @@
|
|||||||
|
# Build environment for building Vitastor packages for Debian inside a container
|
||||||
|
# cd ..
|
||||||
|
# docker build --build-arg DISTRO=debian --build-arg REL=bullseye -f debian/vitastor.Dockerfile -t vitastor-buildenv:bullseye .
|
||||||
|
# docker run --rm -e REL=bullseye -v ./:/root/vitastor /root/vitastor/debian/vitastor-build.sh
|
||||||
|
|
||||||
|
ARG DISTRO=debian
|
||||||
|
ARG REL=
|
||||||
|
FROM $DISTRO:$REL
|
||||||
|
ARG DISTRO=debian
|
||||||
|
ARG REL=
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
|
||||||
|
RUN set -e -x; \
|
||||||
|
if [ "$REL" = "buster" ]; then \
|
||||||
|
apt-get update; \
|
||||||
|
apt-get -y install wget; \
|
||||||
|
wget https://vitastor.io/debian/pubkey.gpg -O /etc/apt/trusted.gpg.d/vitastor.gpg; \
|
||||||
|
echo "deb https://vitastor.io/debian $REL main" >> /etc/apt/sources.list; \
|
||||||
|
fi; \
|
||||||
|
grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
||||||
|
perl -i -pe 's/Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/*.sources || true; \
|
||||||
|
echo 'APT::Install-Recommends false;' >> /etc/apt/apt.conf; \
|
||||||
|
echo 'APT::Install-Suggests false;' >> /etc/apt/apt.conf
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get -y install fio liburing-dev libgoogle-perftools-dev devscripts libjerasure-dev cmake \
|
||||||
|
libibverbs-dev librdmacm-dev libisal-dev libnl-3-dev libnl-genl-3-dev curl nodejs npm node-nan node-bindings && \
|
||||||
|
apt-get -y build-dep fio && \
|
||||||
|
apt-get --download-only source fio
|
||||||
Vendored
-65
@@ -1,65 +0,0 @@
|
|||||||
# Build Vitastor packages for Debian inside a container
|
|
||||||
# cd ..; podman build --build-arg DISTRO=debian --build-arg REL=bullseye -v `pwd`/packages:/root/packages -f debian/vitastor.Dockerfile .
|
|
||||||
|
|
||||||
ARG DISTRO=debian
|
|
||||||
ARG REL=
|
|
||||||
FROM $DISTRO:$REL
|
|
||||||
ARG DISTRO=debian
|
|
||||||
ARG REL=
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
|
|
||||||
RUN set -e -x; \
|
|
||||||
if [ "$REL" = "buster" ]; then \
|
|
||||||
apt-get update; \
|
|
||||||
apt-get -y install wget; \
|
|
||||||
wget https://vitastor.io/debian/pubkey.gpg -O /etc/apt/trusted.gpg.d/vitastor.gpg; \
|
|
||||||
echo "deb https://vitastor.io/debian $REL main" >> /etc/apt/sources.list; \
|
|
||||||
fi; \
|
|
||||||
grep '^deb ' /etc/apt/sources.list | perl -pe 's/^deb/deb-src/' >> /etc/apt/sources.list; \
|
|
||||||
perl -i -pe 's/Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/*.sources || true; \
|
|
||||||
echo 'APT::Install-Recommends false;' >> /etc/apt/apt.conf; \
|
|
||||||
echo 'APT::Install-Suggests false;' >> /etc/apt/apt.conf
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get -y install fio liburing-dev libgoogle-perftools-dev devscripts libjerasure-dev cmake \
|
|
||||||
libibverbs-dev librdmacm-dev libisal-dev libnl-3-dev libnl-genl-3-dev curl nodejs npm node-nan node-bindings && \
|
|
||||||
apt-get -y build-dep fio && \
|
|
||||||
apt-get --download-only source fio
|
|
||||||
|
|
||||||
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/*; \
|
|
||||||
dpkg-source -x /root/fio*.dsc; \
|
|
||||||
mkdir -p /root/packages/vitastor-$REL; \
|
|
||||||
rm -rf /root/packages/vitastor-$REL/*; \
|
|
||||||
cd /root/packages/vitastor-$REL; \
|
|
||||||
FULLVER=$(head -n1 /root/vitastor/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
|
||||||
VER=${FULLVER%%-*}; \
|
|
||||||
cp -r /root/vitastor vitastor-$VER; \
|
|
||||||
cd vitastor-$VER; \
|
|
||||||
ln -s /root/fio-build/fio-*/ ./fio; \
|
|
||||||
FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \
|
|
||||||
ls /usr/include/linux/raw.h || cp ./debian/raw.h /usr/include/linux/raw.h; \
|
|
||||||
sh copy-fio-includes.sh; \
|
|
||||||
rm fio; \
|
|
||||||
mkdir -p a b debian/patches; \
|
|
||||||
mv fio-copy b/fio; \
|
|
||||||
diff -NaurpbB a b > debian/patches/fio-headers.patch || true; \
|
|
||||||
echo fio-headers.patch >> debian/patches/series; \
|
|
||||||
rm -rf a b; \
|
|
||||||
echo "dep:fio=$FIO" > debian/fio_version; \
|
|
||||||
cd /root/packages/vitastor-$REL/vitastor-$VER; \
|
|
||||||
mkdir mon/node_modules; \
|
|
||||||
cd mon/node_modules; \
|
|
||||||
curl -s https://git.yourcmc.ru/vitalif/antietcd/archive/master.tar.gz | tar -zx; \
|
|
||||||
curl -s https://git.yourcmc.ru/vitalif/tinyraft/archive/master.tar.gz | tar -zx; \
|
|
||||||
cd /root/packages/vitastor-$REL; \
|
|
||||||
tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_$VER.orig.tar.xz vitastor-$VER; \
|
|
||||||
cd vitastor-$VER; \
|
|
||||||
DEBFULLNAME="Vitaliy Filippov <vitalif@yourcmc.ru>" dch -D $REL -v "$FULLVER""$REL" "Rebuild for $REL"; \
|
|
||||||
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \
|
|
||||||
rm -rf /root/packages/vitastor-$REL/vitastor-*/
|
|
||||||
Reference in New Issue
Block a user