From eec73c18029207f6fcfa4fd083671038fb156078 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Wed, 21 Mar 2018 22:38:27 +0100 Subject: [PATCH 01/10] adding build client on archlinux --- .gitlab-ci.yml | 115 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 112 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 963d08ea1..c99ca21d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,27 @@ -# Build manually : +# Configuration for Continous Integration +# +# Copyright (C) 2017 AleaJactaEst +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Example to execute locally: # gitlab-runner exec docker --timeout=3600 'Linux server debian_amd64_strech build' # gitlab-runner exec docker --timeout=3600 'Linux client debian_amd64_strech build' # 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' + stages: - build - test @@ -120,7 +139,7 @@ Linux server debian_amd64_strech build: - (cd code/build; make ryzom_admin_service ryzom_ai_service ryzom_backup_service ryzom_dynamic_scenario_service ryzom_entities_game_service ryzom_frontend_service ryzom_general_utilities_service ryzom_gpm_service ryzom_ios_service ryzom_log_analyser_service ryzom_logger_service ryzom_mail_forum_service ryzom_mirror_service ryzom_mission_compiler ryzom_monitor_service ryzom_naming_service ryzom_patchman_service ryzom_pd_support_service ryzom_persistant_data_service ryzom_reference_builder_service ryzom_session_browser_service ryzom_shard_unifier_service ryzom_tick_service ryzom_welcome_service sheets_packer bnp_make make_sheet_id patch_gen) - (cd code/build/bin; ls -lh) artifacts: - name: "khanat-server-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + name: "khanat-server-debian_strech-$CI_COMMIT_REF_NAME" paths: - code/build/bin expire_in: 2 week @@ -285,11 +304,101 @@ Linux client_static debian_amd64_strech build: - (cd code/build; make khanat_client) - (cd code/build/bin; ls -lh) artifacts: - name: "khanat-client_static-debian_strech-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + name: "khanat-client_static-debian_strech-$CI_COMMIT_REF_NAME" paths: - code/build/bin expire_in: 2 week +# Fedora Client + + +# Centos Client + + +# Ubuntu Client + + +# Archlinux Client +Linux client archlinux build: + stage: build + tags: + - Docker + image: base/archlinux + script: + # Prepare environment + - pacman -Suy --noconfirm libx11 mesa glu + libxxf86vm + libxrandr + libxrender + openal + libxml2 + cmake + gcc + make + libpng + libjpeg-turbo + libxmu + autoconf + automake + giflib + openssl + xz + unzip + zlib + libssh + boost + boost-libs + openal + wget + autogen + libtool + fakeroot + lua + libogg + libvorbis + patch + xorg-xfd + sed binutils git gcc pkg-config make fakeroot + # Install Yaourt + # Disable check root (never do that on real server) + - sed -i 's/EUID == 0/EUID == 12345/g' /usr/sbin/makepkg + - mkdir -p build + - cd build + - git clone https://aur.archlinux.org/package-query.git + - cd package-query + - yes | makepkg -si || echo $? + - cd .. + - git clone https://aur.archlinux.org/yaourt.git + - cd yaourt + - yes | makepkg -si || echo $? + - cd ../.. + - yaourt -Syyu --noconfirm --aur boost-build + # Build + - mkdir -p luabind + - wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg.orig.tar.gz -O luabind.tar.gz + - wget -q http://http.debian.net/debian/pool/main/l/luabind/luabind_0.9.1+dfsg-11.debian.tar.xz -O luabind-debian.tar.xz + - tar xvf luabind.tar.gz -C luabind --strip 1 || exit 2 + - tar xvf luabind-debian.tar.xz -C luabind || exit 2 + - cd luabind + - ls -l + - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done + - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install cflags="-fPIC" cxxflags="-fPIC" + - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install link=static cflags="-fPIC" cxxflags="-fPIC" + - cd .. + # Action + - mkdir -p code/build + - (cd code; patch -i ../patch/libcrypto.patch) + - (cd code; patch -i ../patch/libicuuc.patch) + - (cd code/build ; cmake -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 ..) + - (cd code/build; make khanat_client) + - (cd code/build/bin; ls -lh) + artifacts: + name: "khanat-client-archlinux-$CI_COMMIT_REF_NAME" + paths: + - code/build/bin + expire_in: 2 week + +# Gentoo Client # Job de compilation pour OSX OSX client build: From 7b5a49260aebc76b6e860dd75bfffff0b16f7724 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 00:51:41 +0100 Subject: [PATCH 02/10] reduce build for "Linux client build", detect correct version patch for libvorbis --- .gitlab-ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c99ca21d6..b7f494a94 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,6 +16,7 @@ # along with this program. If not, see . # # Example to execute locally: +# gitlab-runner exec docker --timeout=3600 'Linux client build' # gitlab-runner exec docker --timeout=3600 'Linux server debian_amd64_strech build' # gitlab-runner exec docker --timeout=3600 'Linux client debian_amd64_strech build' # gitlab-runner exec docker --timeout=3600 'Linux client_static debian_amd64_strech build' @@ -68,7 +69,10 @@ Linux client build: # Configuration - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON ../../code # Compilation et installation - - make $optionproc install DESTDIR=../../Linux/x86_64 + - make $optionproc khanat_client_patcher khanat_client + #- make $optionproc install DESTDIR=../../Linux/x86_64 + - mkdir -p ../../Linux/x86_64 + - cp bin/* ../../Linux/x86_64 # Packaging - cd ../../ - cp ./dist/khanat/autoextract_script.sh ./Linux/x86_64/ @@ -288,7 +292,7 @@ Linux client_static debian_amd64_strech build: - mkdir -p libvorbis - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 - - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u1.debian.tar.xz -O libvorbis.debian.tar.xz + - subversion=1; code=1; while [ $code -ne 0 ] ; do wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? subversion=$(( $subversion + 1 )) ; done ; echo "GET libvorbis_1.3.5-4+deb9u$(( $subversion - 1)).debian.tar.xz" - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done From 46e93f49c9bf8a075391a9be9e395f1d3a2daef2 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 09:38:18 +0100 Subject: [PATCH 03/10] correct command to search patch debian for libvorbis --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7f494a94..d6710ef1b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -292,7 +292,7 @@ Linux client_static debian_amd64_strech build: - mkdir -p libvorbis - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 - - subversion=1; code=1; while [ $code -ne 0 ] ; do wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? subversion=$(( $subversion + 1 )) ; done ; echo "GET libvorbis_1.3.5-4+deb9u$(( $subversion - 1)).debian.tar.xz" + - subversion=0; code=1; while [[ $code -ne 0 && $subversion -le 100 ]] ; do subversion=$(( $subversion + 1 )); wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis"; exit $? ; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done From 852c08728490235666a197c563cd95c5c2e65b5a Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 10:20:26 +0100 Subject: [PATCH 04/10] change code to shell and correct command to search patch debian for libvorbis --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d6710ef1b..ee6b7890b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -292,7 +292,7 @@ Linux client_static debian_amd64_strech build: - mkdir -p libvorbis - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 - - subversion=0; code=1; while [[ $code -ne 0 && $subversion -le 100 ]] ; do subversion=$(( $subversion + 1 )); wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis"; exit $? ; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi + - subversion=0; code=1; while [ $code -ne 0 -a $subversion -le 100 ] ; do subversion=$(( $subversion + 1 )); wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis" >&2; exit $?; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done From c594927276e096042851959c91451044671219c7 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 12:20:42 +0100 Subject: [PATCH 05/10] correct command to download libvorbis patch --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ee6b7890b..bc50b3978 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -292,7 +292,7 @@ Linux client_static debian_amd64_strech build: - mkdir -p libvorbis - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 - - subversion=0; code=1; while [ $code -ne 0 -a $subversion -le 100 ] ; do subversion=$(( $subversion + 1 )); wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz; code=$? ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis" >&2; exit $?; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi + - subversion=0; code=1; while [ $code -ne 0 -a $subversion -le 100 ] ; do subversion=$(( $subversion + 1 )); code=0; wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz || code=1 ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis" >&2; exit $?; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done From 107f1d75a813ed4c485fb58590ebbfa6d62f5f96 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 15:45:01 +0100 Subject: [PATCH 06/10] reduce log for build Archlinux --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bc50b3978..985df982a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -362,7 +362,7 @@ Linux client archlinux build: libvorbis patch xorg-xfd - sed binutils git gcc pkg-config make fakeroot + sed binutils git gcc pkg-config make fakeroot > pacman.log # Install Yaourt # Disable check root (never do that on real server) - sed -i 's/EUID == 0/EUID == 12345/g' /usr/sbin/makepkg @@ -386,14 +386,14 @@ Linux client archlinux build: - cd luabind - ls -l - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done - - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install cflags="-fPIC" cxxflags="-fPIC" - - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install link=static cflags="-fPIC" cxxflags="-fPIC" + - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install cxxflags="-fPIC -Wno-deprecated -Wno-deprecated-declarations" + - export -p DEB_HOST_MULTIARCH="/"; bjam -d2 release debug install link=static cxxflags="-fPIC -Wno-deprecated -Wno-deprecated-declarations" - cd .. # Action - mkdir -p code/build - (cd code; patch -i ../patch/libcrypto.patch) - (cd code; patch -i ../patch/libicuuc.patch) - - (cd code/build ; cmake -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 ..) + - (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: From 044262898c72da0a1502a9f1fbd175b1e136d298 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 18:02:44 +0100 Subject: [PATCH 07/10] 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: From 865880c82be286e0eaf47caf322e1c590203b5f0 Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 18:05:07 +0100 Subject: [PATCH 08/10] remove bad package on "Linux client debian_amd64_strech build" --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8b484a4c0..2c5be7c65 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -169,7 +169,6 @@ Linux client debian_amd64_strech build: cpputest fakeroot libboost-all-dev - libcurl-devel libfreetype6-dev libgif-dev libgl1-mesa-dev From f3ef5a0fb9e9aabbaca4fd32b8acdb3eb38ce8dd Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 19:28:49 +0100 Subject: [PATCH 09/10] adding ubuntu, remove bad package on archlinux --- .gitlab-ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c5be7c65..c26585a23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,7 +22,8 @@ # 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' +# gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client fedora_amd64_27 build' +# gitlab-runner exec docker --kubernetes-memory-limit='10g' --timeout=3600 'Linux client ubuntu_amd64_17_10 build' stages: - build @@ -211,7 +212,6 @@ Linux client debian_amd64_strech build: - code/build/bin expire_in: 2 week - Linux client_static debian_amd64_strech build: stage: build tags: @@ -311,7 +311,7 @@ Linux client_static debian_amd64_strech build: expire_in: 2 week # Fedora Client -Linux client_static fedora_amd64_27 build: +Linux client fedora_amd64_27 build: stage: build tags: - Docker @@ -371,6 +371,59 @@ Linux client_static fedora_amd64_27 build: expire_in: 2 week # Ubuntu Client +Linux client ubuntu_amd64_17_10 build: + stage: build + tags: + - Docker + image: amd64/ubuntu:17.10 + script: + # Prepare environment + - apt-get update + - apt-get dist-upgrade -y + - apt-get install -y autoconf + autogen + automake + bison + build-essential + cmake + cpputest + fakeroot + libboost-all-dev + libcurl4-openssl-dev + libfreetype6-dev + libgif-dev + libgl1-mesa-dev + libjpeg62-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 + # 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-ubuntu_17_10-$(echo $CI_BUILD_REF | head -c 7 )-$CI_PIPELINE_ID" + paths: + - code/build/bin + expire_in: 2 week # Archlinux Client Linux client archlinux build: @@ -389,7 +442,6 @@ Linux client archlinux build: boost-libs cmake fakeroot - freetype-devel gcc giflib git From 66c97c3f8aaae68aaaefc8a54dc9ad4f3f758ccc Mon Sep 17 00:00:00 2001 From: AleaJactaEst Date: Thu, 22 Mar 2018 22:27:38 +0100 Subject: [PATCH 10/10] change method to detect patch version for libvorbis --- .gitlab-ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c26585a23..dd0a7dd8b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -289,7 +289,14 @@ Linux client_static debian_amd64_strech build: - mkdir -p libvorbis - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5.orig.tar.gz -O libvorbis.tar.gz - tar xvf libvorbis.tar.gz -C libvorbis --strip 1 || exit 2 - - subversion=0; code=1; while [ $code -ne 0 -a $subversion -le 100 ] ; do subversion=$(( $subversion + 1 )); code=0; wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/libvorbis_1.3.5-4+deb9u$subversion.debian.tar.xz -O libvorbis.debian.tar.xz || code=1 ; done ; if [ $code -ne 0 ] ; then echo "Impossible to download patch libvorbis" >&2; exit $?; else echo "GET libvorbis_1.3.5-4+deb9u${subversion}.debian.tar.xz" ; fi + # Get list package + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis -O list_libvorbis + # get last patch for our release + - line=$(egrep '(libvorbis_1.3.5)(.*)(tar[.]xz)' list_libvorbis | tail -n 1) + # get only name of the patch + - tmp=${line#*href} ; tmp2=${tmp%%>*} ; tmp3=${tmp2#*\"} ; namepatch=${tmp3%\"*} + # download this patch + - wget -q http://security.debian.org/debian-security/pool/updates/main/libv/libvorbis/$namepatch -O libvorbis.debian.tar.xz - tar xvf libvorbis.debian.tar.xz -C libvorbis || exit 2 - cd libvorbis - for file in $(cat debian/patches/series); do patch -p1 < debian/patches/$file; done