oglive-builder/Dockerfile

40 lines
1.2 KiB
Docker

FROM ubuntu:noble
RUN apt-get update && apt-get -y install \
debootstrap \
fdisk \
file \
genisoimage \
git \
ipxe \
jq \
lsof \
python3 \
python3-apt \
qemu-utils \
rsync \
schroot \
squashfs-tools \
subversion \
syslinux \
syslinux-efi \
syslinux-utils \
&& rm -rf /var/lib/apt/lists/*
RUN groupadd opengnsys
RUN mkdir -p /opt/opengnsys/client /tmp/opengnsys/oglive_builder /var/lib/tftpboot/
RUN ln -fs /var/lib/tftpboot /opt/opengnsys
## take stuff from the OG repo: a) cloning engine, b) shared stuff and c) gitrelease
RUN git --git-dir ./opengnsys/.git rev-parse HEAD && \
mv ./opengnsys/client/engine ./opengnsys/client/shared /tmp/opengnsys/ && \
git --git-dir ./opengnsys/.git log --date format:r%Y%m%d --format=%ad -1 >/tmp/opengnsys/oglive_builder/gitrelease
## if we place the ogagent.deb and the ogbrowser.deb in the cwd, then this 'COPY .' copies them to the image
COPY . /tmp/opengnsys/oglive_builder/
RUN cp /tmp/opengnsys/oglive_builder/schroot.conf /tmp/opengnsys/oglive_builder/mount-defaults /etc/schroot/ && \
echo '' >/etc/schroot/default/nssdatabases && \
rm -f /etc/schroot/setup.d/*chrootname
ENTRYPOINT ["/tmp/opengnsys/oglive_builder/mkoglive.py"]