From 415a6159f626cbe41260616d50171436ad48d0c6 Mon Sep 17 00:00:00 2001 From: Shao Yu Lung Date: Fri, 16 Mar 2018 15:22:21 +0800 Subject: [PATCH] fix workspace mssql build fail --- workspace/Dockerfile-70 | 88 +++++++++++----------------------------- workspace/Dockerfile-71 | 90 +++++++++++------------------------------ workspace/Dockerfile-72 | 90 +++++++++++------------------------------ 3 files changed, 69 insertions(+), 199 deletions(-) diff --git a/workspace/Dockerfile-70 b/workspace/Dockerfile-70 index 21103738..6cd2a3d5 100644 --- a/workspace/Dockerfile-70 +++ b/workspace/Dockerfile-70 @@ -535,74 +535,32 @@ ARG INSTALL_MSSQL=true ENV INSTALL_MSSQL ${INSTALL_MSSQL} RUN if [ ${INSTALL_MSSQL} = true ]; then \ - ##################################### - # Install Depenencies: - ##################################### - cd / && \ - apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \ - ##################################### # The following steps were taken from - # Microsoft's github account: - # https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways + # https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration ##################################### - - # Add PHP 7 repository - # for Debian jessie - # And System upgrade - cd / && \ - echo "deb http://packages.dotdeb.org jessie all" \ - | tee /etc/apt/sources.list.d/dotdeb.list \ - && wget -qO- https://www.dotdeb.org/dotdeb.gpg \ - | apt-key add - \ - && apt-get update -yqq \ - && apt-get upgrade -qq && \ - - # Install UnixODBC - # Compile odbc_config as it is not part of unixodbc package - cd / && \ - apt-get install -y whiptail \ - unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \ - && dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \ - && cd unixodbc-*/ \ - && ./configure && make && make install \ - && cp -v ./exe/odbc_config /usr/local/bin/ && \ - - # Fake uname for install.sh - printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \ - | tee /usr/local/bin/uname \ - && chmod +x /usr/local/bin/uname && \ - - # Microsoft ODBC Driver 13 for Linux - # Note: There's a copy of this tar on my hubiC - cd / && \ - wget -nv -O msodbcsql-13.0.0.0.tar.gz \ - "https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \ - && tar -xf msodbcsql-13.0.0.0.tar.gz \ - && cd msodbcsql-*/ \ - && ldd lib64/libmsodbcsql-13.0.so.0.0 \ - && ./install.sh install --accept-license \ - && ls -l /opt/microsoft/msodbcsql/ \ - && odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \ - - - ##################################### - # Install sqlsrv y pdo_sqlsrv - # extensions: - ##################################### - - pecl install sqlsrv-4.0.8 && \ - pecl install pdo_sqlsrv-4.0.8 && \ - - ##################################### - # Set locales for the container - ##################################### - - apt-get install -y locales \ - && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ - && locale-gen \ - && echo "extension=sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-sqlsrv.ini \ - && echo "extension=pdo_sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-pdo_sqlsrv.ini \ + curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ + curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ + apt-get update && \ + ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \ + apt-get install -yqq unixodbc-dev-utf16 && \ + ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \ + ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \ + ACCEPT_EULA=Y apt-get install -yqq \ + unixodbc \ + unixodbc-dev \ + libgss3 \ + odbcinst \ + msodbcsql \ + locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \ + apt-get install -y locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + echo "extension=sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-sqlsrv.ini && \ + echo "extension=pdo_sqlsrv.so" > /etc/php/7.0/cli/conf.d/20-pdo_sqlsrv.ini \ ;fi ##################################### diff --git a/workspace/Dockerfile-71 b/workspace/Dockerfile-71 index de5cee89..1348914e 100644 --- a/workspace/Dockerfile-71 +++ b/workspace/Dockerfile-71 @@ -544,76 +544,32 @@ ARG INSTALL_MSSQL=false ENV INSTALL_MSSQL ${INSTALL_MSSQL} RUN if [ ${INSTALL_MSSQL} = true ]; then \ - ##################################### - # Install Depenencies: - ##################################### - cd / && \ - apt-get update -yqq && \ - apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \ - ##################################### # The following steps were taken from - # Microsoft's github account: - # https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways + # https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration ##################################### - - # Add PHP 7 repository - # for Debian jessie - # And System upgrade - cd / && \ - echo "deb http://packages.dotdeb.org jessie all" \ - | tee /etc/apt/sources.list.d/dotdeb.list \ - && wget -qO- https://www.dotdeb.org/dotdeb.gpg \ - | apt-key add - \ - && apt-get update -yqq \ - && apt-get upgrade -qq && \ - - # Install UnixODBC - # Compile odbc_config as it is not part of unixodbc package - cd / && \ - apt-get update -yqq && \ - apt-get install -y whiptail \ - unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \ - && dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \ - && cd unixodbc-*/ \ - && ./configure && make && make install \ - && cp -v ./exe/odbc_config /usr/local/bin/ && \ - - # Fake uname for install.sh - printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \ - | tee /usr/local/bin/uname \ - && chmod +x /usr/local/bin/uname && \ - - # Microsoft ODBC Driver 13 for Linux - # Note: There's a copy of this tar on my hubiC - cd / && \ - wget -nv -O msodbcsql-13.0.0.0.tar.gz \ - "https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \ - && tar -xf msodbcsql-13.0.0.0.tar.gz \ - && cd msodbcsql-*/ \ - && ldd lib64/libmsodbcsql-13.0.so.0.0 \ - && ./install.sh install --accept-license \ - && ls -l /opt/microsoft/msodbcsql/ \ - && odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \ - - - ##################################### - # Install sqlsrv y pdo_sqlsrv - # extensions: - ##################################### - - pecl install sqlsrv-4.0.8 && \ - pecl install pdo_sqlsrv-4.0.8 && \ - - ##################################### - # Set locales for the container - ##################################### - - apt-get install -y locales \ - && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ - && locale-gen \ - && echo "extension=sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-sqlsrv.ini \ - && echo "extension=pdo_sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-pdo_sqlsrv.ini \ + curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ + curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ + apt-get update && \ + ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \ + apt-get install -yqq unixodbc-dev-utf16 && \ + ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \ + ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \ + ACCEPT_EULA=Y apt-get install -yqq \ + unixodbc \ + unixodbc-dev \ + libgss3 \ + odbcinst \ + msodbcsql \ + locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \ + apt-get install -y locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + echo "extension=sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-sqlsrv.ini && \ + echo "extension=pdo_sqlsrv.so" > /etc/php/7.1/cli/conf.d/20-pdo_sqlsrv.ini \ ;fi ##################################### diff --git a/workspace/Dockerfile-72 b/workspace/Dockerfile-72 index 92037bf5..80976325 100644 --- a/workspace/Dockerfile-72 +++ b/workspace/Dockerfile-72 @@ -539,76 +539,32 @@ ARG INSTALL_MSSQL=false ENV INSTALL_MSSQL ${INSTALL_MSSQL} RUN if [ ${INSTALL_MSSQL} = true ]; then \ - ##################################### - # Install Depenencies: - ##################################### - cd / && \ - apt-get update -yqq && \ - apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \ - ##################################### # The following steps were taken from - # Microsoft's github account: - # https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways + # https://github.com/Microsoft/msphpsql/wiki/Install-and-configuration ##################################### - - # Add PHP 7 repository - # for Debian jessie - # And System upgrade - cd / && \ - echo "deb http://packages.dotdeb.org jessie all" \ - | tee /etc/apt/sources.list.d/dotdeb.list \ - && wget -qO- https://www.dotdeb.org/dotdeb.gpg \ - | apt-key add - \ - && apt-get update -yqq \ - && apt-get upgrade -qq && \ - - # Install UnixODBC - # Compile odbc_config as it is not part of unixodbc package - cd / && \ - apt-get update -yqq && \ - apt-get install -y whiptail \ - unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \ - && dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \ - && cd unixodbc-*/ \ - && ./configure && make && make install \ - && cp -v ./exe/odbc_config /usr/local/bin/ && \ - - # Fake uname for install.sh - printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \ - | tee /usr/local/bin/uname \ - && chmod +x /usr/local/bin/uname && \ - - # Microsoft ODBC Driver 13 for Linux - # Note: There's a copy of this tar on my hubiC - cd / && \ - wget -nv -O msodbcsql-13.0.0.0.tar.gz \ - "https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \ - && tar -xf msodbcsql-13.0.0.0.tar.gz \ - && cd msodbcsql-*/ \ - && ldd lib64/libmsodbcsql-13.0.so.0.0 \ - && ./install.sh install --accept-license \ - && ls -l /opt/microsoft/msodbcsql/ \ - && odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \ - - - ##################################### - # Install sqlsrv y pdo_sqlsrv - # extensions: - ##################################### - - pecl install sqlsrv-4.0.8 && \ - pecl install pdo_sqlsrv-4.0.8 && \ - - ##################################### - # Set locales for the container - ##################################### - - apt-get install -y locales \ - && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \ - && locale-gen \ - && echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini \ - && echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini \ + curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \ + curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ + apt-get update && \ + ACCEPT_EULA=Y apt-get install -yqq msodbcsql=13.0.1.0-1 mssql-tools=14.0.2.0-1 && \ + apt-get install -yqq unixodbc-dev-utf16 && \ + ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd && \ + ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp && \ + ACCEPT_EULA=Y apt-get install -yqq \ + unixodbc \ + unixodbc-dev \ + libgss3 \ + odbcinst \ + msodbcsql \ + locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + pecl install sqlsrv-4.3.0 pdo_sqlsrv-4.3.0 && \ + apt-get install -y locales && \ + echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && \ + locale-gen && \ + echo "extension=sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-sqlsrv.ini && \ + echo "extension=pdo_sqlsrv.so" > /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini \ ;fi #####################################