From 044262898c72da0a1502a9f1fbd175b1e136d298 Mon Sep 17 00:00:00 2001
From: AleaJactaEst <jean.sorgemoel.liber@free.fr>
Date: Thu, 22 Mar 2018 18:02:44 +0100
Subject: [PATCH] adding build client for fedora & reorder package installed on
 each build

---
 .gitlab-ci.yml | 252 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 155 insertions(+), 97 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 985df982a..8b484a4c0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,6 +22,7 @@
 #   gitlab-runner exec docker --timeout=3600 'Linux client_static debian_amd64_strech build'
 #   gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client build'
 #   gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client archlinux build' 
+#   gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client_static fedora_amd64_27 build'
 
 stages:
 - build
@@ -91,9 +92,10 @@ Linux server debian_amd64_strech build:
   script:
     # Prepare environment
     - apt-get update
-    - apt-get dist-upgrade -y 
+    - apt-get dist-upgrade -y
     - DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
-    - apt-get install -y git
+    - apt-get install -y
+                       git
                        libcurl4-openssl-dev
                        libfreetype6-dev
                        libx11-dev
@@ -157,41 +159,39 @@ Linux client debian_amd64_strech build:
   script:
     # Prepare environment
     - apt-get update
-    - apt-get dist-upgrade -y 
-    - apt-get install -y libfreetype6-dev
-                       libx11-dev
-                       libgl1-mesa-dev
-                       libxxf86vm-dev
-                       libxrandr-dev
-                       libxrender-dev
-                       libopenal-dev
-                       libxml2-dev
-                       cmake
-                       build-essential
-                       libpng-dev
-                       libjpeg62-turbo-dev
-                       rrdtool
-                       bison
-                       libxmu-dev
-                       autoconf
-                       automake
-                       libgif-dev
-                       cpputest
-                       libssl-dev
-                       liblzma-dev
-                       unzip
-                       zlib1g-dev
-                       libssh2-1-dev
-                       libboost-all-dev
-                       libopenal-dev
-                       libgl1-mesa-dev
-                       mercurial
-                       wget
-                       autogen
-                       libtool
-                       libtool-bin
-                       fakeroot
-                       libxml2-dev
+    - apt-get dist-upgrade -y
+    - apt-get install -y autoconf
+                         autogen
+                         automake
+                         bison
+                         build-essential
+                         cmake
+                         cpputest
+                         fakeroot
+                         libboost-all-dev
+                         libcurl-devel
+                         libfreetype6-dev
+                         libgif-dev
+                         libgl1-mesa-dev
+                         libjpeg62-turbo-dev
+                         liblzma-dev
+                         libopenal-dev
+                         libpng-dev
+                         libssh2-1-dev
+                         libssl-dev
+                         libtool
+                         libtool-bin
+                         libx11-dev
+                         libxml2-dev
+                         libxmu-dev
+                         libxrandr-dev
+                         libxrender-dev
+                         libxxf86vm-dev
+                         mercurial
+                         rrdtool
+                         unzip
+                         wget
+                         zlib1g-dev
     - apt-get install -y liblua5.2-0 liblua5.2-dev libluabind-dev libluabind0.9.1v5 libogg-dev libvorbis-dev
     # Build Curl
     - wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz  -O curl.tar.gz
@@ -221,41 +221,39 @@ Linux client_static debian_amd64_strech build:
   script:
     # Prepare environment
     - apt-get update
-    - apt-get dist-upgrade -y 
-    - apt-get install -y libfreetype6-dev
-                       libx11-dev
-                       libgl1-mesa-dev
-                       libxxf86vm-dev
-                       libxrandr-dev
-                       libxrender-dev
-                       libopenal-dev
-                       libxml2-dev
-                       cmake
-                       build-essential
-                       libpng-dev
-                       libjpeg62-turbo-dev
-                       rrdtool
-                       bison
-                       libxmu-dev
+    - apt-get dist-upgrade -y
+    - apt-get install -y
                        autoconf
-                       automake
-                       libgif-dev
-                       cpputest
-                       libssl-dev
-                       liblzma-dev
-                       unzip
-                       zlib1g-dev
-                       libssh2-1-dev
-                       libboost-all-dev
-                       libopenal-dev
-                       libgl1-mesa-dev
-                       mercurial
-                       wget
                        autogen
+                       automake
+                       bison
+                       build-essential
+                       cmake
+                       cpputest
+                       fakeroot
+                       libboost-all-dev
+                       libfreetype6-dev
+                       libgif-dev
+                       libgl1-mesa-dev
+                       libjpeg62-turbo-dev
+                       liblzma-dev
+                       libopenal-dev
+                       libpng-dev
+                       libssh2-1-dev
+                       libssl-dev
                        libtool
                        libtool-bin
-                       fakeroot
+                       libx11-dev
                        libxml2-dev
+                       libxmu-dev
+                       libxrandr-dev
+                       libxrender-dev
+                       libxxf86vm-dev
+                       mercurial
+                       rrdtool
+                       unzip
+                       wget
+                       zlib1g-dev
     - apt-get install -y liblua5.2-0 liblua5.2-dev
     # Build Curl
     - wget -q https://curl.haxx.se/download/curl-7.58.0.tar.gz  -O curl.tar.gz
@@ -314,14 +312,67 @@ Linux client_static debian_amd64_strech build:
     expire_in: 2 week
 
 # Fedora Client
-
-
-# Centos Client
-
+Linux client_static fedora_amd64_27 build:
+  stage: build
+  tags:
+    - Docker
+  image: amd64/fedora:27
+  script:
+    # Prepare environment
+    - yum update -y
+    - yum install -y
+            autoconf
+            autogen
+            automake
+            bison
+            boost-devel
+            cmake
+            fakeroot
+            freetype-devel
+            gcc
+            gcc-c++
+            giflib-devel
+            libcurl-devel
+            libjpeg-turbo-devel
+            libogg-devel
+            libpng-devel
+            libssh2-devel
+            libtool
+            libvorbis-devel
+            libX11-devel
+            libxml2-devel
+            libXmu
+            libXrandr-devel
+            libXrender-devel
+            libXxf86vm-devel
+            luabind-devel
+            lua-devel
+            lzma-devel
+            make
+            mercurial
+            mesa-libGL-devel
+            openal-soft-devel
+            openssl-devel
+            patch
+            rrdtool
+            unzip
+            wget
+            xz
+            zlib-devel
+    # Action
+    - mkdir -p code/build
+    - (cd code; patch -i ../patch/libcrypto.patch)
+    - (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations"; cmake -G "Unix Makefiles" -DWITH_NEL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=OFF ..)
+    - (cd code/build; make khanat_client)
+    - (cd code/build/bin; ls -lh)
+  artifacts:
+    name: "khanat-client-fedora_27-$CI_COMMIT_REF_NAME"
+    paths:
+      - code/build/bin
+    expire_in: 2 week
 
 # Ubuntu Client
 
-
 # Archlinux Client
 Linux client archlinux build:
   stage: build
@@ -330,39 +381,46 @@ Linux client archlinux build:
   image: base/archlinux
   script:
     # Prepare environment
-    - pacman -Suy --noconfirm libx11 mesa glu
-                            libxxf86vm
-                            libxrandr
-                            libxrender
-                            openal
-                            libxml2
-                            cmake
-                            gcc
-                            make
-                            libpng
-                            libjpeg-turbo
-                            libxmu
+    - pacman -Suy --noconfirm
                             autoconf
+                            autogen
                             automake
-                            giflib
-                            openssl
-                            xz
-                            unzip
-                            zlib
-                            libssh
+                            binutils
                             boost
                             boost-libs
-                            openal
-                            wget
-                            autogen
-                            libtool
+                            cmake
                             fakeroot
-                            lua
+                            freetype-devel
+                            gcc
+                            giflib
+                            git
+                            glu
+                            libjpeg-turbo
                             libogg
+                            libpng
+                            libssh
+                            libtool
                             libvorbis
+                            libx11
+                            libxml2
+                            libxmu
+                            libxrandr
+                            libxrender
+                            libxxf86vm
+                            lua
+                            make
+                            mesa
+                            openal
+                            openssl
                             patch
+                            pkg-config
+                            sed
+                            unzip
+                            wget
                             xorg-xfd
-                            sed binutils git gcc pkg-config make fakeroot > pacman.log
+                            xz
+                            zlib
+              > pacman.log
     # Install Yaourt
     # Disable check root (never do that on real server)
     - sed -i 's/EUID == 0/EUID == 12345/g' /usr/sbin/makepkg
@@ -393,7 +451,7 @@ Linux client archlinux build:
     - mkdir -p code/build
     - (cd code; patch -i ../patch/libcrypto.patch)
     - (cd code; patch -i ../patch/libicuuc.patch)
-    - (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations" ;cmake -G "Unix Makefiles" -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON /opt/code ..)
+    - (cd code/build ; export -p CPPFLAGS="-Wno-deprecated -Wno-deprecated-declarations"; cmake -G "Unix Makefiles" -DWITH_NEL=ON -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA52=ON -DWITH_RYZOM_PATCH=OFF -DWITH_RYZOM_CUSTOM_PATCH_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_DRIVER_OPENGL=ON -DWITH_DRIVER_OPENAL=ON -DWITH_NEL_SAMPLES=OFF -DWITH_SOUND=ON -DWITH_STATIC_CURL=ON /opt/code ..)
     - (cd code/build; make khanat_client)
     - (cd code/build/bin; ls -lh)
   artifacts: