debian-atomic/variants/testing/Containerfile

72 lines
2.5 KiB
Docker

# Debian Atomic Testing Variant
# Focus: Testing bootc, apt-ostree, and bootupd
# Fedora Atomic 1:1 parallel for Debian
FROM localhost/debian-atomic-base:latest
# Create OSTree repository if it doesn't exist
RUN mkdir -p /ostree/repo
# Set labels for Debian Atomic
LABEL org.debian-atomic.variant="testing"
LABEL org.debian-atomic.description="Testing Environment for bootc, apt-ostree, bootupd"
LABEL org.debian-atomic.fedora-equivalent="testing"
# Install testing tools and dependencies
RUN apt-get update && apt-get install -y \
# Testing and debugging tools
strace \
ltrace \
gdb \
valgrind \
# Development tools
build-essential \
cmake \
pkg-config \
# Additional system tools
systemd \
systemd-sysv \
# Clean up
&& rm -rf /var/lib/apt/lists/*
# Copy Debian Atomic packages for testing
COPY *.deb /tmp/deb_packages/
# Install Debian Atomic packages
RUN cd /tmp/deb_packages && \
# Install bootc (Fedora's bootc compiled on Debian)
dpkg -i bootc_1.6.0-1~trixie1_amd64.deb || apt-get install -f -y && \
# Install apt-ostreed (daemon component) first due to dependency
# Temporarily commented out due to download issues
# dpkg -i apt-ostreed_0.1.0+build1755398632.cff579876b0fd122f285e3362cdc0ed9abf46bdd_amd64.deb || apt-get install -f -y && \
# Install apt-ostree (working build with full rpm-ostree CLI compatibility)
dpkg -i apt-ostree_0.1.0+build88.a4a1873d_amd64.deb || apt-get install -f -y && \
# Update package lists and install bootupd dependencies
apt-get update && apt-get install -y efibootmgr grub-common libzstd1 && \
# Install bootupd
echo "Installing bootupd..." && \
dpkg -i deb-bootupd_0.2.28-1_amd64.deb && \
echo "bootupd installed successfully" && \
# Clean up package files
rm -rf /tmp/deb_packages && \
# Verify installations
echo "=== Installed Debian Atomic Components (Working Build 88) ===" && \
bootc --version && \
apt-ostree --help && \
# apt-ostreed --help && \
bootupctl --version
# Add OSTree configuration (required for bootc install)
COPY ostree-prepare-root.conf /usr/lib/ostree/prepare-root.conf
RUN mkdir -p /etc/ostree && cp /usr/lib/ostree/prepare-root.conf /etc/ostree/prepare-root.conf
RUN mkdir -p /usr/share/ostree && cp /usr/lib/ostree/prepare-root.conf /usr/share/ostree/prepare-root.conf
# Initialize OSTree repository (minimal setup for bootc)
RUN mkdir -p /ostree/repo && \
ostree --repo=/ostree/repo init --mode=bare
# Set working directory
WORKDIR /
# Default command
CMD ["/bin/bash"]