Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:GA
php7
php7.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File php7.spec of Package php7
# # spec file for package php7 # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define debug_build 0 %define asan_build 0 # these macros are provided by apache-rpm-macros in newer distros %define apache_apxs %(ls -1 /usr/{,s}bin/apxs{,2} 2>/dev/null | head -n 1) %define apache_mmn %(MMN=$(%{apache_apxs} -q LIBEXECDIR)_MMN; test -x $MMN && $MMN) %define apache_libexecdir %(%{apache_apxs} -q LIBEXECDIR) %define apache_sysconfdir %(%{apache_apxs} -q SYSCONFDIR) %bcond_without make_test # as soon as suhosin is ported to php7, this with_suhosin and # related conditions can be removed entirely %bcond_with suhosin # firebird first added in 11.2 %if 0%{suse_version} < 1120 %define _without_firebird 1 %endif # systemd first added in 12.1 %if 0%{suse_version} < 1210 %define _without_systemd 1 %endif # firebird disabled due to build errors: https://bugs.php.net/bug.php?id=70071 %bcond_without firebird %bcond_without spell %bcond_without systemd %global apiver 20151012 %global zendver 20151012 %define suhosin_version 0.9.38 %define pkg_name php7 %define extension_dir %{_libdir}/%{pkg_name}/extensions %define peardir %{_datadir}/%{pkg_name}/PEAR %define php_sysconf %{_sysconfdir}/%{pkg_name} %define _x11prefix %(pkg-config --variable=prefix xft) %define need_libxml2_hack %(if [ -e %{_includedir}/libxml/parser.h ]; then if grep -q XML_PARSE_OLDSAX %{_includedir}/libxml/parser.h; then echo 1; else echo 0; fi; else echo 0; fi) Name: php7 Version: 7.0.7 Release: 0 Summary: PHP7 Core Files License: PHP-3.01 Group: Development/Languages/Other Url: http://www.php.net Source0: http://us2.php.net/distributions/php-%{version}.tar.xz Source1: php-suse-addons.tar.bz2 Source2: https://download.suhosin.org/suhosin-%{suhosin_version}.tar.gz Source3: https://pear.php.net/install-pear-nozlib.phar Source4: README.SUSE-pear Source5: README.macros Source6: macros.php Source7: php-fpm.init Source8: http://us3.php.net/distributions/php-%{version}.tar.xz.asc Source9: php7.keyring Source10: php-fpm.tmpfiles.d Source100: build-test.sh ## SUSE specific patches Patch0: php7-phpize.patch Patch2: php7-php-config.patch Patch3: php7-ini.patch Patch4: php7-no-build-date.patch Patch5: php7-pts.patch Patch6: php7-openssl.patch Patch7: php7-systzdata-v13.patch Patch8: php7-systemd-unit.patch Patch9: php7-depdb-path.patch ## Bugfix patches Patch10: php7-mbstring-missing-return.patch Patch11: php7-BNC-457056.patch # following patch is to fix configure tests for crypt; the aim is to have php # built against glibc's crypt; problem is, that our glibc doesn't support extended # DES, so as soon as upstream fixes this, don't forgot to remove extended DES # from their checking as I indicated in crypt-tests.patch yet, or php will # silently use his own implementation again Patch12: php7-crypt-tests.patch # https://bugs.php.net/bug.php?id=53007 Patch14: php7-odbc-cmp-int-cast.patch # https://bugs.php.net/bug.php?id=70461 Patch15: php7-fix_net-snmp_disable_MD5.patch # https://bugs.php.net/bug.php?id=70015 Patch16: aarch64-mult.patch Patch17: php-CVE-2016-5772.patch Patch18: php-CVE-2016-5770.patch Patch19: php-CVE-2016-5769.patch Patch20: php-CVE-2016-5766.patch Patch21: php-CVE-2016-5773.patch Patch22: php-CVE-2016-6128.patch Patch23: php-CVE-2016-6161.patch Patch24: php-CVE-2016-6292.patch Patch25: php-CVE-2016-6295.patch Patch26: php-CVE-2016-6297.patch Patch27: php-CVE-2016-6291.patch Patch28: php-CVE-2016-6289.patch Patch29: php-CVE-2016-6290.patch Patch30: php-CVE-2016-5399.patch Patch31: php-CVE-2016-6296.patch Patch32: php-CVE-2016-6207.patch Patch33: php-CVE-2016-7131,7132.patch Patch34: php-CVE-2016-7129.patch Patch35: php-CVE-2016-7133.patch Patch36: php-CVE-2016-7130.patch Patch37: php-CVE-2016-7134.patch Patch38: php-CVE-2016-4473.patch Patch39: php-CVE-2016-7128.patch Patch40: php-CVE-2016-7127.patch Patch41: php-CVE-2016-7126.patch Patch42: php-CVE-2016-7125.patch Patch43: php-CVE-2016-7124.patch Patch44: php-CVE-2016-7412.patch Patch45: php-CVE-2016-7417.patch Patch46: php-CVE-2016-7413.patch Patch47: php-CVE-2016-7418.patch Patch48: php-CVE-2016-7414.patch Patch49: php-CVE-2016-7416.patch Patch50: php-CVE-2016-7568.patch Patch51: php-CVE-2016-8670.patch Patch52: php-CVE-2016-6911.patch Patch53: php-CVE-2016-5385.patch Patch54: php-CVE-2016-9137.patch Patch55: php-CVE-2016-9933.patch Patch56: php-CVE-2016-9934.patch Patch57: php-CVE-2016-9935.patch Patch58: php-CVE-2016-9936.patch Patch59: php-CVE-2016-7480.patch Patch60: php-CVE-2017-5340.patch Patch61: php-CVE-2016-7478.patch Patch62: php-CVE-2016-7479.patch Patch63: php-CVE-2016-10161.patch Patch64: php-CVE-2016-10162.patch Patch65: php-CVE-2016-10158.patch Patch66: php-CVE-2016-10167.patch Patch67: php-CVE-2016-10168.patch Patch68: php-CVE-2016-10166.patch Patch69: php-CVE-2016-10159.patch Patch70: php-CVE-2016-10160.patch Patch71: php-CVE-2015-8994.patch Patch73: php-CVE-2017-6441.patch Patch74: php-CVE-2016-6294.patch Patch75: php-CVE-2017-9227.patch Patch76: php-CVE-2017-9226.patch Patch77: php-CVE-2017-9224.patch Patch78: php-CVE-2017-11142.patch Patch79: php-CVE-2017-11145.patch Patch80: php-CVE-2017-11146.patch Patch81: php-CVE-2016-10397.patch Patch82: php-CVE-2017-11147.patch Patch83: php-CVE-2017-11144.patch Patch84: php7-date-regenerate-lexers.patch Patch85: php-CVE-2017-11628.patch Patch86: php-CVE-2017-7890.patch Patch87: php7-insert-more-derefs.patch Patch88: php-CVE-2017-12932.patch Patch89: php-CVE-2017-12934.patch Patch90: php-CVE-2017-12933.patch Patch91: php7-Fix-bug-66773-66862.patch Patch92: php7-fix-wrong-reference-serialize.patch Patch93: php-CVE-2017-16642.patch Patch94: php-CVE-2017-9228.patch Patch95: php-CVE-2017-9229.patch Patch96: php-CVE-2018-5712.patch Patch97: php-CVE-2018-5711.patch Patch98: php7-pgsql-memory-leak.patch Patch99: php-CVE-2018-7584.patch Patch100: php7-splfileobject-escape-character.patch Patch101: php-CVE-2018-10545.patch Patch102: php-CVE-2018-10547.patch Patch103: php-CVE-2018-10546.patch Patch104: php-CVE-2018-10548.patch Patch105: php-CVE-2018-12882.patch Patch106: php-CVE-2018-14851.patch Patch107: php-CVE-2017-9120.patch Patch108: php-pcre-replace-impl-CWE-680.patch Patch109: php-CVE-2018-17082.patch Patch110: php-imap_open-script-injection.patch Patch111: php-CVE-2018-19935.patch Patch112: php-CVE-2019-6978.patch Patch113: php-CVE-2019-6977.patch # CVE-2019-9024 [bsc#1126821] Patch114: php-CVE-2019-9024.patch # CVE-2019-9020 [bsc#1126711] Patch115: php-CVE-2019-9020.patch # CVE-2018-20783 [bsc#1127122] Patch116: php-CVE-2018-20783.patch # CVE-2019-9021 [bsc#1126713] Patch117: php-CVE-2019-9021.patch # CVE-2019-9023 [bsc#1126823] Patch118: php-CVE-2019-9023.patch # CVE-2019-9641 [bsc#1128722] Patch119: php-CVE-2019-9641.patch # CVE-2019-9638 [bsc#1128889], CVE-2019-9639 [bsc#1128887] Patch120: php-CVE-2019-9638,9639.patch # CVE-2019-9640 [bsc#1128883] Patch121: php-CVE-2019-9640.patch # CVE-2019-9675 [bsc#1128886] Patch122: php-CVE-2019-9675.patch # CVE-2019-9637 [bsc#1128892] Patch123: php-CVE-2019-9637.patch # CVE-2019-11034 [bsc#1132838] Patch124: php-CVE-2019-11034.patch # CVE-2019-11035 [bsc#1132837] Patch125: php-CVE-2019-11035.patch # CVE-2019-11036 [bsc#1134322] Patch126: php-CVE-2019-11036.patch # CVE-2019-11040 [bsc#1138172] Patch127: php-CVE-2019-11040.patch # CVE-2019-11039 [bsc#1138173] Patch128: php-CVE-2019-11039.patch # CVE-2019-11038 [bsc#1140118] Patch129: php-CVE-2019-11038.patch # CVE-2019-11041 [bsc#1146360] Patch130: php7-CVE-2019-11041.patch # CVE-2019-11042 [bsc#1145095] Patch131: php7-CVE-2019-11042.patch # CVE-2019-11043 [bsc#1154999] Patch132: php7-CVE-2019-11043.patch # CVE-2019-11046 [bsc#1159924] Patch133: php7-CVE-2019-11046.patch # CVE-2019-11050 [bsc#1159927] Patch134: php7-CVE-2019-11050.patch # CVE-2019-11047 [bsc#1159922] Patch135: php7-CVE-2019-11047.patch # CVE-2019-11045 [bsc#1159923] Patch136: php7-CVE-2019-11045.patch # CVE-2019-11048 [bsc#1171999], supplying overly long filenames or field names if HTTP file uploads are allowed could lead to exhausting disk space on the server Patch137: php7-CVE-2019-11048.patch # CVE-2020-7068 [bsc#1175223], Use of freed hash key in the phar_parse_zipfile function Patch138: php7-CVE-2020-7068.patch # CVE-2020-7070 [bsc#1177352], Percent-encoded cookies can be used to overwrite existing prefixed cookie names Patch139: php7-CVE-2020-7070.patch # https://github.com/php/php-src/commit/771dbdb319fa7f90584f6b2cc2c54ccff570492d Patch140: php7-signedness-php_filter_validate_domain.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: apache2-devel BuildRequires: autoconf BuildRequires: bison BuildRequires: curl BuildRequires: curl-devel BuildRequires: cyrus-sasl-devel BuildRequires: db-devel BuildRequires: enchant-devel BuildRequires: freetype2-devel BuildRequires: gcc-c++ BuildRequires: gd-devel BuildRequires: gmp-devel BuildRequires: imap-devel BuildRequires: krb5-devel BuildRequires: libapparmor-devel BuildRequires: libbz2-devel BuildRequires: libedit-devel BuildRequires: libevent-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libmcrypt-devel BuildRequires: libopenssl-devel BuildRequires: libpng-devel BuildRequires: libtidy-devel BuildRequires: libtiff-devel BuildRequires: libtool BuildRequires: libxslt-devel BuildRequires: ncurses-devel BuildRequires: net-snmp-devel BuildRequires: openldap2-devel BuildRequires: pam-devel BuildRequires: pcre-devel BuildRequires: pkgconfig BuildRequires: postfix BuildRequires: postgresql-devel BuildRequires: re2c BuildRequires: sqlite3-devel BuildRequires: tcpd-devel BuildRequires: unixODBC-devel BuildRequires: update-alternatives BuildRequires: xz %if 0%{suse_version} > 1110 BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(xft) BuildRequires: pkgconfig(xpm) %else BuildRequires: xorg-x11-devel %endif %if 0%{suse_version} > 1110 BuildRequires: freetds-devel %endif %if 0%{suse_version} >= 1320 BuildRequires: libzip-devel %endif %if %{with spell} BuildRequires: aspell-devel %endif %if %{with firebird} BuildRequires: firebird-devel # libfbclient2-devel pkg split in 12.2 %if 0%{suse_version} > 1210 BuildRequires: libfbclient2-devel %endif %endif # 10.3 does not install sendmail binary with the minimal system Requires: smtp_daemon Requires: timezone # I would like this to become a hard dependency, as PHP is # documented to have this modules by default (no addtional libs are needed) Recommends: php-ctype php-dom php-iconv php-sqlite php-tokenizer Recommends: php-xmlreader php-xmlwriter php-json # other highly reccommended extensions Suggests: php-mbstring php-gd php-pear php-gettext php-mysql php-suhosin ## Provides Provides: php = %{version} Provides: php-api = %{apiver} Provides: php-zend-abi = %{zendver} Provides: php(api) = %{apiver} Provides: php(zend-abi) = %{zendver} # builtin extensions Provides: php-date = %{version} Provides: php-filter = %{version} Provides: php-hash = %{version} Provides: php-pcre = %{version} Provides: php-reflection = %{version} Provides: php-session = %{version} Provides: php-simplexml = %{version} Provides: php-spl = %{version} Provides: php-xml = %{version} Provides: zend = %{zendver} # conflicts with php5 and should replace it Conflicts: php5 %description This package contains the PHP 7 core files, including PHP binary (CLI) and PHP configuration (php.ini). This package must be installed in order to use PHP. Additionally, extension modules and server modules (e.g. for Apache) may be installed. Additional documentation is available in package php-doc. %package devel Summary: Include files of PHP7 Group: Development/Languages/C and C++ # this is required by the installed development headers Requires: %{name} = %{version} Requires: glibc-devel Requires: libxml2-devel # this is needed for "pecl" functionality Requires: autoconf Requires: automake Requires: libtool Requires: pcre-devel Requires: php7-pear Provides: pecl = %{version} Provides: php-devel = %{version} %description devel PHP is a server-side, cross-platform, HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory Tutorial. Once you get beyond that have a look at the example archive sites and some of the other resources available in the Links section. PHP7 is the latest version. %if %{with make_test} %package testresults Summary: PHP7 testsuite results Group: Development/Languages/PHP %description testresults PHP is a server-side HTML embedded scripting language designed primarily for web development but also used as a general-purpose programming language. This package contains results from running the PHP7 testsuite. %endif %package pear Summary: PHP Extension and Application Repository Group: Development/Libraries/PHP BuildArch: noarch Requires: %{name}-zlib = %{version} Requires: php7-pear-Archive_Tar Provides: php-pear = %{version} %description pear PEAR is a code repository for PHP extensions and PHP library code similar to TeX's CTAN and Perl's CPAN. This package provides an access to the repository. See http://pear.php.net/manual/ for more details. %package pear-Archive_Tar Summary: Tar file management class Group: Productivity/Networking/Web/Servers BuildArch: noarch Requires: %{name}-pear = %{version} # php5-pear-Archive_Tar provides Tar.php, which is provided # by pear package itself; php5-pear-Archive_Tar was dropped # on version 1.3.10, install-pear-nozlib.phar # provides 1.4.0 currently Provides: php-pear-Archive_Tar = 1.4.0 Provides: php5-pear-Archive_Tar = 1.4.0 Obsoletes: php-pear-Archive_Tar < 1.3.11 Obsoletes: php5-pear-Archive_Tar < 1.3.11 %description pear-Archive_Tar This class provides handling of tar files in PHP. It supports creating, listing, extracting and adding to tar files. Gzip support is available if PHP has the zlib extension built-in orloaded. Bz2 compression is also supported with the bz2 extension loaded. %package -n apache2-mod_php7 Summary: PHP7 Module for Apache 2.0 Group: Productivity/Networking/Web/Servers Requires: %{apache_mmn} Requires: %{name} = %{version} Requires: apache2-prefork PreReq: apache2 Provides: mod_php_any = %{version} Provides: php-date = %{version} Provides: php-filter = %{version} Provides: php-pcre = %{version} Provides: php-reflection = %{version} Provides: php-session = %{version} Provides: php-simplexml = %{version} Provides: php-spl = %{version} Provides: php-xml = %{version} Supplements: packageand(%{apache_mmn}:%{name}) %description -n apache2-mod_php7 PHP is a server-side, cross-platform HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory tutorial. Once you get beyond that, have a look at the example archive sites and some of the other resources available in the links section. Please refer to /usr/share/doc/packages/php7/README.SUSE for information on how to load the module into the Apache webserver. %package fastcgi Summary: FastCGI PHP7 Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-cgi = %{version} Provides: php-date = %{version} Provides: php-fastcgi = %{version} Provides: php-filter = %{version} Provides: php-pcre = %{version} Provides: php-reflection = %{version} Provides: php-session = %{version} Provides: php-simplexml = %{version} Provides: php-spl = %{version} Provides: php-xml = %{version} %description fastcgi PHP is a server-side, cross-platform HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory tutorial. Once you get beyond that have a look at the example archive sites and some of the other resources available in the links section. Please refer to /usr/share/doc/packages/php7/README.FastCGI for information on how to use this module. %package fpm Summary: FastCGI Process Manager PHP7 Module Group: Development/Libraries/PHP Requires: %{name} = %{version} PreReq: %insserv_prereq Provides: php-date = %{version} Provides: php-filter = %{version} Provides: php-fpm = %{version} Provides: php-pcre = %{version} Provides: php-reflection = %{version} Provides: php-session = %{version} Provides: php-simplexml = %{version} Provides: php-spl = %{version} Provides: php-xml = %{version} %if %{with systemd} %{systemd_requires} BuildRequires: pkgconfig(libsystemd-daemon) %endif %description fpm PHP is a server-side, cross-platform HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory tutorial. Once you get beyond that have a look at the example archive sites and some of the other resources available in the links section. Please refer to /usr/share/doc/packages/php7/README.FastCGI for information on how to use this module. %package bcmath Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-bcmath = %{version} %description bcmath Binary Calculator which supports numbers of any size and precision, represented as strings. %package bz2 Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-bz2 = %{version} %description bz2 PHP functions to read and write bzip2 (.bz2) compressed files. %package calendar Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-calendar = %{version} %description calendar PHP functions for converting between different calendar formats. %package ctype Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-ctype = %{version} %description ctype PHP functions for checking whether a character or string falls into a certain character class according to the current locale. %package curl Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-curl = %{version} %description curl PHP interface to libcurl that allows you to connect to and communicate with servers of many different types, using protocols of many different types. %package dba Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-dba = %{version} %description dba This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as Sleepycat Software's DB2. (This is not to be confused with IBM's DB2 software, which is supported through the ODBC functions.) %package dom Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-dom = %{version} %description dom This module adds DOM support. %package enchant Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-enchant = %{version} %description enchant Enchant is the PHP binding for the Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implements certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working." %package exif Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-mbstring = %{version} Provides: php-exif = %{version} %description exif PHP functions for extracting EXIF (metadata from images) information stored in headers of JPEG and TIFF images. %package fileinfo Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-fileinfo = %{version} %description fileinfo The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job. %package ftp Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-openssl = %{version} Provides: php-ftp = %{version} %description ftp PHP functions for access to file servers speaking the File Transfer Protocol (FTP) as defined in rfc959. %package gd Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-gd = %{version} %description gd PHP functions to create and manipulate image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM. Even more convenient: PHP can output image streams directly to a browser. %package gettext Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-gettext = %{version} %description gettext PHP functions that implement an NLS (Native Language Support) API which can be used to internationalize your PHP applications. %package gmp Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-gmp = %{version} %description gmp PHP functions for work with arbitrary-length integers using the GNU MP library. %package iconv Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-iconv = %{version} %description iconv PHP interface to iconv character set conversion facility. %package imap Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-imap = %{version} %description imap PHP functions in this extension are not limited to the IMAP protocol, despite their name. The underlying c-client library also supports NNTP, POP3 and local mailbox access methods. %package intl Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-intl = %{version} %description intl Internationalization extension (further is referred as Intl) is a wrapper for ICU library, enabling PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting in their scripts. %package json Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-json = %{version} %description json Support for JSON (JavaScript Object Notation) serialization. %package ldap Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-openssl = %{version} Provides: php-ldap = %{version} %description ldap PHP interface to Lightweight Directory Access Protocol (LDAP). %package mbstring Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-mbstring = %{version} %description mbstring This extension provides multi-byte character safe string functions and other utility functions such as conversion functions. %package mcrypt Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-mcrypt = %{version} %description mcrypt PHP interface to the mcrypt library, which supports a wide variety of block algorithms. %package mysql Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-pdo = %{version} Provides: php-mysql = %{version} Provides: php_any_db = %{version} %description mysql PHP functions for access to MySQL database servers. %if %{with firebird} %package firebird Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-pdo = %{version} Provides: php-firebird = %{version} Provides: php_any_db = %{version} %description firebird PHP functions for access to firebird database servers. %endif %package odbc Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-pdo = %{version} Provides: php-odbc = %{version} Provides: php-pdo_odbc = %{version} %description odbc This module adds ODBC support. %package opcache Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-opcache = %{version} %description opcache The Zend OPcache provides faster PHP execution through opcode caching and optimization. %package openssl Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-openssl = %{version} %description openssl This module adds OpenSSL support. %package pcntl Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-pcntl = %{version} %description pcntl This module will attempt to implement all features related to process spawning and control (fork(), waitpid(), signal(), WIF's, etc). This is extremley experimental, with hope to become stable on most UNIX's. I greatly appreciate any feedback, fixes, and or suggestions on how to improve/better implement this functionality. %if ! %{asan_build} %package phar Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-phar = %{version} %description phar The phar extension provides a way to put entire PHP applications into a single file called a "phar" (PHP Archive) for easy distribution and installation. %endif %package pdo Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-pdo = %{version} %description pdo PHP Data Objects - Data Access Abstraction - light-weight - provides common API for common database operations - keeps majority of PHP specific stuff in the PDO core (such as persistent resource management); drivers should only have to worry about getting the data and not about PHP internals. %package pgsql Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-pdo = %{version} Provides: php-pgsql = %{version} Provides: php_any_db = %{version} %description pgsql PHP functions for access to PostgreSQL database servers. It includes both traditional pgsql and pdo_pgsql drivers. %package posix Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-posix = %{version} %description posix This module allows to use POSIX-like functions in PHP. %if %{with spell} %package pspell Summary: PHP7 pspell extension Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: aspell-en Provides: php-pspell = %{version} %description pspell PHP interface to the aspell, which provides spell checking functionality. %endif %package readline Summary: PHP7 readline extension Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-readline = %{version} %description readline PHP interface to libedit, which provides editable command line as well as PHP interactive mode (php -a) %package shmop Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-shmop = %{version} %description shmop PHP functions to read, write, create and delete UNIX shared memory segments. %package snmp Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-snmp = %{version} %description snmp PHP functions for SNMP. %package soap Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-soap = %{version} %description soap This module provides SOAP support. SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of SOAP 1.1, SOAP 1.2 and WSDL 1.1 specifications. %package sockets Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-sockets = %{version} %description sockets A low-level interface to the socket communication functions based on the popular BSD sockets, providing the possibility to act as a socket server as well as a client. This extension is experimental! %package sqlite Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-pdo = %{version} Provides: php-sqlite = %{version} %description sqlite This is an extension for the SQLite Embeddable SQL Database Engine. http://www.sqlite.org/ SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files on disk. This package includes sqlite and pdo_sqlite modules for sqlite version 2 and 3 respectively. %if %{with suhosin} %package suhosin Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-suhosin = %{version} %description suhosin Suhosin is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core. Suhosin is binary compatible to normal PHP installation, which means it is compatible to 3rd party binary extension like ZendOptimizer. %endif %package sysvmsg Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-sysvmsg = %{version} %description sysvmsg This module provides System V IPC support. %package sysvsem Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-sysvsem = %{version} %description sysvsem PHP interface for System V semaphores. %package sysvshm Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-sysvshm = %{version} %description sysvshm PHP interface for System V shared memory. %package tidy Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-tidy = %{version} %description tidy Tidy is an extension based on Libtidy (http://tidy.sf.net/) and allows a PHP developer to clean, repair, and traverse HTML, XHTML, and XML documents -- including ones with embedded scripting languages such as PHP or ASP within them using OO constructs. %package tokenizer Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-tokenizer = %{version} %description tokenizer The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. Using these functions you may write your own PHP source analyzing or modification tools without having to deal with the language specification at the lexical level. %package wddx Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-wddx = %{version} %description wddx PHP functions for Web Distributed Data Exchange. %package xmlrpc Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-xmlrpc = %{version} %description xmlrpc This module adds XMLRPC-EPI support. %package xsl Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-dom = %{version} Provides: php-xsl = %{version} %description xsl This module adds new XSL support to PHP. %package xmlreader Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Requires: %{name}-dom = %{version} Provides: php-xmlreader = %{version} %description xmlreader XMLReader represents a reader that provides non-cached, forward-only access to XML data. It is based upon the xmlTextReader API from libxml. %package xmlwriter Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-xmlwriter = %{version} %description xmlwriter XMLWriter wraps the libxml xmlWriter API. Represents a writer that provides a non-cached, forward-only means of generating streams or files containing XML data. %package zip Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-zip = %{version} %description zip Zip is an extension to create, modify and read zip files. %package zlib Summary: PHP7 Extension Module Group: Development/Libraries/PHP Requires: %{name} = %{version} Provides: php-zlib = %{version} %description zlib PHP functions to read and write gzip (.gz) compressed files. %prep echo %{apache_mmn} %setup -q -n php-%{version} -a 1 %{__tar} xf %{S:2} -C ext %if %{with suhosin} %{__mv} ext/suhosin-%{suhosin_version} ext/suhosin %endif %{__cp} %{S:3} pear %{__cp} %{S:4} pear/README.SUSE %{__cp} %{S:5} . %patch0 %patch2 %patch3 %patch4 %patch5 %patch6 %patch7 -p1 %patch8 %patch10 %if %{need_libxml2_hack} echo "*** APPLY LIBXML2.7 FIX ***" %patch11 %else echo "*** SKIPPING LIBMXL2.7 FIX ***" %endif %patch12 %patch14 %patch15 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 %patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -p1 %patch38 -p1 %patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 %patch43 -p1 %patch44 -p1 %patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 %patch49 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 %patch54 -p1 %patch55 -p1 %patch56 -p1 %patch57 -p1 %patch58 -p1 %patch59 -p1 %patch60 -p1 %patch61 -p1 %patch62 -p1 %patch63 -p1 %patch64 -p1 %patch65 -p1 %patch66 -p1 %patch67 -p1 %patch68 -p1 %patch69 -p1 %patch70 -p1 %patch71 -p1 %patch73 -p1 %patch74 -p1 %patch75 -p1 %patch76 -p1 %patch77 -p1 %patch78 -p1 %patch79 -p1 %patch80 -p1 %patch81 -p1 %patch82 -p1 %patch83 -p1 %patch84 -p1 %patch85 -p1 %patch86 -p1 %patch87 -p1 %patch88 -p1 %patch89 -p1 %patch90 -p1 %patch91 -p1 %patch92 -p1 %patch93 -p1 %patch94 -p1 %patch95 -p1 %patch96 -p1 %patch97 -p1 %patch98 -p1 %patch99 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 %patch104 -p1 %patch105 -p1 %patch106 -p1 %patch107 -p1 %patch108 -p1 %patch109 -p1 %patch110 -p1 %patch111 -p1 %patch112 -p1 %patch113 -p1 %patch114 -p1 %patch115 -p1 %patch116 -p1 %patch117 -p1 %patch118 -p1 %patch119 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 %patch123 -p1 %patch124 -p1 %patch125 -p1 %patch126 -p1 %patch127 -p1 %patch128 -p1 %patch129 -p1 %patch130 -p1 %patch131 -p1 %patch132 -p1 %patch133 -p1 %patch134 -p1 %patch135 -p1 %patch136 -p1 %patch137 -p1 %patch138 -p1 %patch139 -p1 %patch140 -p1 # Safety check for API version change. vapi=`sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h` if test "x${vapi}" != "x%{apiver}"; then : Error: Upstream API version is now ${vapi}, expecting %{apiver}. : Update the apiver macro and rebuild. exit 1 fi vzend=`sed -n '/#define ZEND_MODULE_API_NO/{s/^[^0-9]*//;p;}' Zend/zend_modules.h` if test "x${vzend}" != "x%{zendver}"; then : Error: Upstream Zend ABI version is now ${vzend}, expecting %{zendver}. : Update the zendver macro and rebuild. exit 1 fi %build chmod 644 README.namespaces UPGRADING # aclocal workaround - to be improved cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 # Force use of system libtool: libtoolize --force --copy cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >build/libtool.m4 # Regenerate configure scripts (patches change config.m4's) touch configure.in # we build three SAPI %{__mkdir_p} build-apache2 %{__mkdir_p} build-fpm %{__mkdir_p} build-fastcgi %{__mkdir_p} build-cli %{__rm} -r ext/pcre/pcrelib # regenerate configure etc. %{__rm} configure ./buildconf --force # export flags CFLAGS="$RPM_OPT_FLAGS -O3 -fPIE -fPIC -DPIC -D_GNU_SOURCE -fno-strict-aliasing" CXXFLAGS="$RPM_OPT_FLAGS -O3 -fPIE -fPIC -DPIC -D_GNU_SOURCE -fno-strict-aliasing" %if %{with firebird} CFLAGS="$CFLAGS -I/usr/include/firebird" CXXFLAGS="$CXXFLAGS -I/usr/include/firebird" %endif %if %{debug_build} CFLAGS="$CFLAGS -O0" CXXFLAGS="$CXXFLAGS -O0" %endif export CFLAGS export CXXFLAGS export LDFLAGS="-pie" export NO_INTERACTION=true # where to install extensions EXTENSION_DIR=%{extension_dir} export EXTENSION_DIR export PHP_MYSQLND_ENABLED=yes export PHP_MYSQLND_COMPRESSION_SUPPORT=yes # fix build-cli: libc-client.so needs -lssl export IMAP_SHARED_LIBADD='-lssl' # build function Build() { sapi=$1 pushd build-$1 shift ../configure \ --prefix=%{_prefix} \ --datadir=%{_datadir}/%{pkg_name} \ --mandir=%{_mandir} \ --bindir=%{_bindir} \ --with-libdir=%{_lib} \ --includedir=%{_includedir} \ --sysconfdir=%{php_sysconf}/$sapi \ --with-config-file-path=%{php_sysconf}/$sapi \ --with-config-file-scan-dir=%{php_sysconf}/conf.d \ --enable-libxml \ --enable-session \ %if 0%{?suse_version} > 1010 --with-pcre-regex=%{_usr} \ %else --with-pcre-regex \ %endif --enable-xml \ --enable-simplexml \ --enable-filter \ --disable-debug \ --enable-inline-optimization \ --disable-rpath \ --disable-static \ --enable-shared \ --with-pic \ --with-gnu-ld \ --enable-re2c-cgoto \ --with-system-tzdata=%{_datadir}/zoneinfo \ --enable-hash \ --with-mhash \ --enable-phpdbg=no \ %if 0%{suse_version} >= 1320 --with-libzip \ %endif "$@" || { cat config.log; exit 1; } # Some modules are builtin, reasons: # - libxml can not be shared (and is needed by PEAR) # - spl doesn't build shared # - simplexml is needed by spl # - session need to be builtin, otherwise sqlite and other session engines fail # - pcre is needed for PEAR # - filter is builtin due security reasons # We have still have harcoded RPATH in some modules %{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool %{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=LIBTOOL_IS_BROKED|g' libtool %if %{asan_build} sed -i -e 's/\(^CFLAGS.*\)/\1 -fsanitize=address/' \ -e 's/\(^EXTRA_LIBS =.*\)/\1 -lasan/' \ Makefile %endif %{__make} %{?jobs:-j%jobs PHP_PEAR_PHP_BIN=%{_bindir}/php} popd } # perform all builds # apache2 sapi Build apache2 \ --with-apxs2=%{apache_apxs} \ --disable-all \ --disable-cli # fast-cgi sapi Build fastcgi \ --enable-force-cgi-redirect \ --disable-discard-path \ --enable-fastcgi \ --bindir=%{_bindir} \ --disable-cli \ --disable-all Build fpm \ %if %{with systemd} --with-fpm-systemd \ %endif --enable-fpm \ --bindir=%{_bindir} \ --disable-cli \ --disable-all \ --localstatedir=/var Build cli \ --enable-cli \ --with-pear=%{peardir} \ --enable-bcmath=shared \ --enable-calendar=shared \ --enable-ctype=shared \ --enable-dom=shared \ --enable-exif=shared \ --enable-ftp=shared \ --enable-mbstring=shared \ --enable-mbregex \ --enable-pcntl=shared \ --enable-posix=shared \ --enable-shmop=shared \ --enable-soap=shared \ --enable-sockets=shared \ --enable-sysvmsg=shared \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ --enable-tokenizer=shared \ --enable-wddx=shared \ --enable-fileinfo=shared \ --with-zlib=shared \ --with-bz2=shared \ --with-curl=shared \ %if 0%{suse_version} >= 1320 --with-gd=shared,%{_usr} \ %else --with-gd=shared \ %endif --enable-gd-native-ttf \ --with-xpm-dir=%{_x11prefix} \ --with-freetype-dir=%{_usr} \ --with-png-dir=%{_usr} \ --with-jpeg-dir=%{_usr} \ --with-zlib-dir=%{_usr} \ %if 0%{suse_version} > 1110 --with-vpx-dir=%{_usr} \ %endif --with-gettext=shared \ --with-gmp=shared \ --with-iconv=shared \ --with-imap=shared \ --with-kerberos \ --with-imap-ssl \ --enable-json=shared \ --with-ldap=shared \ --with-ldap-sasl=%{_usr} \ --with-libedit=shared,%{_usr} \ --with-mcrypt=shared \ --with-mysql=shared,mysqlnd \ %if %{with firebird} --with-interbase=shared \ %endif %if 0%{?suse_version} > 1110 --with-mysql-sock=/var/run/mysql/mysql.sock \ %else --with-mysql-sock=/var/lib/mysql/mysql.sock \ %endif --with-mysqli=shared,mysqlnd \ --with-unixODBC=shared,%{_usr} \ --with-openssl=shared \ --with-pgsql=shared,%{_usr} \ %if ! %{asan_build} --enable-phar=shared \ %else --disable-phar \ %endif %if %{with spell} --with-pspell=shared \ --with-enchant=shared,%{_usr} \ %endif --with-snmp=shared \ --with-xmlrpc=shared \ --enable-xmlreader=shared \ --enable-xmlwriter=shared \ --with-xsl=shared \ --with-tidy=shared,%{_usr} \ --enable-dba=shared \ --with-db4=%{_usr} \ --without-gdbm \ --with-cdb \ --with-inifile \ --with-flatfile \ --enable-pdo=shared \ --with-pdo_sqlite=shared,%{_usr} \ --with-sqlite3=shared,%{_usr} \ --enable-sqlite-utf8 \ --with-pdo-mysql=shared,mysqlnd \ %if %{with firebird} --with-pdo-firebird=shared \ %endif --with-pdo-pgsql=shared,%{_usr} \ --with-pdo-odbc=shared,unixODBC,%{_usr} \ --enable-zip=shared \ %if %{with suhosin} --enable-suhosin=shared \ %endif --enable-intl=shared,%{_usr} \ %if 0%{suse_version} > 1110 --with-mssql=shared,%{_usr} \ %endif --disable-cgi %install # install function Install() { pushd build-$1 %{__make} install INSTALL_ROOT=%{buildroot} PHP_PEAR_PHP_BIN=%{_bindir}/php popd } # do the actual installation Install apache2 #need it for yast module %{__mv} %{buildroot}%{apache_libexecdir}/libphp7.so %{buildroot}%{apache_libexecdir}/mod_php7.so Install fastcgi Install cli Install fpm # generate php.ini from php.ini-production: %{__install} -d -m 755 %{buildroot}/%{php_sysconf}/conf.d %{__install} -d -m 755 %{buildroot}/%{php_sysconf}/apache2 %{__install} -d -m 755 %{buildroot}/%{php_sysconf}/cli %{__install} -d -m 755 %{buildroot}/%{php_sysconf}/fastcgi %{__install} -d -m 755 %{buildroot}/%{php_sysconf}/fpm %{__sed} "s=@extdir@=%{extension_dir}=" php.ini-production \ > %{buildroot}/%{php_sysconf}/apache2/php.ini %{__sed} "s=@extdir@=%{extension_dir}=" php.ini-production \ | %{__sed} -r 's/^(html_errors|implicit_flush|max_execution_time|register_argc_argv)/;\1/' \ > %{buildroot}/%{php_sysconf}/cli/php.ini %{__sed} "s=@extdir@=%{extension_dir}=" php.ini-production \ > %{buildroot}/%{php_sysconf}/fastcgi/php.ini # prepare configuration files for each extension extern_modules="" for f in %{buildroot}%{extension_dir}/*; do if test ${f##*.} = a; then %{__rm} $f continue fi if test ${f##*.} = so; then f=${f%.so} fi ext=${f##*/} extern_modules="$extern_modules $ext" echo "; comment out next line to disable $ext extension in php" > %{buildroot}/%{php_sysconf}/conf.d/$ext.ini zend_='' if [ $ext == "opcache" ]; then # http://php.net/manual/en/opcache.installation.php zend_='zend_' fi echo "${zend_}extension=$ext.so" >> %{buildroot}/%{php_sysconf}/conf.d/$ext.ini done #suhosin configuration %if %{with suhosin} %{__install} -m 644 ext/suhosin/suhosin.ini %{buildroot}/%{php_sysconf}/conf.d/suhosin.ini %endif # list of builtin modules builtin_modules=`./build-cli/sapi/cli/php -m | grep -E -v '^(\[.*)?$' | sort | tr '\n' ' '` # update readme %{__sed} "s=@EXTERN_MODULES@=$extern_modules=;s=@BUILTIN_MODULES@=$builtin_modules=" php-suse-addons/README.SUSE > README.SUSE # apache configuration %{__mkdir_p} %{buildroot}%{apache_sysconfdir}/conf.d %{__install} -m 644 php-suse-addons/sysconfig.apache2 %{buildroot}/%{apache_sysconfdir}/conf.d/%{pkg_name}.conf # directory for sessions %{__install} -d %{buildroot}/var/lib/%{pkg_name} # documentation %{__mv} sapi/cli/README README.CLI %{__mv} sapi/cgi/README.FastCGI README.FastCGI %{__rm} -rf %{buildroot}/{.channels,.depdb*,.filemap,.lock,usr/bin/peardev} %{__install} -d -m 0755 %{buildroot}/%{peardir}/test # for pear XML files %{__install} -d -m 0755 %{buildroot}/var/lib/pear # provide compat symlink %{__mkdir_p} %{buildroot}/srv/www/cgi-bin %{__ln_s} /usr/bin/php-cgi %{buildroot}/srv/www/cgi-bin/php %if ! %{asan_build} #fix symlink sed -i -e "s@$RPM_BUILD_DIR/php-%{rversion}/build-cli/sapi/cli/php@php@g" %{buildroot}%{_bindir}/phar.phar rm %{buildroot}%{_bindir}/phar %{__ln_s} -f %{_bindir}/phar.phar %{buildroot}%{_bindir}/phar %endif # CVE-2014-5459, bnc#893849; couldn't find a way to use PHP_PEAR_CACHE_DIR # (install-pear is checking if the directory is writable by current user?; # unfortunately ENOTIME to figure out) %{__sed} -i 's@15:"/tmp/pear/cache"@19:"/var/cache/php-pear"@' %{buildroot}%{php_sysconf}/cli/pear.conf grep -c '/var/cache/php-pear' %{buildroot}%{php_sysconf}/cli/pear.conf || exit 1 # after the update for php 5.6.15 landed in Tumbleweed, almost all PEAR # packages building against broke. The metadata generated when building # the PEAR package gets written to /.<meta> instead of # /usr/share/php7/PEAR/.<meta>, probably caused by the new PEAR option # "metadata_dir" that was added in PEAR 1.10.0. Our specs suspect the data # to be in the peardir (where is normally belongs). # This option is not set in the current php7 package, but maybe providing # a default value for this would resolve the issue for the +100 packages. pd=%{peardir} %{__sed} -i "s@\"metadata_dir\";s:0:\"\"@\"metadata_dir\";s:${#pd}:\"${pd}\"@" %{buildroot}%{php_sysconf}/cli/pear.conf grep -c "\"metadata_dir\";s:${#pd}:\"${pd}\"" %{buildroot}%{php_sysconf}/cli/pear.conf || exit 1 # Install the macros file: install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm sed -e "s/@PHP_APIVER@/%{apiver}/;s/@PHP_ZENDVER@/%{zendver}/" \ < $RPM_SOURCE_DIR/macros.php > macros.php install -m 644 -c macros.php \ $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.php #install fpm init script. install -d %{buildroot}%{_sysconfdir}/init.d install -m 755 -c %{S:7} %{buildroot}%{_sysconfdir}/init.d/php-fpm %if %{with systemd} install -D -m 0644 ./build-fpm/sapi/fpm/php-fpm.service %{buildroot}%{_unitdir}/php-fpm.service %if 0%{suse_version} > 1220 ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcphp-fpm %else ln -s /sbin/service %{buildroot}%{_sbindir}/rcphp-fpm %endif %else ln -s %{_sysconfdir}/init.d/php-fpm %{buildroot}%{_sbindir}/rcphp-fpm %endif # pear installer installs .depdb{,lock} files into %{buildroot}%{peardir} # along with .lock, .registry when metadata_dir is not set but does not # install them if metadata_dir is set; our Horde packages expect them there # though, (they rm them without -f) so always install them along cd %{buildroot}/%{peardir} patch -p0 < %{PATCH9} # bug 1173786 install -d -m 0755 %{buildroot}%{_tmpfilesdir} install -m 0644 %{SOURCE10} %{buildroot}/%{_tmpfilesdir}/php-fpm.conf %post -n apache2-mod_php7 #some distro versions does not have this tool. if [ -x /usr/sbin/a2enmod ]; then if a2enmod -q php5 && ! a2enmod -q php7; then a2dismod php5 a2enmod php7 fi fi %preun -n apache2-mod_php7 if [ "$1" = "0" ]; then if [ -x /usr/sbin/a2enmod ]; then if a2enmod -q php7; then a2dismod php7 fi fi fi %check cd build-cli # check if we link against system libcrypt if [ -z "$(ldd sapi/cli/php | grep libcrypt.so)" ]; then echo 'php does not link against system libcrypt.' exit 1 fi # Run tests, using the CLI SAPI %if %{with make_test} export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 LANG=POSIX LC_ALL=POSIX unset TZ # We save results for further investigation for QA make test | tee testresults.txt || true set +x for f in `find .. -name "*.diff" -type f -print`; do echo "TEST FAILURE: $f --" cat "$f" echo "-- $f result ends." done set -x unset NO_INTERACTION REPORT_EXIT_STATUS %endif %if %{with systemd} %pre fpm %service_add_pre php-fpm.service %postun fpm %service_del_postun php-fpm.service %restart_on_update php-fpm %insserv_cleanup %preun fpm %service_del_preun php-fpm.service %stop_on_removal php-fpm %post fpm %service_add_post php-fpm.service %tmpfiles_create %{_tmpfilesdir}/php-fpm.conf %{fillup_and_insserv -f php-fpm} %else %postun fpm %restart_on_update php-fpm %insserv_cleanup %preun fpm %stop_on_removal php-fpm %post fpm %{fillup_and_insserv -f php-fpm} %endif %files %defattr(-, root, root) %doc README* CODING_STANDARDS CREDITS EXTENSIONS LICENSE NEWS UPGRADING %doc php-suse-addons/test.php5 %doc %{_mandir}/man1/* %dir %{php_sysconf} %dir %{php_sysconf}/conf.d %dir %{php_sysconf}/cli %config(noreplace) %{php_sysconf}/cli/php.ini %{_bindir}/php %dir %{_libdir}/%{pkg_name} %dir %{extension_dir} %dir %{_datadir}/%{pkg_name} %attr(0755, wwwrun, root) %dir /var/lib/%{pkg_name} %files devel %defattr(-, root, root) %doc README.macros %{_includedir}/%{pkg_name} %{_bindir}/phpize %{_bindir}/php-config %{_bindir}/pecl %{_datadir}/%{pkg_name}/build %config %{_sysconfdir}/rpm/macros.php %if %{with make_test} %files testresults %defattr(-, root, root) %doc build-cli/testresults.txt %endif %files pear %defattr(-, root, root) %doc pear/README.SUSE %{_bindir}/pear %config(noreplace) %{php_sysconf}/cli/pear.conf %{peardir} %exclude %{peardir}/Archive/Tar.php %exclude %{peardir}/doc/Archive_Tar %dir /var/lib/pear %files pear-Archive_Tar %defattr(-, root, root) %dir %{peardir}/Archive %{peardir}/Archive/Tar.php %{peardir}/doc/Archive_Tar %files fastcgi %defattr(-, root, root) %{_bindir}/php-cgi /srv/www/cgi-bin/php %dir %{php_sysconf}/fastcgi %config(noreplace) %{php_sysconf}/fastcgi/php.ini %files fpm %defattr(-, root, root) %{_sbindir}/php-fpm %dir %{php_sysconf}/fpm %config %{php_sysconf}/fpm/php-fpm.conf.default %dir %{php_sysconf}/fpm/php-fpm.d %config %{php_sysconf}/fpm/php-fpm.d/www.conf.default %{_mandir}/man8/php-fpm.8.gz %config /etc/init.d/php-fpm %{_sbindir}/rcphp-fpm %dir %{_datadir}/%{pkg_name}/fpm %{_datadir}/%{pkg_name}/fpm/status.html %if %{with systemd} %{_unitdir}/php-fpm.service %endif %{_tmpfilesdir}/php-fpm.conf %ghost %dir %attr(711,root,root) /run/php-fpm %files -n apache2-mod_php7 %defattr(-,root,root) %{apache_libexecdir}/mod_php7.so %dir %{php_sysconf}/apache2 %config(noreplace) %{php_sysconf}/apache2/php.ini %config(noreplace) %{apache_sysconfdir}/conf.d/%{pkg_name}.conf %files bcmath %defattr(644,root,root,755) %{extension_dir}/bcmath.so %config(noreplace) %{php_sysconf}/conf.d/bcmath.ini %files bz2 %defattr(644,root,root,755) %{extension_dir}/bz2.so %config(noreplace) %{php_sysconf}/conf.d/bz2.ini %files calendar %defattr(644,root,root,755) %{extension_dir}/calendar.so %config(noreplace) %{php_sysconf}/conf.d/calendar.ini %files ctype %defattr(644,root,root,755) %{extension_dir}/ctype.so %config(noreplace) %{php_sysconf}/conf.d/ctype.ini %files curl %defattr(644,root,root,755) %{extension_dir}/curl.so %config(noreplace) %{php_sysconf}/conf.d/curl.ini %files dba %defattr(644,root,root,755) %{extension_dir}/dba.so %config(noreplace) %{php_sysconf}/conf.d/dba.ini %files dom %defattr(644,root,root,755) %{extension_dir}/dom.so %config(noreplace) %{php_sysconf}/conf.d/dom.ini %files enchant %defattr(644,root,root,755) %{extension_dir}/enchant.so %config(noreplace) %{php_sysconf}/conf.d/enchant.ini %files exif %defattr(644,root,root,755) %{extension_dir}/exif.so %config(noreplace) %{php_sysconf}/conf.d/exif.ini %files fileinfo %defattr(644,root,root,755) %{extension_dir}/fileinfo.so %config(noreplace) %{php_sysconf}/conf.d/fileinfo.ini %files ftp %defattr(644,root,root,755) %{extension_dir}/ftp.so %config(noreplace) %{php_sysconf}/conf.d/ftp.ini %files gd %defattr(644,root,root,755) %{extension_dir}/gd.so %config(noreplace) %{php_sysconf}/conf.d/gd.ini %files gettext %defattr(644,root,root,755) %{extension_dir}/gettext.so %config(noreplace) %{php_sysconf}/conf.d/gettext.ini %files gmp %defattr(644,root,root,755) %{extension_dir}/gmp.so %config(noreplace) %{php_sysconf}/conf.d/gmp.ini %files iconv %defattr(644,root,root,755) %{extension_dir}/iconv.so %config(noreplace) %{php_sysconf}/conf.d/iconv.ini %files imap %defattr(644,root,root,755) %{extension_dir}/imap.so %config(noreplace) %{php_sysconf}/conf.d/imap.ini %files intl %defattr(644,root,root,755) %{extension_dir}/intl.so %config(noreplace) %{php_sysconf}/conf.d/intl.ini %files json %defattr(644,root,root,755) %{extension_dir}/json.so %config(noreplace) %{php_sysconf}/conf.d/json.ini %files ldap %defattr(644,root,root,755) %{extension_dir}/ldap.so %config(noreplace) %{php_sysconf}/conf.d/ldap.ini %files mbstring %defattr(644,root,root,755) %{extension_dir}/mbstring.so %config(noreplace) %{php_sysconf}/conf.d/mbstring.ini %files mcrypt %defattr(644,root,root,755) %{extension_dir}/mcrypt.so %config(noreplace) %{php_sysconf}/conf.d/mcrypt.ini %files mysql %defattr(644,root,root,755) %{extension_dir}/mysqli.so %config(noreplace) %{php_sysconf}/conf.d/mysqli.ini %{extension_dir}/pdo_mysql.so %config(noreplace) %{php_sysconf}/conf.d/pdo_mysql.ini %if %{with firebird} %files firebird %defattr(644,root,root,755) %{extension_dir}/interbase.so %config(noreplace) %{php_sysconf}/conf.d/interbase.ini %{extension_dir}/pdo_firebird.so %config(noreplace) %{php_sysconf}/conf.d/pdo_firebird.ini %endif %files odbc %defattr(644,root,root,755) %{extension_dir}/odbc.so %config(noreplace) %{php_sysconf}/conf.d/odbc.ini %{extension_dir}/pdo_odbc.so %config(noreplace) %{php_sysconf}/conf.d/pdo_odbc.ini %files opcache %defattr(644,root,root,755) %{extension_dir}/opcache.so %config(noreplace) %{php_sysconf}/conf.d/opcache.ini %files openssl %defattr(644,root,root,755) %{extension_dir}/openssl.so %config(noreplace) %{php_sysconf}/conf.d/openssl.ini %if ! %{asan_build} %files phar %defattr(644,root,root,755) %{extension_dir}/phar.so %config(noreplace) %{php_sysconf}/conf.d/phar.ini %{_bindir}/phar %{_bindir}/phar.phar %endif %files pcntl %defattr(644,root,root,755) %{extension_dir}/pcntl.so %config(noreplace) %{php_sysconf}/conf.d/pcntl.ini %files pdo %defattr(644,root,root,755) %{extension_dir}/pdo.so %config(noreplace) %{php_sysconf}/conf.d/pdo.ini %files pgsql %defattr(644,root,root,755) %{extension_dir}/pgsql.so %config(noreplace) %{php_sysconf}/conf.d/pgsql.ini %{extension_dir}/pdo_pgsql.so %config(noreplace) %{php_sysconf}/conf.d/pdo_pgsql.ini %files posix %defattr(644,root,root,755) %{extension_dir}/posix.so %config(noreplace) %{php_sysconf}/conf.d/posix.ini %if %{with spell} %files pspell %defattr(644,root,root,755) %{extension_dir}/pspell.so %config(noreplace) %{php_sysconf}/conf.d/pspell.ini %endif %files readline %defattr(644,root,root,755) %{extension_dir}/readline.so %config(noreplace) %{php_sysconf}/conf.d/readline.ini %files shmop %defattr(644,root,root,755) %{extension_dir}/shmop.so %config(noreplace) %{php_sysconf}/conf.d/shmop.ini %files snmp %defattr(644,root,root,755) %{extension_dir}/snmp.so %config(noreplace) %{php_sysconf}/conf.d/snmp.ini %files soap %defattr(644,root,root,755) %{extension_dir}/soap.so %config(noreplace) %{php_sysconf}/conf.d/soap.ini %files sockets %defattr(644,root,root,755) %{extension_dir}/sockets.so %config(noreplace) %{php_sysconf}/conf.d/sockets.ini %files sqlite %defattr(644,root,root,755) %{extension_dir}/pdo_sqlite.so %config(noreplace) %{php_sysconf}/conf.d/pdo_sqlite.ini %{extension_dir}/sqlite3.so %config(noreplace) %{php_sysconf}/conf.d/sqlite3.ini %if %{with suhosin} %files suhosin %defattr(644,root,root,755) %{extension_dir}/suhosin.so %config(noreplace) %{php_sysconf}/conf.d/suhosin.ini %endif %files sysvmsg %defattr(644,root,root,755) %{extension_dir}/sysvmsg.so %config(noreplace) %{php_sysconf}/conf.d/sysvmsg.ini %files sysvsem %defattr(644,root,root,755) %{extension_dir}/sysvsem.so %config(noreplace) %{php_sysconf}/conf.d/sysvsem.ini %files sysvshm %defattr(644,root,root,755) %{extension_dir}/sysvshm.so %config(noreplace) %{php_sysconf}/conf.d/sysvshm.ini %files tidy %defattr(644,root,root,755) %{extension_dir}/tidy.so %config(noreplace) %{php_sysconf}/conf.d/tidy.ini %files tokenizer %defattr(644,root,root,755) %{extension_dir}/tokenizer.so %config(noreplace) %{php_sysconf}/conf.d/tokenizer.ini %files wddx %defattr(644,root,root,755) %{extension_dir}/wddx.so %config(noreplace) %{php_sysconf}/conf.d/wddx.ini %files xmlrpc %defattr(644,root,root,755) %{extension_dir}/xmlrpc.so %config(noreplace) %{php_sysconf}/conf.d/xmlrpc.ini %files xmlreader %defattr(644,root,root,755) %{extension_dir}/xmlreader.so %config(noreplace) %{php_sysconf}/conf.d/xmlreader.ini %files xmlwriter %defattr(644,root,root,755) %{extension_dir}/xmlwriter.so %config(noreplace) %{php_sysconf}/conf.d/xmlwriter.ini %files xsl %defattr(644,root,root,755) %{extension_dir}/xsl.so %config(noreplace) %{php_sysconf}/conf.d/xsl.ini %files zip %defattr(644,root,root,755) %{extension_dir}/zip.so %config(noreplace) %{php_sysconf}/conf.d/zip.ini %files zlib %defattr(644,root,root,755) %{extension_dir}/zlib.so %config(noreplace) %{php_sysconf}/conf.d/zlib.ini %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor