commit: b1bd543020b616c0cec56007ee7b2c3c4900b9f7 Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org> AuthorDate: Fri Feb 5 16:45:07 2016 +0000 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org> CommitDate: Fri Feb 5 18:25:39 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1bd5430
dev-lang/php: version bump all three slots for security fixes. Gentoo-Bug: 573892 Package-Manager: portage-2.2.26 dev-lang/php/Manifest | 4 +- .../{php-5.6.17-r5.ebuild => php-5.5.32.ebuild} | 468 ++++++++++----------- .../{php-5.6.17-r5.ebuild => php-5.6.18.ebuild} | 0 .../php/{php-7.0.2-r5.ebuild => php-7.0.3.ebuild} | 0 4 files changed, 227 insertions(+), 245 deletions(-) diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index b3d0e8d..855517e 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -1,7 +1,9 @@ DIST php-5.4.45.tar.bz2 12703324 SHA256 4e0d28b1554c95cfaea6fa2b64aac85433f158ce72bb571bcd5574f98f4c6582 SHA512 ba22207da70e5e8ddf9a1f41bbeb54ef4917630006c3412db8f858782baaa3ff49d7e5ca59bed76c37fc11dc518c475b81f33f0f32c533c8f00be338e0b0d9c5 WHIRLPOOL b34e465dd193e9c1f5dedd7c6f279bb10471e31120f2a84246927f160adb1e54ea56563c719e59ed0654e2fd0805cebcc00198d6f6153791edef52fd0f2288a7 DIST php-5.5.30.tar.bz2 13699702 SHA256 e7332a713cecdd1cb44a1b1336739885c9789f633f0f51236b25e48ab03c3b29 SHA512 9458126f579ace9e2aebdfa7ad7f8d097f1fd502f443d8fd66263ba3c542d579ca9c705e227725fae57e452649a3be7cb717a0330d339b93d3c6c94fa80dbc1f WHIRLPOOL 2aa6c61a48a231d81f6c746f94e42589d87b93d0526f02d6d15f731cbbca4aecdee84b443f7ec1891f2a524939c542ac6f94e15db90a23a8b19523463025d395 DIST php-5.5.31.tar.bz2 13659002 SHA256 fb4a382b9a9dceb749b7ef047d8251320bc8d371c843714e5b4f4b70d61ba277 SHA512 b5b44092636bf26898441cfda4007480dcd0d58b72cd5c53d74ad2926fe54bf7e5db995c8ff598f72f1783ecd02aafad6be7d3bbd35dc83300621c7c37d37eca WHIRLPOOL 4d6a4cce634d30454280b08c30e25fdc6c2d2f37a823123372a4b1bc2b0cc5cdb4e10ccdc73e78cfbf243f83184861c8f79fae023fcf291ee102151a28236052 +DIST php-5.5.32.tar.bz2 13685561 SHA256 b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee SHA512 1603864e7a98378bb5a7c1592d81029fd7dfe5d2fa88152a9e29484c3c98cd6126a79741657eea3e3295ed1bdeed47527d33981c9ea0df891f137ee8126cce2b WHIRLPOOL b7b86eec6b03720238bbe698289c6b1aecf920645f166d617fd26166aba8e19a474ff15d482f8f84fd48befc6b6be6c388797bb3f269f5609e71e10be9844759 DIST php-5.6.14.tar.bz2 14073920 SHA256 36f295f11641c1839a5df00e693f685fd134c65e8a1d46e8ee0abae8662b2eb0 SHA512 af0c7fa5c7be15839b1189b2544ff725b935228030087c206f83727e7885750030b10bf2bfbd27adea6f18af90d4ecd3ced9defec88c5f98f7ed26b4e4c57981 WHIRLPOOL 8e31fc3dbeb22fa2a59112d2dcbe28f8102c8d5a14fd716d17f909399c06d27a10ea32d43ebd1a12cea78d9fd949ae7c7882628ae0c3abd7354d165107fa0c9d DIST php-5.6.17.tar.bz2 14072840 SHA256 77b45f56a1e63e75bb22b42cfb8b438ec4083c59ce774b4d7c1685544b7add3b SHA512 706fd31324c98717d44b4db4440a5eaffe24ad34b346ba95418b33ee072b3ddde5d7429d318f69554b4bfcd7dcc0e9e4b07142b539196e9f0ab7707485ad9dbb WHIRLPOOL 02b7ea265b41e9db94a0087bd5baefdd45f3954df12298f1c50340bee5de1f5ea21ec5e1e039741db5cdd19ffd51518775bc17eff5ad8ad138c71fcaacf80af1 -DIST php-7.0.2.tar.bz2 13988573 SHA256 9b1b75fbd9c92c6b0003b234e550965038826d11ea1f430bf279964da9da2236 SHA512 05575617c6b9fb25de1d3963ff6fdb2033c66064d65657598228551119859125d33e91fafb9526d6799e92566d51bbd7c29956f774af6e0a64d7f0098d01cc40 WHIRLPOOL 5ef922a701625f4397c0ee23289ad78f67385ef76bb1e6e6f7bc7edf25777bc92af6b25ff1af90a37dfed8099bbc8d6da1bd0a3be059aa6e1b3fa56677599dec +DIST php-5.6.18.tar.bz2 14094993 SHA256 c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed SHA512 1f0820d829923404ceae287129afa9c7d7d9c83d6fbf148a65a6ac49224f4cb84e743443c4fadb69d959229123ab7e99816aab40f694d808e64b05bb7238f89e WHIRLPOOL f4863256dfe3497276ca07b6f01eb5ec046f377e462b5d7d1d11b1e92e99f087b4c55719dace4d5aca1b30794ddd37c9d81b30deb6a913b7c0eeff67ebd74c13 +DIST php-7.0.3.tar.bz2 14011153 SHA256 826823d754f09c779222a99becf9c53a4dc719dba2d777aca7807c6ca68e6fc6 SHA512 3a7aa542f53a38499eb126c3d489bed057a5a9b8e4a8fb45a55b1080fc573646615699bd94b03c882e58554b23ac5d6e3aaf54d0b502b9d110e91e69339bd7a0 WHIRLPOOL 93952672c05b5b85766f425f8b6cf290dab820e87d01945d145c52b37c9f33f995df40a9ddc00f1660a036cb07000e42c16d9587e9b4137b55bc5f95d3a3190b DIST php-patchset-5.4-r2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea diff --git a/dev-lang/php/php-5.6.17-r5.ebuild b/dev-lang/php/php-5.5.32.ebuild similarity index 59% copy from dev-lang/php/php-5.6.17-r5.ebuild copy to dev-lang/php/php-5.5.32.ebuild index 82e7a03..ab284f9 100644 --- a/dev-lang/php/php-5.6.17-r5.ebuild +++ b/dev-lang/php/php-5.5.32.ebuild @@ -4,7 +4,7 @@ EAPI=5 -inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd +inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" @@ -76,21 +76,11 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?] >=dev-libs/libpcre-8.32[unicode] apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] - <www-servers/apache-2.4[threads=] ) )" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -DEPEND="${DEPEND} - berkdb? ( || ( sys-libs/db:5.3 - sys-libs/db:5.1 - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 ) ) + <www-servers/apache-2.4[threads=] ) ) + berkdb? ( =sys-libs/db-4* ) bzip2? ( app-arch/bzip2 ) cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) cjk? ( !gd? ( @@ -109,7 +99,7 @@ DEPEND="${DEPEND} firebird? ( dev-db/firebird ) gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib ) gdbm? ( >=sys-libs/gdbm-1.8.0 ) - gmp? ( dev-libs/gmp:0 ) + gmp? ( >=dev-libs/gmp-4.1.2 ) iconv? ( virtual/libiconv ) imap? ( virtual/imap-c-client[ssl=] ) intl? ( dev-libs/icu:= ) @@ -126,9 +116,9 @@ DEPEND="${DEPEND} nls? ( sys-devel/gettext ) oci8-instant-client? ( dev-db/oracle-instantclient-basic ) odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( dev-db/postgresql:* ) + postgres? ( dev-db/postgresql ) qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0 ) + readline? ( sys-libs/readline ) recode? ( app-text/recode ) sharedmem? ( dev-libs/mm ) simplexml? ( >=dev-libs/libxml2-2.6.8 ) @@ -136,7 +126,7 @@ DEPEND="${DEPEND} soap? ( >=dev-libs/libxml2-2.6.8 ) spell? ( >=app-text/aspell-0.50 ) sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( dev-libs/openssl:0 ) + ssl? ( >=dev-libs/openssl-0.9.7 ) sybase-ct? ( dev-db/freetds ) tidy? ( app-text/htmltidy ) truetype? ( @@ -165,9 +155,7 @@ DEPEND="${DEPEND} php="=${CATEGORY}/${PF}" -# Without USE=readline, the interactive "php -a" CLI will hang. REQUIRED_USE=" - cli? ( readline ) truetype? ( gd ) vpx? ( gd ) cjk? ( gd ) @@ -235,16 +223,16 @@ php_install_ini() { php_set_ini_dir "${phpsapi}" local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}" - cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die + cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" dodir "${PHP_INI_DIR#${EPREFIX}}" insinto "${PHP_INI_DIR#${EPREFIX}}" @@ -258,21 +246,27 @@ php_install_ini() { if use_if_iuse opcache; then elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" fi # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config file php-fpm.conf" + [[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0 + einfo "Installing FPM CGI config file php-fpm.conf" insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf + newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf + + # Remove bogus /etc/php-fpm.conf.default (bug 359906) + [[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default" fi + # Install PHP ini files into /usr/share/php + dodoc php.ini-development dodoc php.ini-production + } php_set_ini_dir() { @@ -282,6 +276,14 @@ php_set_ini_dir() { } src_prepare() { + # USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path + # ([empty session.save_path]/session_mm_[sapi][gid].sem) + # there is no easy way to circumvent that, all php calls during + # install use -n, so no php.ini file will be used. + # As such, this is the easiest way to get around + addpredict /session_mm_cli250.sem + addpredict /session_mm_cli0.sem + # Change PHP branding # Get the alpha/beta/rc version sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ @@ -296,8 +298,7 @@ src_prepare() { sed -i \ -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ - configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ - || die + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 # Patch PHP to support heimdal instead of mit-krb5 if has_version "app-crypt/heimdal" ; then @@ -307,11 +308,11 @@ src_prepare() { || die "Failed to fix heimdal crypt library reference" fi - # Add user patches #357637 + #Add user patches #357637 epatch_user - # Force rebuilding aclocal.m4 - rm -f aclocal.m4 || die + #force rebuilding aclocal.m4 + rm aclocal.m4 eautoreconf if [[ ${CHOST} == *-darwin* ]] ; then @@ -326,127 +327,126 @@ src_configure() { PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( + # This is a global variable and should be in caps. It isn't because the + # phpconfutils eclass relies on exactly this name... + # for --with-libdir see bug #327025 + my_conf=" --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" + --mandir="${PHP_DESTDIR}"/man + --infodir="${PHP_DESTDIR}"/info + --libdir="${PHP_DESTDIR}"/lib + --with-libdir=$(get_libdir) --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_enable bcmath bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar calendar) - $(use_enable ctype ctype) - $(use_with curl curl "${EPREFIX}/usr") - $(use_enable xml dom) - $(use_with enchant enchant "${EPREFIX}/usr") - $(use_enable exif exif) - $(use_enable fileinfo fileinfo) - $(use_enable filter filter) - $(use_enable ftp ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_enable hash hash) - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) - $(use_enable intl intl) - $(use_enable ipv6 ipv6) - $(use_enable json json) - $(use_with kerberos kerberos "${EPREFIX}/usr") - $(use_enable xml libxml) - $(use_with xml libxml-dir "${EPREFIX}/usr") - $(use_enable unicode mbstring) - $(use_with crypt mcrypt "${EPREFIX}/usr") - $(use_with mssql mssql "${EPREFIX}/usr") - $(use_with unicode onig "${EPREFIX}/usr") - $(use_with ssl openssl "${EPREFIX}/usr") - $(use_with ssl openssl-dir "${EPREFIX}/usr") - $(use_enable pcntl pcntl) - $(use_enable phar phar) - $(use_enable pdo pdo) - $(use_enable opcache opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_with recode recode "${EPREFIX}/usr") - $(use_enable simplexml simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap soap) - $(use_enable sockets sockets) - $(use_with sqlite sqlite3 "${EPREFIX}/usr") - $(use_with sybase-ct sybase-ct "${EPREFIX}/usr") - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with systemd fpm-systemd) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer tokenizer) - $(use_enable wddx wddx) - $(use_enable xml xml) - $(use_enable xmlreader xmlreader) - $(use_enable xmlwriter xmlwriter) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}/usr") - $(use_enable zip zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug debug) - ) + $(use_enable threads maintainer-zts)" + + # extension USE flag shared + my_conf+=" + $(use_enable bcmath bcmath ) + $(use_with bzip2 bz2 "${EPREFIX}"/usr) + $(use_enable calendar calendar ) + $(use_enable ctype ctype ) + $(use_with curl curl "${EPREFIX}"/usr) + $(use_enable xml dom ) + $(use_with enchant enchant "${EPREFIX}"/usr) + $(use_enable exif exif ) + $(use_enable fileinfo fileinfo ) + $(use_enable filter filter ) + $(use_enable ftp ftp ) + $(use_with nls gettext "${EPREFIX}"/usr) + $(use_with gmp gmp "${EPREFIX}"/usr) + $(use_enable hash hash ) + $(use_with mhash mhash "${EPREFIX}"/usr) + $(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr)) + $(use_enable intl intl ) + $(use_enable ipv6 ipv6 ) + $(use_enable json json ) + $(use_with kerberos kerberos "${EPREFIX}"/usr) + $(use_enable xml libxml ) + $(use_with xml libxml-dir "${EPREFIX}"/usr) + $(use_enable unicode mbstring ) + $(use_with crypt mcrypt "${EPREFIX}"/usr) + $(use_with mssql mssql "${EPREFIX}"/usr) + $(use_with unicode onig "${EPREFIX}"/usr) + $(use_with ssl openssl "${EPREFIX}"/usr) + $(use_with ssl openssl-dir "${EPREFIX}"/usr) + $(use_enable pcntl pcntl ) + $(use_enable phar phar ) + $(use_enable pdo pdo ) + $(use_enable opcache opcache ) + $(use_with postgres pgsql "${EPREFIX}"/usr) + $(use_enable posix posix ) + $(use_with spell pspell "${EPREFIX}"/usr) + $(use_with recode recode "${EPREFIX}"/usr) + $(use_enable simplexml simplexml ) + $(use_enable sharedmem shmop ) + $(use_with snmp snmp "${EPREFIX}"/usr) + $(use_enable soap soap ) + $(use_enable sockets sockets ) + $(use_with sqlite sqlite3 "${EPREFIX}"/usr) + $(use_with sybase-ct sybase-ct "${EPREFIX}"/usr) + $(use_enable sysvipc sysvmsg ) + $(use_enable sysvipc sysvsem ) + $(use_enable sysvipc sysvshm ) + $(use_with systemd fpm-systemd) + $(use_with tidy tidy "${EPREFIX}"/usr) + $(use_enable tokenizer tokenizer ) + $(use_enable wddx wddx ) + $(use_enable xml xml ) + $(use_enable xmlreader xmlreader ) + $(use_enable xmlwriter xmlwriter ) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}"/usr) + $(use_enable zip zip ) + $(use_with zlib zlib "${EPREFIX}"/usr) + $(use_enable debug debug )" # DBA support if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ || use qdbm ; then - our_conf+=( "--enable-dba${shared}" ) + my_conf="${my_conf} --enable-dba${shared}" fi # DBA drivers support - our_conf+=( - $(use_with cdb cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with cdb cdb) + $(use_with berkdb db4 ${EPREFIX}/usr) + $(use_enable flatfile flatfile ) + $(use_with gdbm gdbm ${EPREFIX}/usr) + $(use_enable inifile inifile ) + $(use_with qdbm qdbm ${EPREFIX}/usr)" # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype-dir "${EPREFIX}/usr") - $(use_with truetype t1lib "${EPREFIX}/usr") - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg-dir "${EPREFIX}/usr") - $(use_with gd png-dir "${EPREFIX}/usr") - $(use_with xpm xpm-dir "${EPREFIX}/usr") - $(use_with vpx vpx-dir "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with truetype freetype-dir ${EPREFIX}/usr) + $(use_with truetype t1lib ${EPREFIX}/usr) + $(use_enable cjk gd-jis-conv ) + $(use_with gd jpeg-dir ${EPREFIX}/usr) + $(use_with gd png-dir ${EPREFIX}/usr) + $(use_with xpm xpm-dir ${EPREFIX}/usr) + $(use_with vpx vpx-dir ${EPREFIX}/usr)" # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_with gd gd) ) + my_conf+=" + $(use_with gd gd)" # IMAP support if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with imap imap ${EPREFIX}/usr) + $(use_with ssl imap-ssl ${EPREFIX}/usr)" fi # Interbase/firebird support - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + if use firebird ; then + my_conf+=" + $(use_with firebird interbase ${EPREFIX}/usr)" + fi # LDAP support if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with ldap ldap ${EPREFIX}/usr) + $(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)" fi # MySQL support @@ -455,59 +455,68 @@ src_configure() { use libmysqlclient && mysqllib="${EPREFIX}/usr" use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" - our_conf+=( $(use_with mysql mysql "${mysqllib}") ) - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + my_conf+=" $(use_with mysql mysql $mysqllib)" + my_conf+=" $(use_with mysqli mysqli $mysqlilib)" - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)" + if use mysql ; then + my_conf+="${mysqlsock}" + elif use mysqli ; then + my_conf+="${mysqlsock}" fi # ODBC support - our_conf+=( - $(use_with odbc unixODBC "${EPREFIX}/usr") - $(use_with iodbc iodbc "${EPREFIX}/usr") - ) + if use odbc ; then + my_conf+=" + $(use_with odbc unixODBC ${EPREFIX}/usr)" + fi + + if use iodbc ; then + my_conf+=" + $(use_with iodbc iodbc ${EPREFIX}/usr)" + fi # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) + if use oci8-instant-client ; then + my_conf+=" + $(use_with oci8-instant-client oci8)" + fi # PDO support if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib) - $(use_with mysql pdo-mysql "${mysqllib}") - $(use_with postgres pdo-pgsql) - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) + my_conf+=" + $(use_with mssql pdo-dblib ) + $(use_with mysql pdo-mysql ${mysqllib}) + $(use_with postgres pdo-pgsql ) + $(use_with sqlite pdo-sqlite ${EPREFIX}/usr) + $(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)" + if use oci8-instant-client ; then + my_conf+=" + $(use_with oci8-instant-client pdo-oci)" + fi fi # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit libedit "${EPREFIX}/usr") - ) + my_conf+=" + $(use_with readline readline ${EPREFIX}/usr) + $(use_with libedit libedit ${EPREFIX}/usr)" # Session support if use session ; then - our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + my_conf+=" + $(use_with sharedmem mm ${EPREFIX}/usr)" else - our_conf+=( $(use_enable session session) ) + my_conf+=" + $(use_enable session session )" fi # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) + my_conf="${my_conf} --with-pic" # we use the system copy of pcre # --with-pcre-regex affects ext/pcre # --with-pcre-dir affects ext/filter and ext/zip - our_conf+=( - --with-pcre-regex="${EPREFIX}/usr" - --with-pcre-dir="${EPREFIX}/usr" - ) + my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr" # Catch CFLAGS problems # Fixes bug #14067. @@ -515,56 +524,43 @@ src_configure() { replace-cpu-flags "k6*" "i586" # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) + my_conf="${my_conf} ${EXTRA_ECONF:-}" # Support the Apache2 extras, they must be set globally for all # SAPIs to work correctly, especially for external PHP extensions - mkdir -p "${WORKDIR}/sapis-build" || die + mkdir -p "${WORKDIR}/sapis-build" for one_sapi in $SAPIS ; do use "${one_sapi}" || continue php_set_ini_dir "${one_sapi}" - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -r "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die + cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}" + cd "${WORKDIR}/sapis-build/${one_sapi}" - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) + sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR} + --with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}" for sapi in $SAPIS ; do case "$sapi" in cli|cgi|embed|fpm) if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) + sapi_conf="${sapi_conf} --enable-${sapi}" else - sapi_conf+=( "--disable-${sapi}" ) + sapi_conf="${sapi_conf} --disable-${sapi}" fi ;; apache2) if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" ) + sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs" else - sapi_conf+=( --without-apxs2 ) + sapi_conf="${sapi_conf} --without-apxs2" fi ;; esac done - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die + econf ${sapi_conf} done } @@ -575,9 +571,8 @@ src_compile() { for sapi in ${SAPIS} ; do if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake + cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake || die "emake failed" fi done } @@ -599,14 +594,15 @@ src_install() { dodir "${PHP_DESTDIR#${EPREFIX}}/bin" # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die + cd "${WORKDIR}/sapis-build/$first_sapi" emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs + install-build install-headers install-programs \ + || die "emake install failed" local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" + keepdir /usr/share/php${PHP_MV} local sapi="", file="" local sapi_list="" @@ -614,14 +610,13 @@ src_install() { for sapi in ${SAPIS}; do if use "${sapi}" ; then einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die + cd "${WORKDIR}/sapis-build/${sapi}" if [[ "${sapi}" == "apache2" ]] ; then # We're specifically not using emake install-sapi as libtool # may cause unnecessary relink failures (see bug #351266) insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp5$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" + newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)" keepdir "/usr/$(get_libdir)/apache2/modules" else # needed each time, php_install_ini would reset it @@ -646,9 +641,9 @@ src_install() { esac if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" + dolib.so "${source}" || die "Unable to install ${sapi} sapi" else - dobin "${source}" + dobin "${source}" || die "Unable to install ${sapi} sapi" local name="$(basename ${source})" dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" fi @@ -668,25 +663,26 @@ src_install() { # Installing opcache module if use_if_iuse opcache ; then - dolib.so "modules/opcache$(get_libname)" + dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module" fi # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + newenvd "${FILESDIR}/20php5-envd" \ + "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i \ + "${ED}/etc/env.d/20php${SLOT}" + sed -e "s|php5|php${SLOT}|g" -i \ + "${ED}/etc/env.d/20php${SLOT}" # set php-config variable correctly (bug #278439) sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" if use fpm ; then if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" + systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service" else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service" fi fi } @@ -705,13 +701,11 @@ src_test() { export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" fi - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}" for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + mv "${name}.out" "${name}.out.orig" 2>/dev/null done local failed="$(find -name '*.out')" @@ -745,7 +739,7 @@ pkg_postinst() { # Output some general info to the user if use apache2 ; then APACHE2_MOD_DEFINE="PHP" - APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php + APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php apache-module_pkg_postinst fi @@ -755,7 +749,7 @@ pkg_postinst() { if use $m ; then local ci=$(eselect php show $m) if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die + eselect php set $m php${SLOT} einfo "Switched ${m} to use php:${SLOT}" einfo elif [[ $ci != "php${SLOT}" ]] ; then @@ -766,39 +760,25 @@ pkg_postinst() { fi done - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes" - elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI." + elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order" + elog "to compile extensions for the ${SLOT} ABI" elog - elog "This ebuild installed a version of php.ini based on" - elog "php.ini-${PHP_INI_VERSION}. You can choose which version of" - elog "php.ini to install by default by setting PHP_INI_VERSION" - elog "to either 'production' or 'development' in your make.conf." - elog "Both versions of php.ini can be found with the PHP docs in" - elog "${EPREFIX}/usr/share/doc/${PF}" + if ! use readline && use cli ; then + ewarn "Note that in order to use php interactivly, you need to enable" + ewarn "the readline USE flag or php -a will hang" + fi elog - elog "For more details on how version slotting works, please see" - elog "the wiki:" + elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version." + elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either" + elog "'production' or 'development' in ${EPREFIX}/etc/make.conf" + elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}" + elog - elog " https://wiki.gentoo.org/wiki/PHP" + elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:" + elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml" elog } -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. +pkg_prerm() { eselect php cleanup } diff --git a/dev-lang/php/php-5.6.17-r5.ebuild b/dev-lang/php/php-5.6.18.ebuild similarity index 100% rename from dev-lang/php/php-5.6.17-r5.ebuild rename to dev-lang/php/php-5.6.18.ebuild diff --git a/dev-lang/php/php-7.0.2-r5.ebuild b/dev-lang/php/php-7.0.3.ebuild similarity index 100% rename from dev-lang/php/php-7.0.2-r5.ebuild rename to dev-lang/php/php-7.0.3.ebuild