Files
MetalOS/Dockerfile
copilot-swe-agent[bot] 7ff22dcc57 Integrate Conan into build systems
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2025-12-28 21:16:58 +00:00

68 lines
1.5 KiB
Docker

# MetalOS Docker Build Environment
# This container includes all dependencies needed to build MetalOS
FROM ubuntu:22.04
# Avoid interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Set working directory
WORKDIR /metalos
# Install base build tools and dependencies
RUN apt-get update && apt-get install -y \
# Build essentials
build-essential \
gcc \
g++ \
nasm \
make \
cmake \
ninja-build \
meson \
pkg-config \
git \
wget \
curl \
ca-certificates \
# QEMU and UEFI firmware
qemu-system-x86 \
ovmf \
# Image creation tools
mtools \
xorriso \
dosfstools \
# Python for build scripts and Conan
python3 \
python3-pip \
# Additional utilities
vim \
less \
file \
&& rm -rf /var/lib/apt/lists/*
# Install Conan package manager
RUN pip3 install --no-cache-dir conan
# Detect and configure Conan profile
RUN conan profile detect --force
# Create directory structure for dependencies
RUN mkdir -p /metalos/deps/firmware \
/metalos/deps/ovmf \
/metalos/deps/mesa-radv \
/metalos/deps/qt6 \
/metalos/scripts
# Set up OVMF firmware in deps directory
RUN cp /usr/share/OVMF/OVMF_CODE.fd /metalos/deps/ovmf/ 2>/dev/null || \
cp /usr/share/ovmf/OVMF.fd /metalos/deps/ovmf/ 2>/dev/null || \
echo "OVMF firmware will be installed by setup script"
# Set environment variables
ENV PATH="/metalos/tools:${PATH}"
ENV METALOS_ROOT="/metalos"
# Default command
CMD ["/bin/bash"]