diff --git a/tool/quick_start/docker/README.md b/tool/quick_start/docker/README.md new file mode 100644 index 000000000..73e0654ab --- /dev/null +++ b/tool/quick_start/docker/README.md @@ -0,0 +1,54 @@ +# Quick Start Docker Images + +These Docker images are part of the quick start build environment. + +Documentation for developer reference only. + +To add another distribution; simply add a folder with a Dockerfile, and re-run the quick start configure script. + +## Prepare Ubuntu + +Just build the Docker images like this. The quick start scripts will generate the proper command line. + +``` +docker build -t "ryzombuild_bionic_x86_64" -f "Y:\ryzomcore4\code\tool\quick_start\docker\ryzombuild_bionic_x86_64\Dockerfile" Y:\ryzomcore4\code +``` + +``` +docker build -t "ryzombuild_focal_x86_64" -f "Y:\ryzomcore4\code\tool\quick_start\docker\ryzombuild_focal_x86_64\Dockerfile" Y:\ryzomcore4\code +``` + +## Prepare Steam Runtime + +``` +cd /d Y:\ryzomcore4\.nel\temp +..\..\distribution\utils\aria2c https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.Dockerfile +..\..\distribution\utils\aria2c https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.tar.gz +docker build -f com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.Dockerfile -t steamrt_scout_amd64:latest . +del "com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.Dockerfile" +del "com.valvesoftware.SteamRuntime.Sdk-amd64,i386-scout-sysroot.tar.gz" +``` + +``` +cd /d Y:\ryzomcore4\.nel\temp +..\..\distribution\utils\aria2c https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.Dockerfile +..\..\distribution\utils\aria2c https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.tar.gz +docker build -f com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.Dockerfile -t steamrt_scout_i386:latest . +rm com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.Dockerfile +rm com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.sysroot.tar.gz +``` + +## Check CMake Version + +``` +docker run --rm ryzombuild_bionic_x86_64 cmake --version +docker run --rm ryzombuild_focal_x86_64 cmake --version +docker run --rm steamrt_scout_amd64 cmake --version +``` + +## Build Client + +``` +docker run --rm --mount "type=bind,source=Y:\ryzomcore4,target=/mnt/nel" --workdir "/mnt/nel/build_client_focal" ryzombuild_focal_x86_64 cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DHUNTER_ENABLED=ON -DHUNTER_STATUS_DEBUG=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_RYZOM=ON -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_RYZOM_TOOLS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NELNS=OFF -DWITH_QT5=OFF -DWITH_LIBGSF=OFF -DFINAL_VERSION=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON ../code +docker run --rm --mount "type=bind,source=Y:\ryzomcore4,target=/mnt/nel" --workdir "/mnt/nel/build_client_focal" ryzombuild_focal_x86_64 ninja +``` \ No newline at end of file diff --git a/tool/quick_start/docker/ryzombuild_bionic_x86_64/Dockerfile b/tool/quick_start/docker/ryzombuild_bionic_x86_64/Dockerfile index 4e0d576f3..7e538db47 100644 --- a/tool/quick_start/docker/ryzombuild_bionic_x86_64/Dockerfile +++ b/tool/quick_start/docker/ryzombuild_bionic_x86_64/Dockerfile @@ -1,20 +1,10 @@ FROM --platform=linux/amd64 ubuntu:bionic MAINTAINER Ryzom Core -RUN apt-get update && apt-get install -y \ +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ software-properties-common \ - && rm -rf /var/lib/apt/lists/* - -# RUN add-apt-repository ppa:ubuntu-toolchain-r/test - -RUN apt-get update && apt-get install -y \ - cmake ninja-build build-essential \ + ninja-build curl wget build-essential \ gcc-8 g++-8 \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 \ - && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 60 \ - && rm -rf /var/lib/apt/lists/* - -RUN apt-get update && apt-get install -y \ bison autoconf automake \ libpng-dev \ libjpeg-dev \ @@ -30,6 +20,10 @@ RUN apt-get update && apt-get install -y \ liblzma-dev \ libgsf-1-dev \ qtbase5-dev qttools5-dev qttools5-dev-tools \ + && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 \ + && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 60 \ + && curl -sSL https://apt.kitware.com/kitware-archive.sh | bash \ + && apt-get install -y cmake \ && rm -rf /var/lib/apt/lists/* RUN mkdir -p hunter_dependencies/cmake @@ -40,7 +34,7 @@ COPY CMakeModules/HunterConfig.cmake hunter_dependencies/cmake/HunterConfig.cmak RUN mkdir -p hunter_dependencies/build \ && cd hunter_dependencies/build \ - && cmake -DHUNTER_JOBS_NUMBER=$((`nproc` * 3 / 4)) .. \ + && cmake -G "Ninja" -DHUNTER_JOBS_NUMBER=$((`nproc` * 3 / 4)) .. \ && cd ../.. \ && rm -rf hunter_dependencies diff --git a/tool/quick_start/docker/ryzombuild_focal_x86_64/Dockerfile b/tool/quick_start/docker/ryzombuild_focal_x86_64/Dockerfile index 65531e19c..80422a3c8 100644 --- a/tool/quick_start/docker/ryzombuild_focal_x86_64/Dockerfile +++ b/tool/quick_start/docker/ryzombuild_focal_x86_64/Dockerfile @@ -1,22 +1,9 @@ FROM --platform=linux/amd64 ubuntu:focal MAINTAINER Ryzom Core -RUN apt-get update && apt-get install -y \ +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ software-properties-common \ - && rm -rf /var/lib/apt/lists/* - -# RUN add-apt-repository ppa:ubuntu-toolchain-r/test - -RUN apt-get update && apt-get install -y \ - cmake ninja-build build-essential \ - && rm -rf /var/lib/apt/lists/* - -# Ubuntu 16.04 LTS and Ubuntu 18.04 LTS: -# sudo apt install gcc-8 g++-8 -y -# sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 -# sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 60 - -RUN apt-get update && apt-get install -y \ + cmake ninja-build curl wget build-essential \ bison autoconf automake \ libpng-dev \ libjpeg-dev \ @@ -42,7 +29,7 @@ COPY CMakeModules/HunterConfig.cmake hunter_dependencies/cmake/HunterConfig.cmak RUN mkdir -p hunter_dependencies/build \ && cd hunter_dependencies/build \ - && cmake -DHUNTER_JOBS_NUMBER=$((`nproc` * 3 / 4)) .. \ + && cmake -G "Ninja" -DHUNTER_JOBS_NUMBER=$((`nproc` * 3 / 4)) .. \ && cd ../.. \ && rm -rf hunter_dependencies