diff --git a/Dockerfile b/Dockerfile index 2e8d19b..ff9e36a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # packages needed to build this project. # # As always, debian > ubuntu <3 -FROM debian:stable-slim +FROM debian:trixie-slim WORKDIR /root # Set host name. @@ -13,11 +13,6 @@ RUN echo docker_cross_compiler > /etc/hostname RUN apt-get update RUN apt-get install -y sudo wget - # Add the .NET package repository to the repository listing. - RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb - RUN dpkg -i packages-microsoft-prod.deb - RUN rm packages-microsoft-prod.deb - # APT dependencies. RUN apt-get update RUN apt-get install -y \ @@ -27,22 +22,19 @@ RUN echo docker_cross_compiler > /etc/hostname clang \ cpio \ curl \ - dotnet-sdk-6.0 \ - dotnet-sdk-8.0 \ gcc-arm-linux-gnueabihf \ gcc-aarch64-linux-gnu \ gcc-i686-linux-gnu \ git \ libbz2-dev \ libharfbuzz-dev \ + liblzma-dev \ libpng-dev \ libssl-dev \ libxml2-dev \ llvm \ - lzma-dev \ mingw-w64 \ meson \ - nuget \ ninja-build \ nodejs \ patch \ @@ -51,8 +43,19 @@ RUN echo docker_cross_compiler > /etc/hostname xz-utils \ zlib1g-dev + # Install dotnet 6.0 even if Micro$lop doesn't support it :P + WORKDIR /root/ + COPY share/*.tar.gz /root/ + RUN mkdir -p /usr/lib64/dotnet + WORKDIR /usr/lib64/dotnet + RUN tar -zxf /root/dotnet-sdk-6.0.428-linux-x64.tar.gz + RUN tar -zxf /root/dotnet-sdk-8.0.421-linux-x64.tar.gz + RUN tar -zxf /root/dotnet-sdk-10.0.300-linux-x64.tar.gz + RUN ln -s /usr/lib64/dotnet/dotnet /usr/local/bin/dotnet + # Clone osxcross # Let's do this later. + WORKDIR /root/ RUN git clone --recurse-submodules "https://github.com/tpoechtrager/osxcross.git" osxcross # Download packaged SDK from this random github (very safe i know) @@ -71,11 +74,10 @@ RUN echo docker_cross_compiler > /etc/hostname RUN adduser --comment "" --disabled-password refuel RUN addgroup wheel RUN usermod -aG wheel refuel - USER refuel + USER refuel WORKDIR /home/refuel # Copy bashrc - RUN cp /etc/bash.bashrc ~/.bashrc COPY sh/bashrc.sh /home/refuel/.bashrc # Execute an interactive shell. diff --git a/sh/bashrc.sh b/sh/bashrc.sh old mode 100644 new mode 100755 index 5f51e99..17a2d1c --- a/sh/bashrc.sh +++ b/sh/bashrc.sh @@ -1,4 +1,22 @@ +source /etc/bash.bashrc + +# Set location for AppHost lookup +[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT=/usr/lib64/dotnet + +# Add dotnet tools directory to PATH +DOTNET_TOOLS_PATH="$HOME/.dotnet/tools" +case "$PATH" in + *"$DOTNET_TOOLS_PATH"* ) true ;; + * ) PATH="$PATH:$DOTNET_TOOLS_PATH" ;; +esac + +# Extract self-contained executables under HOME +# to avoid multi-user issues from using the default '/var/tmp'. +[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"$HOME"/.cache}/dotnet_bundle_extract" + + echo ReFuel Project - Copyright \(C\) 2023 echo echo This is an interactive shell for ReFuel build image. echo SuperUser \(su/sudo\) commands are enabled without a password. Beware. + diff --git a/sh/init.sh b/sh/init.sh old mode 100644 new mode 100755 diff --git a/sh/publish.sh b/sh/publish.sh old mode 100644 new mode 100755 diff --git a/share/.gitattributes b/share/.gitattributes new file mode 100644 index 0000000..b68e9fd --- /dev/null +++ b/share/.gitattributes @@ -0,0 +1 @@ +**/*.deb -diff diff --git a/share/dotnet-sdk-10.0.300-linux-x64.tar.gz b/share/dotnet-sdk-10.0.300-linux-x64.tar.gz new file mode 100644 index 0000000..2889ad0 Binary files /dev/null and b/share/dotnet-sdk-10.0.300-linux-x64.tar.gz differ diff --git a/share/dotnet-sdk-6.0.428-linux-x64.tar.gz b/share/dotnet-sdk-6.0.428-linux-x64.tar.gz new file mode 100644 index 0000000..a0ab4d5 Binary files /dev/null and b/share/dotnet-sdk-6.0.428-linux-x64.tar.gz differ diff --git a/share/dotnet-sdk-8.0.421-linux-x64.tar.gz b/share/dotnet-sdk-8.0.421-linux-x64.tar.gz new file mode 100644 index 0000000..6ffedc9 Binary files /dev/null and b/share/dotnet-sdk-8.0.421-linux-x64.tar.gz differ