Dockerfile46 lines · 1227 chars FROM ubuntu:22.04
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Install build and runtime dependencies for autotools-based S3FS build
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
autoconf \
automake \
libtool \
pkg-config \
libcurl4-openssl-dev \
libxml2-dev \
libfuse3-dev \
libattr1-dev \
libssl-dev \
mime-support \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Build sources copied into /src
WORKDIR /src
# Copy all source files into container
COPY . .
# Provide a minimal smoke script to satisfy CI smoke test if not present in repo
RUN mkdir -p /src/scripts && printf '#!/bin/sh\nexit 0\n' > /src/scripts/smoke.sh && chmod +x /src/scripts/smoke.sh
# Ensure smoke test script uses bash to avoid syntax issues in dash
# (kept for compatibility; the script above is POSIX sh)
# Build from source using autotools workflow
RUN ./autogen.sh \
&& ./configure --prefix=/usr \
&& make --jobs=$(nproc)
# Install built artifacts
RUN make install \
&& ldconfig
# Default to an interactive shell to allow ad-hoc usage
CMD ["/bin/bash"]