FROM debian:bullseye

ARG PKG_PATH=http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/7.1/All
ARG INST_IMG=http://ftp.de.netbsd.org/pub/NetBSD/NetBSD-7.1/amd64/

RUN \
	useradd -p locked -m mani && \
	apt-get -qq update && \
	apt-get -qq upgrade && \
	apt-get -qqy install git python-is-python3 python3-pexpect \
			     python3-distutils genisoimage qemu-system && \
	apt-get clean

RUN	git clone https://github.com/gson1703/anita.git
RUN	cd anita && python setup.py install

ARG DISK_SIZE=1G
ARG INSTALL_MEM=128M
USER mani
RUN cd && mkdir .ccache && chown mani:mani .ccache && \
	  anita --sets kern-GENERIC,modules,base,etc,comp \
		--disk-size ${DISK_SIZE} --memory-size=${INSTALL_MEM} \
		install ${INST_IMG} && \
	  rm -rf work-*/download

ARG EXTRA_PKG=""
ARG RUNTIME_MEM=128M
ARG ORIGIN=https://review.coreboot.org/flashrom-stable.git
RUN cd && anita --persist --memory-size=${RUNTIME_MEM} --run \
"echo 'dhcpcd'                                   >init && \
 echo 'export PKG_PATH=${PKG_PATH}'             >>init && \
 . ./init && \
 pkg_add gmake git-base ccache pciutils libusb1 libusb-compat libftdi \
         ${EXTRA_PKG} && \
 git config --global --add http.sslVerify false && \
 git clone ${ORIGIN} flashrom" \
		boot ${INST_IMG}

RUN cd && dd if=/dev/zero bs=1M count=64 of=cache.img && \
	  anita --vmm-args \
			'-drive file=cache.img,index=1,media=disk,format=raw' \
		--persist \
		--memory-size=${RUNTIME_MEM} --run \
"if [ \$(uname -m) = i386 -o \$(uname -m) = amd64 ]; then \
     bdev=wd1d; \
 else \
     bdev=wd1c; \
 fi; \
 newfs -I \${bdev} && \
 mkdir .ccache && \
 mount /dev/\${bdev} .ccache && \
 ccache -M 60M && \
 umount .ccache && \
 echo 'manitest() {'                            >>init && \
 echo '    fsck -y -t ffs /dev/'\${bdev}        >>init && \
 echo '    mount /dev/'\${bdev}' ~/.ccache'     >>init && \
 echo '    (cd ~/flashrom && eval \" \$*\")'    >>init && \
 echo '    ret=\$?'                             >>init && \
 echo '    umount ~/.ccache'                    >>init && \
 echo '    return \$ret'                        >>init && \
 echo '}'                                       >>init" \
		boot ${INST_IMG} && \
	  gzip cache.img

COPY anita-wrapper.sh /home/mani/mani-wrapper.sh
ENV INST_IMG ${INST_IMG}
ENV MEM_SIZE ${RUNTIME_MEM}
ENTRYPOINT ["/bin/sh", "/home/mani/mani-wrapper.sh"]
