Updated to build ZFS from source

This commit is contained in:
Ben Radey
2024-11-08 10:14:10 -05:00
parent a9bddd1d6a
commit 1079730d57
+47 -27
View File
@@ -10,42 +10,44 @@ WORKDIR /gocryptfs
RUN ./build-without-openssl.bash
# ====== Stage 2: Server image ======
FROM quay.io/fedora/fedora-silverblue:39
FROM quay.io/fedora/fedora-silverblue:40
COPY --from=builder /gocryptfs/gocryptfs /usr/bin/gocryptfs
# Install ZFS repository
RUN rpm-ostree install https://github.com/zfsonlinux/zfsonlinux.github.com/raw/master/fedora/zfs-release-2-4$(rpm --eval "%{dist}").noarch.rpm && \
# cleanup and verification stage
rm -vrf /var /*.rpm && \
ostree container commit
# Install ZFS build deps
RUN rpm-ostree install \
kernel-devel kernel-devel-matched kernel-headers kernel-srpm-macros && \
# cleanup and verification stage
rm -vrf /var && \
ostree container commit
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
RUN test -f /usr/bin/ld || ln -s /usr/bin/ld.bfd /usr/bin/ld
# Install zfs
RUN rpm-ostree install zfs && \
dkms autoinstall -k $(rpm -qa kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}') && \
# cleanup and verification stage
rm -vrf /var && \
ostree container commit
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
RUN test -h /usr/bin/ld && rm -v /usr/bin/ld
# Install zrepl repository
COPY zrepl.asc /var/roothome/zrepl.asc
RUN rpm --import /var/roothome/zrepl.asc
COPY zrepl.repo /etc/yum.repos.d/zrepl.repo
RUN rpm-ostree install \
`# ===== SECTION 1: ZFS BUILD DEPENDENCIES =====` \
autoconf \
automake \
dkms \
elfutils-libelf-devel \
gcc \
git \
kernel-devel \
libaio-devel \
libattr-devel \
libblkid-devel \
libcurl-devel \
libffi-devel \
libtirpc-devel \
libtool \
libudev-devel \
libuuid-devel \
make \
ncompress \
openssl-devel \
python-packaging \
python3 \
python3-cffi \
python3-devel \
python3-setuptools \
rpm-build \
zlib-devel \
`# ===== SECTION 2: UTILITIES =====` \
ansible \
borgbackup \
certbot \
@@ -77,3 +79,21 @@ RUN rpm-ostree install \
&& ln -s /usr/bin/netcat /usr/bin/nc \
&& rm -vrf /var && ostree container commit
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
RUN test -f /usr/bin/ld || ln -s /usr/bin/ld.bfd /usr/bin/ld
RUN git clone https://github.com/openzfs/zfs \
&& cd /zfs \
&& sh autogen.sh \
&& ./configure --prefix=/var/usrlocal \
&& make -s -j$(nproc) \
&& make install \
&& ldconfig \
&& depmod $(rpm -qa kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}') \
&& dkms autoinstall -k $(rpm -qa kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}') \
&& rm -vrf /var \
&& ostree container commit
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
RUN test -h /usr/bin/ld && rm -v /usr/bin/ld