FROM fedora:38
RUN dnf upgrade -y
RUN dnf install -y unzip ca-certificates python3 git curl sudo nano vim make automake cpp gcc gcc-c++ kernel-devel hostname rpcgen glibc-langpack-en wget e2fsprogs @development-tools bzip2 gawk xterm zstd texinfo diffutils perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat vim-common redhat-lsb
RUN curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > /bin/repo
RUN chmod +x /bin/repo
RUN echo "dev ALL = NOPASSWD: /usr/bin/dnf" >> /etc/sudoers
RUN echo "dev ALL = NOPASSWD: /bin/bash" >> /etc/sudoers

# PARTNER TODO change the 1000 to your user ID, usually 1000 on a VM, different for multi-user systems
RUN useradd -u 1000 -ms /bin/bash dev
USER dev:dev

RUN git config --global user.email "git@localhost.de"
RUN git config --global user.name "Git User"
# PARTNER TODO revisit EULA
ENV EULA=True
COPY bash_history /home/dev/.bash_history


RUN mkdir /home/dev/fsl-auto-yocto-bsp
WORKDIR /home/dev/fsl-auto-yocto-bsp
RUN repo init -u https://github.com/nxp-auto-linux/auto_yocto_bsp -b release/bsp42.0
RUN repo sync
# PARTNER TODO, alter the paths here
WORKDIR /home/dev/
COPY s32_firmware_bins-microsys-bsp42.0.zip /home/dev/s32_firmware_bins-microsys-bsp42.0.zip
RUN unzip s32_firmware_bins-microsys-bsp42.0
COPY microsys_bsp42.tar.gz /home/dev/
RUN tar xfv /home/dev/microsys_bsp42.tar.gz && mv meta-microsys-auto /home/dev/fsl-auto-yocto-bsp/sources
# END PARTNER TODO
WORKDIR /home/dev/fsl-auto-yocto-bsp/
RUN cat /home/dev/fsl-auto-yocto-bsp/sources/meta-microsys-auto/patches/meta-alb/*.diff | patch -p1 -d /home/dev/fsl-auto-yocto-bsp/sources/meta-alb &&  \
    cat /home/dev/fsl-auto-yocto-bsp/sources/meta-microsys-auto/patches/poky/kirkstone/*.diff | patch -p1 -d /home/dev/fsl-auto-yocto-bsp/sources/poky
RUN sed -i 's#$force_update#true#' sources/meta-alb/scripts/host-prepare-ubuntu-mint-debian.sh && \
    sed -i 's+sudo dnf $UPDATE_FLAG install epel-release+#sudo dnf $UPDATE_FLAG install epel-release+' /home/dev/fsl-auto-yocto-bsp/sources/meta-alb/scripts/host-prepare-rhel-centos-fedora.sh && \
    sed -i 's+$UPDATE_FLAG+$UPDATE_FLAG -y+g' /home/dev/fsl-auto-yocto-bsp/sources/meta-alb/scripts/host-prepare-rhel-centos-fedora.sh && \
    sed -i 's#meta-openembedded/meta-xfce#meta-openembedded/meta-xfce meta-microsys-auto#' /home/dev/fsl-auto-yocto-bsp/sources/meta-alb/nxp-setup-alb.sh && \
    sed -i 's#meta-openembedded/meta-xfce#meta-openembedded/meta-xfce meta-microsys-auto#' /home/dev/fsl-auto-yocto-bsp/nxp-setup-alb.sh && \
    echo 'URI_NXPFWGITREPO = "file:///home/dev/s32_firmware_bins-microsys-bsp42.0.zip;name=NXPFWGITREPO;subdir=NXPFWGITREPO"' >> sources/meta-microsys-auto/conf/distro/microsys-distro-common.conf

RUN ./sources/meta-alb/scripts/host-prepare.sh
