# 基础镜像
FROM debian:12

# 容器参数
ENV LANG='zh_CN.UTF-8'
#ENV LANGUAGE='zh_CN:zh'
#ENV LC_ALL='zh_CN.UTF-8'

# build参数
ARG DEBIAN_FRONTEND=noninteractive
ARG user=developer

# 安装软件
RUN apt-get update && \
	apt-get install -y --no-install-recommends --reinstall ca-certificates && \
	update-ca-certificates --fresh

RUN echo "deb https://mirrors.ustc.edu.cn/debian bookworm main contrib" > /etc/apt/sources.list && \
	echo "deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib" >> /etc/apt/sources.list && \
	echo "deb https://mirrors.ustc.edu.cn/debian bookworm-updates main contrib" >> /etc/apt/sources.list && \
	echo "deb https://mirrors.ustc.edu.cn/debian bookworm-backports main contrib" >> /etc/apt/sources.list

RUN apt-get update && \
	apt-get upgrade -y --no-install-recommends && \
	apt-get install -y --no-install-recommends \
	sudo bash-completion command-not-found vim \
	build-essential gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
	pkgconf nfs-common meson psmisc arch-install-scripts lz4 \
	kmod inetutils-ping net-tools iproute2 locales fonts-noto-cjk tzdata tree x11-apps x11-utils \
	x11-xserver-utils libxrender1 libxtst6 libxi6 dbus-x11 gedit fonts-noto-cjk qtcreator sshpass \
	xterm adb qtbase5-dev qttranslations5-l10n\
	file git ssh make gcc libssl-dev \
	liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \
	diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \
	cmake unzip device-tree-compiler ncurses-dev \
	libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \
	libmpc-dev bc python-is-python3 python3 gettext libc6-dev libncurses-dev rsync

# 添加用户
RUN \
adduser --disabled-password --gecos "" ${user} && \
adduser ${user} sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen && \
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \
dpkg-reconfigure --frontend noninteractive locales && \
rm -f /etc/localtime && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
dpkg-reconfigure --frontend noninteractive tzdata && \
mkdir -p /home/${user}/configs && \
mkdir -p /home/${user}/.config/QtProject && \
mkdir -p /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-aarch64-gnu-g++

# 复制项目文件到镜像
COPY files/start.sh /usr/local/bin/
COPY files/load_rootfs /usr/local/bin/
COPY files/export_rootfs /usr/local/bin/
COPY files/cross.cmake /home/${user}/configs/
COPY files/welcome.txt /home/${user}/configs/
COPY files/qt.conf /usr/lib/qt5/bin/
COPY files/linux-aarch64-gnu-g++/ /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-aarch64-gnu-g++/
COPY files/QtProject/ /home/${user}/.config/QtProject/
COPY files/bash_aliases /home/${user}/.bash_aliases

# 恢复标准用户权限
RUN chown -R ${user}:${user} /home/${user}
