From 4286941d538e7fb0a50bf56c8d5310c967a05e6d Mon Sep 17 00:00:00 2001 From: Odmin Date: Thu, 11 Mar 2021 01:17:46 +0300 Subject: [PATCH] php 7.4 dependency hell fix --- balancer/php/Dockerfile | 104 ++++++++++++++++++++++--------------- php/latest/Dockerfile | 104 +++++++++++++++++++++---------------- php/php7.4/Dockerfile | 104 +++++++++++++++++++++---------------- websites/latest/Dockerfile | 11 +++- websites/php7.4/Dockerfile | 13 +++-- 5 files changed, 198 insertions(+), 138 deletions(-) diff --git a/balancer/php/Dockerfile b/balancer/php/Dockerfile index 26df128c2..b658799a0 100644 --- a/balancer/php/Dockerfile +++ b/balancer/php/Dockerfile @@ -20,7 +20,7 @@ ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux ARG P4PHP_VER=r20.1 ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz -ARG P4MODULE_PATH=/usr/lib/php/20190902 +ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ################################################################## # Files and folders @@ -31,13 +31,12 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P # Installing PHP7 ################################################################## #installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ libmemcached-dev \ + smbclient libsmbclient libsmbclient-dev \ php7.4 \ php7.4-dev \ php7.4-fpm \ @@ -70,7 +69,14 @@ RUN cd ${MAKE_DIR} && \ make && \ make test && \ make install && \ - cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR} + + +################################################################## +# compilling smbclient +################################################################## +RUN pecl install smbclient && \ + cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR} ################################################################## ################################################################## @@ -88,59 +94,58 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ARG PHP_VER=7.4 ARG PHP_DIR=/etc/php/${PHP_VER} ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## # Installing PHP7 ################################################################## -#installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' - #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ - libmemcached-dev \ php7.4 \ php7.4-dev \ php7.4-fpm \ php7.4-cli \ php7.4-cgi \ php-pear \ - php-gmp \ - php-snmp \ - php-ldap \ - php-mail \ - php-soap \ - php-mysql \ - php-memcached \ - php-memcache \ - php-igbinary \ - php-curl \ - php-gd \ - php-intl \ - php-zip \ - php-bcmath \ - php-imap \ - php-pspell \ - php-sqlite3 \ - php-tidy \ - php-xmlrpc \ - php-xml \ - php-mbstring \ - php-apcu \ - php-common \ - php-json \ - php-readline \ - php-enchant \ - php-ssh2 \ - php-oauth \ - php-gmagick \ - php-gnupg \ - php-redis \ - php-smbclient \ - php-yaml \ - php-geoip \ + php7.4-gmp \ + php7.4-snmp \ + php7.4-ldap \ + php7.4-mail \ + php7.4-soap \ + php7.4-mysql \ + php7.4-memcached \ + php7.4-memcache \ + php7.4-igbinary \ + php7.4-interbase \ + php7.4-curl \ + php7.4-gd \ + php7.4-intl \ + php7.4-zip \ + php7.4-bcmath \ + php7.4-imap \ + php7.4-pspell \ + php7.4-sqlite3 \ + php7.4-tidy \ + php7.4-xmlrpc \ + php7.4-xml \ + php7.4-mbstring \ + php7.4-apcu \ + php7.4-common \ + php7.4-json \ + php7.4-readline \ + php7.4-enchant \ + php7.4-ssh2 \ + php7.4-oauth \ + php7.4-gmagick \ + php7.4-gnupg \ + php7.4-redis \ + smbclient libsmbclient \ +# php-smbclient \ + php7.4-yaml \ + php7.4-geoip \ sendmail && \ + update-alternatives --set php /usr/bin/php7.4 && \ phpenmod \ snmp \ gmp \ @@ -205,6 +210,19 @@ RUN echo "extension=perforce.so" > ${P4_PHP_INI} && \ php -m && \ php -v +################################################################## +# Installing smbclient addon +################################################################## +COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH} +RUN echo "extension=smbclient.so" > ${SMB_PHP_INI} && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \ + php -m && \ + php -v + + + ################################################################## # Installing Composer addon ################################################################## diff --git a/php/latest/Dockerfile b/php/latest/Dockerfile index 6fad82245..aa52f1c23 100644 --- a/php/latest/Dockerfile +++ b/php/latest/Dockerfile @@ -20,7 +20,7 @@ ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux ARG P4PHP_VER=r20.1 ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz -ARG P4MODULE_PATH=/usr/lib/php/20190902 +ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ################################################################## # Files and folders @@ -30,14 +30,11 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P ################################################################## # Installing PHP7 ################################################################## -#installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' - #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ libmemcached-dev \ + smbclient libsmbclient libsmbclient-dev \ php7.4 \ php7.4-dev \ php7.4-fpm \ @@ -70,7 +67,14 @@ RUN cd ${MAKE_DIR} && \ make && \ make test && \ make install && \ - cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR} + + +################################################################## +# compilling smbclient +################################################################## +RUN pecl install smbclient && \ + cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR} ################################################################## ################################################################## @@ -84,14 +88,11 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ARG PHP_VER=7.4 ARG PHP_DIR=/etc/php/${PHP_VER} ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## # Installing PHP7 ################################################################## -#installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' - #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ @@ -102,42 +103,44 @@ RUN apt-get update && \ php7.4-cli \ php7.4-cgi \ php-pear \ - php-gmp \ - php-snmp \ - php-ldap \ - php-mail \ - php-soap \ - php-mysql \ - php-memcached \ - php-memcache \ - php-igbinary \ - php-interbase \ - php-curl \ - php-gd \ - php-intl \ - php-zip \ - php-bcmath \ - php-imap \ - php-pspell \ - php-sqlite3 \ - php-tidy \ - php-xmlrpc \ - php-xml \ - php-mbstring \ - php-apcu \ - php-common \ - php-json \ - php-readline \ - php-enchant \ - php-ssh2 \ - php-oauth \ - php-gmagick \ - php-gnupg \ - php-redis \ - php-smbclient \ - php-yaml \ - php-geoip \ + php7.4-gmp \ + php7.4-snmp \ + php7.4-ldap \ + php7.4-mail \ + php7.4-soap \ + php7.4-mysql \ + php7.4-memcached \ + php7.4-memcache \ + php7.4-igbinary \ + php7.4-interbase \ + php7.4-curl \ + php7.4-gd \ + php7.4-intl \ + php7.4-zip \ + php7.4-bcmath \ + php7.4-imap \ + php7.4-pspell \ + php7.4-sqlite3 \ + php7.4-tidy \ + php7.4-xmlrpc \ + php7.4-xml \ + php7.4-mbstring \ + php7.4-apcu \ + php7.4-common \ + php7.4-json \ + php7.4-readline \ + php7.4-enchant \ + php7.4-ssh2 \ + php7.4-oauth \ + php7.4-gmagick \ + php7.4-gnupg \ + php7.4-redis \ + smbclient libsmbclient \ +# php-smbclient \ + php7.4-yaml \ + php7.4-geoip \ sendmail && \ + update-alternatives --set php /usr/bin/php7.4 && \ phpenmod \ snmp \ gmp \ @@ -203,6 +206,17 @@ RUN echo "extension=perforce.so" > ${P4_PHP_INI} && \ php -m && \ php -v +################################################################## +# Installing smbclient addon +################################################################## +COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH} +RUN echo "extension=smbclient.so" > ${SMB_PHP_INI} && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \ + php -m && \ + php -v + ################################################################## # Installing Composer addon ################################################################## diff --git a/php/php7.4/Dockerfile b/php/php7.4/Dockerfile index 6fad82245..aa52f1c23 100644 --- a/php/php7.4/Dockerfile +++ b/php/php7.4/Dockerfile @@ -20,7 +20,7 @@ ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux ARG P4PHP_VER=r20.1 ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz -ARG P4MODULE_PATH=/usr/lib/php/20190902 +ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ################################################################## # Files and folders @@ -30,14 +30,11 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P ################################################################## # Installing PHP7 ################################################################## -#installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' - #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ libmemcached-dev \ + smbclient libsmbclient libsmbclient-dev \ php7.4 \ php7.4-dev \ php7.4-fpm \ @@ -70,7 +67,14 @@ RUN cd ${MAKE_DIR} && \ make && \ make test && \ make install && \ - cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR} + cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR} + + +################################################################## +# compilling smbclient +################################################################## +RUN pecl install smbclient && \ + cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR} ################################################################## ################################################################## @@ -84,14 +88,11 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ARG PHP_VER=7.4 ARG PHP_DIR=/etc/php/${PHP_VER} ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## # Installing PHP7 ################################################################## -#installing php repo -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list' - #Install base packages RUN apt-get update && \ apt-get install -y --allow-unauthenticated \ @@ -102,42 +103,44 @@ RUN apt-get update && \ php7.4-cli \ php7.4-cgi \ php-pear \ - php-gmp \ - php-snmp \ - php-ldap \ - php-mail \ - php-soap \ - php-mysql \ - php-memcached \ - php-memcache \ - php-igbinary \ - php-interbase \ - php-curl \ - php-gd \ - php-intl \ - php-zip \ - php-bcmath \ - php-imap \ - php-pspell \ - php-sqlite3 \ - php-tidy \ - php-xmlrpc \ - php-xml \ - php-mbstring \ - php-apcu \ - php-common \ - php-json \ - php-readline \ - php-enchant \ - php-ssh2 \ - php-oauth \ - php-gmagick \ - php-gnupg \ - php-redis \ - php-smbclient \ - php-yaml \ - php-geoip \ + php7.4-gmp \ + php7.4-snmp \ + php7.4-ldap \ + php7.4-mail \ + php7.4-soap \ + php7.4-mysql \ + php7.4-memcached \ + php7.4-memcache \ + php7.4-igbinary \ + php7.4-interbase \ + php7.4-curl \ + php7.4-gd \ + php7.4-intl \ + php7.4-zip \ + php7.4-bcmath \ + php7.4-imap \ + php7.4-pspell \ + php7.4-sqlite3 \ + php7.4-tidy \ + php7.4-xmlrpc \ + php7.4-xml \ + php7.4-mbstring \ + php7.4-apcu \ + php7.4-common \ + php7.4-json \ + php7.4-readline \ + php7.4-enchant \ + php7.4-ssh2 \ + php7.4-oauth \ + php7.4-gmagick \ + php7.4-gnupg \ + php7.4-redis \ + smbclient libsmbclient \ +# php-smbclient \ + php7.4-yaml \ + php7.4-geoip \ sendmail && \ + update-alternatives --set php /usr/bin/php7.4 && \ phpenmod \ snmp \ gmp \ @@ -203,6 +206,17 @@ RUN echo "extension=perforce.so" > ${P4_PHP_INI} && \ php -m && \ php -v +################################################################## +# Installing smbclient addon +################################################################## +COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH} +RUN echo "extension=smbclient.so" > ${SMB_PHP_INI} && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \ + ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \ + php -m && \ + php -v + ################################################################## # Installing Composer addon ################################################################## diff --git a/websites/latest/Dockerfile b/websites/latest/Dockerfile index 15af026fb..70697da92 100644 --- a/websites/latest/Dockerfile +++ b/websites/latest/Dockerfile @@ -6,6 +6,7 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ARG PHP_VER=7.4 ARG PHP_DIR=/etc/php/${PHP_VER} ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## # Installing Apache2 @@ -22,8 +23,7 @@ RUN apt-get update && \ libapache2-mod-php7.4 \ libapache2-mod-webauth \ libapache2-mod-xforward \ - libapache2-mod-security2 \ - libmemcached-dev && \ + libapache2-mod-security2 && \ a2enmod \ php7.4 \ rewrite \ @@ -66,6 +66,13 @@ RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ php -m && \ php -v +################################################################## +# Installing smbclient addon +################################################################## +RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \ + php -m && \ + php -v + ################################################################## # cleaninig up ################################################################## diff --git a/websites/php7.4/Dockerfile b/websites/php7.4/Dockerfile index 6ecb9504f..70697da92 100644 --- a/websites/php7.4/Dockerfile +++ b/websites/php7.4/Dockerfile @@ -1,4 +1,4 @@ -FROM epicmorg/php:php7.4 +FROM epicmorg/php:latest LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive @@ -6,6 +6,7 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20190902 ARG PHP_VER=7.4 ARG PHP_DIR=/etc/php/${PHP_VER} ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## # Installing Apache2 @@ -22,8 +23,7 @@ RUN apt-get update && \ libapache2-mod-php7.4 \ libapache2-mod-webauth \ libapache2-mod-xforward \ - libapache2-mod-security2 \ - libmemcached-dev && \ + libapache2-mod-security2 && \ a2enmod \ php7.4 \ rewrite \ @@ -66,6 +66,13 @@ RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ php -m && \ php -v +################################################################## +# Installing smbclient addon +################################################################## +RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \ + php -m && \ + php -v + ################################################################## # cleaninig up ##################################################################