72 lines
2.5 KiB
Docker
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"]
|