Commit 163a7f3f authored by Jérome Perrin's avatar Jérome Perrin

PHP 8

After updating curl, php 7 fail to build. This updates to php 8 and as a consequence updates lamp softwares to their latest versions

See merge request !1449
parents d8409763 2e6a8687
...@@ -24,11 +24,13 @@ extends = ...@@ -24,11 +24,13 @@ extends =
../icu/buildout.cfg ../icu/buildout.cfg
../openssl/buildout.cfg ../openssl/buildout.cfg
../libnsl/buildout.cfg ../libnsl/buildout.cfg
../sqlite3/buildout.cfg
../oniguruma/buildout.cfg
[php-redis] [php-redis]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://github.com/phpredis/phpredis/archive/5.0.0.tar.gz url = https://github.com/phpredis/phpredis/archive/refs/tags/6.0.1.tar.gz
md5sum = 4f11e0567a10c29394aae52a4fa8bb40 md5sum = 99dd5f16bac2b0c2ec049ce21e346705
configure-command = configure-command =
phpize && ./configure phpize && ./configure
environment = environment =
...@@ -36,12 +38,10 @@ environment = ...@@ -36,12 +38,10 @@ environment =
[php-imagick] [php-imagick]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://github.com/Imagick/imagick/archive/3.4.4.tar.gz url = https://github.com/Imagick/imagick/archive/refs/tags/3.7.0.tar.gz
md5sum = ef6cbadd834eb306bd91874a8f5dea03 md5sum = 4dbe07a2ef15d3c9e4c54d5685bdfbc9
configure-command = configure-command =
phpize && ./configure phpize && ./configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
environment = environment =
PKG_CONFIG_PATH=${imagemagick:location}/lib/pkgconfig PKG_CONFIG_PATH=${imagemagick:location}/lib/pkgconfig
PATH=${pkgconfig:location}/bin:${imagemagick:location}/bin:${autoconf:location}/bin:${automake:location}/bin:${m4:location}/bin:${apache-php:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${imagemagick:location}/bin:${autoconf:location}/bin:${automake:location}/bin:${m4:location}/bin:${apache-php:location}/bin:%(PATH)s
...@@ -49,8 +49,8 @@ environment = ...@@ -49,8 +49,8 @@ environment =
[php-apcu] [php-apcu]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://github.com/krakjoe/apcu/archive/v5.1.17.tar.gz url = https://github.com/krakjoe/apcu/archive/refs/tags/v5.1.22.tar.gz
md5sum = f64b6cd5108aea63df2d5cc301c58b2b md5sum = 3c4c70004d1ac0e56487fcdcbb045ff6
configure-command = configure-command =
phpize && ./configure phpize && ./configure
configure-options = configure-options =
...@@ -65,55 +65,41 @@ shared = false ...@@ -65,55 +65,41 @@ shared = false
[apache-php] [apache-php]
recipe = slapos.recipe.cmmi recipe = slapos.recipe.cmmi
url = https://www.php.net/distributions/php-7.3.6.tar.bz2 url = https://www.php.net/distributions/php-8.2.11.tar.xz
md5sum = bde9a912fb311182cd460dad1abbc247 md5sum = 8e7f61ff53fd36be68643080c5114df9
configure-options = configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_} --disable-static
--disable-zend-test
--enable-exif
--enable-ftp
--enable-gd
--enable-intl
--enable-mbstring
--enable-pcntl
--enable-session
--with-apxs2=${apache:location}/bin/apxs --with-apxs2=${apache:location}/bin/apxs
--with-libxml-dir=${libxml2:location}
--with-mysql=${mariadb:location}
--with-zlib-dir=${zlib:location}
--with-bz2=${bzip2:location} --with-bz2=${bzip2:location}
--with-gd --with-curl
--with-jpeg-dir=${libjpeg:location}
--with-png-dir=${libpng:location}
--enable-gd-native-ttf
--with-freetype-dir=${freetype:location}
--with-pdo-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-curl=${curl:location}
--with-imap=${cclient:location}
--with-iconv-dir=${libiconv:location}
--with-gettext=${gettext:location} --with-gettext=${gettext:location}
--with-ldap=${openldap:location}
--with-imap-ssl --with-imap-ssl
--with-imap=${cclient:location}
--with-ldap=${openldap:location}
--with-mysqli=mysqlnd
--with-openssl=${openssl:location} --with-openssl=${openssl:location}
--with-libzip=${libzip:location} --with-pdo-mysql=mysqlnd
--with-icu-dir=${icu:location} --with-zip
--with-password-argon2=${argon2:location} --with-zlib
--enable-apcu-bc
--enable-intl
--enable-libxml
--enable-json
--enable-mbstring
--enable-pcntl
--enable-session
--enable-exif
--enable-ftp
--enable-zip
--disable-zend-test
--disable-static
# Changing TMPDIR is required for PEAR installation. # Changing TMPDIR is required for PEAR installation.
# It will create a pear/temp directory under the SR instead of a shared /tmp/pear/temp. # It will create a pear/temp directory under the SR instead of a shared /tmp/pear/temp.
# XXX we could mkdir tmp there # XXX we could mkdir tmp there
environment = environment =
PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig PKG_CONFIG_PATH=${libxml2:location}/lib/pkgconfig:${openssl:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig:${sqlite3:location}/lib/pkgconfig:${curl:location}/lib/pkgconfig:${icu:location}/lib/pkgconfig:${oniguruma:location}/lib/pkgconfig:${argon2:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig:${mariadb:location}/lib/pkgconfig:${libjpeg:location}/lib/pkgconfig:${libpng:location}/lib/pkgconfig:${freetype:location}/lib/pkgconfig:${libiconv:location}/lib/pkgconfig:${libzip:location}/lib/pkgconfig
PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:${libxml2:location}/bin:%(PATH)s PATH=${pkgconfig:location}/bin:${bzip2:location}/bin:${libxml2:location}/bin:%(PATH)s
CPPFLAGS=-I${libzip:location}/include CPPFLAGS=-I${libzip:location}/include
LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${curl:location}/lib -L${libtool:location}/lib -Wl,-rpath -Wl,${libtool:location}/lib -L${mariadb:location}/lib -Wl,-rpath -Wl,${mariadb:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${libzip:location}/lib -Wl,-rpath -Wl,${libzip:location}/lib -L${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${zstd:location}/lib -L${libnsl:location}/lib -Wl,-rpath -Wl,${libnsl:location}/lib LDFLAGS=-L${bzip2:location}/lib -Wl,-rpath -Wl,${bzip2:location}/lib -Wl,-rpath -Wl,${curl:location}/lib -L${libtool:location}/lib -Wl,-rpath -Wl,${libtool:location}/lib -L${mariadb:location}/lib -Wl,-rpath -Wl,${mariadb:location}/lib -L${zlib:location}/lib -Wl,-rpath -Wl,${zlib:location}/lib -L${libzip:location}/lib -Wl,-rpath -Wl,${libzip:location}/lib -L${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${argon2:location}/lib/x86_64-linux-gnu -Wl,-rpath -Wl,${zstd:location}/lib -L${libnsl:location}/lib -Wl,-rpath -Wl,${libnsl:location}/lib -L${sqlite3:location}/lib -Wl,-rpath -Wl,${sqlite3:location}/lib
TMPDIR=${buildout:parts-directory}/${:_buildout_section_name_} TMPDIR=@@LOCATION@@
HOME=${apache:location} HOME=${apache:location}
[xml-rpc] [xml-rpc]
......
[buildout] [buildout]
extends = extends =
buildout.hash.cfg buildout.hash.cfg
# LAMP stands for Linux, Apache, MySQL, PHP
../../stack/lamp/buildout.cfg ../../stack/lamp/buildout.cfg
# "slapos" stack describes basic things needed for 99.9% of SlapOS Software
../../stack/slapos.cfg ../../stack/slapos.cfg
../../component/diffutils/buildout.cfg ../../component/diffutils/buildout.cfg
parts = parts =
# Call installation of slapos.cookbook egg defined in stack/slapos.cfg (needed
# in 99,9% of Slapos Software Releases)
slapos-cookbook slapos-cookbook
# to create file instance.cfg of all instances
lamp-instance lamp-instance
# download bas
# inherited by modules that need to download files
[matomo-download] [matomo-download]
recipe = slapos.recipe.build:download recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
...@@ -24,12 +16,10 @@ url = ${:_profile_base_location_}/${:filename} ...@@ -24,12 +16,10 @@ url = ${:_profile_base_location_}/${:filename}
# download matomo # download matomo
# The specific process of downloading and decompressing is defined in stack lamp # The specific process of downloading and decompressing is defined in stack lamp
[application] [application]
url = https://builds.matomo.org/matomo-4.7.1.zip url = https://builds.matomo.org/matomo-4.15.1.zip
md5sum = 8d592676bc2c0d51363ad7b2caf171fe md5sum = d7d2c4f94cb77af859d0cee8e9e0dbdb
archive-root = matomo archive-root = matomo
# give the location of the instance-matomo.cfg fil
# Without it the instance-matomo.cfg file will not be executed
[custom-application-deployment] [custom-application-deployment]
path = ${template-matomo-instance:output} path = ${template-matomo-instance:output}
part-list = matomo-backup.sh matomo-backup-cron part-list = matomo-backup.sh matomo-backup-cron
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
# not need these here). # not need these here).
[template-nextcloud-install.sh] [template-nextcloud-install.sh]
filename = nextcloud-install.sh.in filename = nextcloud-install.sh.in
md5sum = 094c26b177fdde69b41d81b89bab542b md5sum = 965cc84d4c8e39f06850fac361575647
[template-nextcloud-config.json] [template-nextcloud-config.json]
filename = nextcloud-config.json.in filename = nextcloud-config.json.in
...@@ -22,4 +22,4 @@ md5sum = 6f42f0a8c5e5c0c657541a65c4d9ee57 ...@@ -22,4 +22,4 @@ md5sum = 6f42f0a8c5e5c0c657541a65c4d9ee57
[template-nextcloud-instance] [template-nextcloud-instance]
filename = nextcloud-instance.cfg.in filename = nextcloud-instance.cfg.in
md5sum = e144dc4cdc3bd0a9be81ac0cc2cfdbd4 md5sum = a59b081bd39f61c7361fdb6c54fc2039
...@@ -134,8 +134,10 @@ EOF ...@@ -134,8 +134,10 @@ EOF
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set richdocuments wopi_url --value="{{ parameter_dict.get('collabora-url', '') }}" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set richdocuments wopi_url --value="{{ parameter_dict.get('collabora-url', '') }}"
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed stun_servers --value="[\"{{ parameter_dict['stun-server'] }}\"]" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed stun_servers --value="[\"{{ parameter_dict['stun-server'] }}\"]"
php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed turn_servers --value="[{\"server\":\"{{ parameter_dict['turn-server'] }}\",\"secret\":\"{{ parameter_dict['turn-secret'] }}\",\"protocols\":\"udp,tcp\"}]" php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set spreed turn_servers --value="[{\"server\":\"{{ parameter_dict['turn-server'] }}\",\"secret\":\"{{ parameter_dict['turn-secret'] }}\",\"protocols\":\"udp,tcp\"}]"
sed -i 's#useCronUpdates\s*=.*#useCronUpdates = false#g' {{ parameter_dict['data-dir'] }}/news/config/config.ini php_cmd {{ parameter_dict['nextcloud'] }}/occ config:app:set news useCronUpdates --value=false
if [ -f "{{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL" ]; then if [ -f "{{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL" ]; then
rm {{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL rm {{ parameter_dict['nextcloud'] }}/config/CAN_INSTALL
fi fi
date > {{ parameter_dict['nextcloud'] }}/.slapos-install-done
...@@ -105,6 +105,10 @@ input = inline:#!/bin/bash ...@@ -105,6 +105,10 @@ input = inline:#!/bin/bash
echo "Nextcloud is not installed."; echo "Nextcloud is not installed.";
exit 1; exit 1;
fi fi
if [ ! -f "${instance-parameter:nextcloud}/.slapos-install-done" ]; then
echo "Nextcloud is not configured.";
exit 1;
fi
output = ${directory:bin}/check-nc-install output = ${directory:bin}/check-nc-install
mode = 744 mode = 744
......
...@@ -9,8 +9,8 @@ recipe = slapos.recipe.build:download ...@@ -9,8 +9,8 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:filename} url = ${:_profile_base_location_}/${:filename}
[application] [application]
url = https://download.nextcloud.com/server/releases/nextcloud-16.0.3.tar.bz2 url = https://download.nextcloud.com/server/releases/nextcloud-27.1.2.tar.bz2
md5sum = d81902d2dec5d547779bec6336a438be md5sum = a23afb146993d7449b78395739f27742
[template-nextcloud-install.sh] [template-nextcloud-install.sh]
<= nc-download <= nc-download
...@@ -46,37 +46,37 @@ shared = true ...@@ -46,37 +46,37 @@ shared = true
[news-updater] [news-updater]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/news-updater/archive/10.0.1.tar.gz url = https://github.com/nextcloud/news-updater/archive/11.0.0.tar.gz
md5sum = 37387199c0482e08d01e9294cd95eaad md5sum = 1e75222638cab49d3f66b7c76394f104
[nextcloud-app-spreed] [nextcloud-app-spreed]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/spreed/releases/download/v6.0.5/spreed-6.0.5.tar.gz url = https://github.com/nextcloud-releases/spreed/releases/download/v17.1.1/spreed-v17.1.1.tar.gz
md5sum = 002c09e543edc141f6ca848782573376 md5sum = 24e6be17fb232a3c18de5e9c0a03c7c3
[nextcloud-app-richdocuments] [nextcloud-app-richdocuments]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/richdocuments/releases/download/v3.7.17/richdocuments.tar.gz url = https://github.com/nextcloud/richdocuments/releases/download/v8.2.0/richdocuments.tar.gz
md5sum = 5559cd14a4a0a93d2a39b260538839f8 md5sum = 1e9176b0f08670996488572aea081996
[nextcloud-app-calendar] [nextcloud-app-calendar]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/calendar/releases/download/v1.7.3/calendar.tar.gz url = https://github.com/nextcloud-releases/calendar/releases/download/v4.5.2/calendar-v4.5.2.tar.gz
md5sum = ab398d943eb6939e3e71df5b1a1abf87 md5sum = 88adcbc34ef7e461f515ba96b82365d9
[nextcloud-app-rainloop] [nextcloud-app-snappymail]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/pierre-alain-b/rainloop-nextcloud/releases/download/6.1.4/rainloop.tar.gz url = https://snappymail.eu/repository/nextcloud/snappymail-2.29.1-nextcloud.tar.gz
md5sum = 7cefc3dd3bd52b42d381de7d7447691f md5sum = b7500ea4e089d8a9e3fa381d6df3a3b0
[nextcloud-app-news] [nextcloud-app-news]
<= nc-download-unpacked <= nc-download-unpacked
url = https://github.com/nextcloud/news/releases/download/14.2.2/news.tar.gz url = https://github.com/nextcloud/news/releases/download/24.0.0/news.tar.gz
md5sum = f48d4b5dcbc078131bb86a4ae619da99 md5sum = 8e1a7e3e49e6dbd754bc1b9ff2f85371
[nextcloud-apps] [nextcloud-apps]
spreed = ${nextcloud-app-spreed:location} spreed = ${nextcloud-app-spreed:location}
richdocuments = ${nextcloud-app-richdocuments:location} richdocuments = ${nextcloud-app-richdocuments:location}
calendar = ${nextcloud-app-calendar:location} calendar = ${nextcloud-app-calendar:location}
rainloop = ${nextcloud-app-rainloop:location} snappymail = ${nextcloud-app-snappymail:location}
news = ${nextcloud-app-news:location} news = ${nextcloud-app-news:location}
...@@ -279,10 +279,15 @@ class TestServices(NextCloudTestCase): ...@@ -279,10 +279,15 @@ class TestServices(NextCloudTestCase):
"turn_servers" "turn_servers"
]) ])
self.assertEqual(turn_config.strip(), b'[{"server":"","secret":"","protocols":"udp,tcp"}]') self.assertEqual(turn_config.strip(), b'[{"server":"","secret":"","protocols":"udp,tcp"}]')
news_config_file = os.path.join(self.partition_dir, 'srv/data/news/config/config.ini')
with open(news_config_file) as f: news_config = subprocess.check_output([
config = f.read() php_bin,
self.assertRegex(config, r"(useCronUpdates\s+=\s+false)") occ,
"config:app:get",
"news",
"useCronUpdates"
])
self.assertEqual(news_config.strip(), b'false')
class TestNextCloudParameters(NextCloudTestCase): class TestNextCloudParameters(NextCloudTestCase):
......
...@@ -82,4 +82,4 @@ LoadModule rewrite_module modules/mod_rewrite.so ...@@ -82,4 +82,4 @@ LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so LoadModule filter_module modules/mod_filter.so
LoadModule php7_module modules/libphp7.so LoadModule php_module modules/libphp.so
...@@ -18,7 +18,7 @@ md5sum = 7854dd0edd48f2d91c16412c4a875ca4 ...@@ -18,7 +18,7 @@ md5sum = 7854dd0edd48f2d91c16412c4a875ca4
[instance-apache-php] [instance-apache-php]
filename = instance-apache-php.cfg.in filename = instance-apache-php.cfg.in
md5sum = 9ab14922535d4d85e0db8602c47a707d md5sum = 1e4762a6a7631d517fb45c84f9c989fe
[instance-lamp] [instance-lamp]
filename = instance-lamp.cfg.jinja2.in filename = instance-lamp.cfg.jinja2.in
...@@ -26,11 +26,11 @@ md5sum = 347ddf1516bf2ddb5f6fb23539382847 ...@@ -26,11 +26,11 @@ md5sum = 347ddf1516bf2ddb5f6fb23539382847
[template-apache.conf] [template-apache.conf]
filename = apache.conf.in filename = apache.conf.in
md5sum = 04080510698732d84122b464fdb08c6a md5sum = e49410f0a4bf28993a56bb28aff0a6f0
[template-php.ini] [template-php.ini]
filename = php.ini.in filename = php.ini.in
md5sum = 980f603c34fcb008ce73a9dde2dbceb3 md5sum = bf21c6d68ef85ee7de090375424d0c5c
[template-apache-httpd] [template-apache-httpd]
filename = apache-httpd.conf.in filename = apache-httpd.conf.in
......
...@@ -215,7 +215,6 @@ php.post_max_size = 10240M ...@@ -215,7 +215,6 @@ php.post_max_size = 10240M
php.session.cookie_secure = True php.session.cookie_secure = True
php.max_execution_time = 1800 php.max_execution_time = 1800
php.max_input_time = 3600 php.max_input_time = 3600
php.output_buffering = 'Off'
php.max_file_uploads = 100 php.max_file_uploads = 100
[php-bin] [php-bin]
......
...@@ -43,7 +43,7 @@ apc.ttl=7200 ...@@ -43,7 +43,7 @@ apc.ttl=7200
apc.user_ttl=7200 apc.user_ttl=7200
apc.gc_ttl=3600 apc.gc_ttl=3600
apc.num_files_hint=1024 apc.num_files_hint=1024
apc.enable_cli=0 apc.enable_cli=1
apc.max_file_size=5M apc.max_file_size=5M
apc.cache_by_default=1 apc.cache_by_default=1
apc.use_request_time=1 apc.use_request_time=1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment