diff options
author | Luca Longinotti <chtekk@gentoo.org> | 2006-08-29 19:55:32 +0000 |
---|---|---|
committer | Luca Longinotti <chtekk@gentoo.org> | 2006-08-29 19:55:32 +0000 |
commit | 2249da70787b2a20bbd97f467f5ba045e008f656 (patch) | |
tree | 359c99328adf03b25fc2da544b41d4e33e70aea6 | |
parent | Stable on ia64, bug 145256. (diff) | |
download | historical-2249da70787b2a20bbd97f467f5ba045e008f656.tar.gz historical-2249da70787b2a20bbd97f467f5ba045e008f656.tar.bz2 historical-2249da70787b2a20bbd97f467f5ba045e008f656.zip |
Version bump, add PHP 4.4.4 and PHP 5.1.6 with Hardened-PHP 0.4.14.
Package-Manager: portage-2.1.1_rc1-r1
-rw-r--r-- | dev-lang/php/ChangeLog | 11 | ||||
-rw-r--r-- | dev-lang/php/Manifest | 38 | ||||
-rw-r--r-- | dev-lang/php/files/digest-php-4.4.4 | 9 | ||||
-rw-r--r-- | dev-lang/php/files/digest-php-5.1.6 | 9 | ||||
-rw-r--r-- | dev-lang/php/php-4.4.4.ebuild | 512 | ||||
-rw-r--r-- | dev-lang/php/php-5.1.6.ebuild | 512 |
6 files changed, 1076 insertions, 15 deletions
diff --git a/dev-lang/php/ChangeLog b/dev-lang/php/ChangeLog index 92ed872cbc6a..d79eb5e36a8b 100644 --- a/dev-lang/php/ChangeLog +++ b/dev-lang/php/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-lang/php # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.121 2006/08/15 03:40:38 tsunam Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/ChangeLog,v 1.122 2006/08/29 19:55:32 chtekk Exp $ + +*php-5.1.6 (29 Aug 2006) +*php-4.4.4 (29 Aug 2006) + + 29 Aug 2006; Luca Longinotti <chtekk@gentoo.org> +php-4.4.4.ebuild, + +php-5.1.6.ebuild: + Version bump, add PHP 4.4.4 and PHP 5.1.6 with Hardened-PHP 0.4.14, fixes + bug #144297. Also switch the eclasses to use external libraries for PCRE and + SQLite support, fixes bug #145220. 15 Aug 2006; Joshua Jackson <tsunam@gentoo.org> php-4.4.3-r1.ebuild, php-5.1.4-r6.ebuild: diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 2204950e4130..d981684cc5e3 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX 70_mod_php.conf-apache1 454 RMD160 869b5c225782690889bdfa5227a8f46c33ac71d3 SHA1 27e7fc24e1793bacef9b9735102d335b1a5d21ff SHA256 9e6227e508f0c297f48c667e2135c7692f7943b3d0cd2ffdbdcca0bad5220343 MD5 6171c7aa95f69b8a54b0f29bd1056d2b files/70_mod_php.conf-apache1 454 RMD160 869b5c225782690889bdfa5227a8f46c33ac71d3 files/70_mod_php.conf-apache1 454 @@ -38,24 +35,30 @@ DIST hardening-patch-4.4.2-0.4.11-gentoo-r1.patch.gz 59709 RMD160 6bd005bda596ff DIST hardening-patch-4.4.2-0.4.8-gentoo.patch.gz 59792 RMD160 87c5234a6e70b3f24b20227e891e4f878b9e55a8 SHA1 96e2b44f98b178e991bb42f145230c6ac925efed SHA256 31a8aec0f46cd34079179a32e1b8033891d9cb0e5cbd53ef9d56848b48c1f1f9 DIST hardening-patch-4.4.2-0.4.9-gentoo.patch.gz 59219 RMD160 6802aa02189489cf1e713dfde02039f888992507 SHA1 82c98c98536ba0e5a6c8de085de39b20c9e5adc9 SHA256 1a1affd04f234567cf049265fe62e9a2c3bde99193e6e17d5f8c010b04075760 DIST hardening-patch-4.4.3-0.4.13-gentoo.patch.gz 60572 RMD160 bef0106227dd0e23a67e59d9d0a5735478c2dec2 SHA1 d0284ed0f7213e5afb326411cdaf2dfbdd007949 SHA256 4e09cd6cbd00e3a2199e6a68ab58875b133fea685500f2a35a2f7d348eaab44b +DIST hardening-patch-4.4.4-0.4.14-gentoo.patch.gz 60772 RMD160 9f55babe9a2847f68574f94d9d49bb6eef1960b0 SHA1 6bf249422693c0ed6f1958b11d6594d1ad08e09d SHA256 454b23922ce1cdcb7ac61d02b198a21db08f2069cd9f7b2fb5f46291f0e24989 DIST hardening-patch-5.0.5-0.4.8-gentoo.patch.gz 57864 RMD160 f68e2870ef56f005ae062f53053ecffd87b2059d SHA1 3f69694a541c9014c5b52669c4259ce11209da7b SHA256 6d8e61ff1fa10ce238600e936de1eac665c5237482ae6c3b4db05c6b7d684a7c DIST hardening-patch-5.1.4-0.4.11-gentoo-r1.patch.gz 58168 RMD160 8fe4085261c939944567a796e4be8d0af9fc4a66 SHA1 3b99af61fccc566e4a8170198900012f4524b74a SHA256 fd07ac145966e931f961c392ca087a2a7e93ba9c6bcc0ff382ca80d5019480d6 DIST hardening-patch-5.1.4-0.4.13-gentoo.patch.gz 59457 RMD160 301592ee7fd7290e1c61d5e90f9a88a683ab8b3b SHA1 14604a1ed1120155f277c5d7dea4828ecac21a77 SHA256 ab3da7f799eaecda3fecf5971ed821ba60a3a8e0f4a931114122791542d95ddc DIST hardening-patch-5.1.4-0.4.9-gentoo.patch.gz 57671 RMD160 c9e16019388d55a17d1c198f24492d7d07d68847 SHA1 260a47db36bdab64f122d6fa67234110047b9341 SHA256 f877989c03d13bb3b51e9af4e9a67d535da35784ceabd19dcd85be64ff6b9efa +DIST hardening-patch-5.1.6-0.4.14-gentoo.patch.gz 60949 RMD160 4636e215cf13d50bcbdd75da45ef624d1c19ed5d SHA1 fa0cd8f4d630222a00c8b51fd566c5de10b6c464 SHA256 515687900f7976872cb14f5b052890b22c4b1cbea1dcfbab852b79dab13831bf DIST php-4.3.11.tar.bz2 4012575 RMD160 fe44f6c2783ddd469b94744e440e836cff3329e5 SHA1 617ce50bb125ee841f71e67638c492999cd3bd18 SHA256 6b133db9ac17d4e1f393003683c1b4d15dff3197559c85fd8dd63ba4868a21c5 DIST php-4.4.2.tar.bz2 4371185 RMD160 cbef0fa4e233529422bc0944dcfb79d866013f5e SHA1 88f2e9efff0add8d8e3034d4ce3a948429b88756 SHA256 a2024d665125a41611eb64451648d37a81e3579594c8810bb41ac8b2b63f81eb DIST php-4.4.3.tar.bz2 4461353 RMD160 36c91930af44e8a1ed59eb159e6131ae8f0c77f0 SHA1 42aec56fec03c13366c0b0aac13169138814a4b5 SHA256 0f57da4b9d94f7febd37c0bc8e608e5aafafe744d094466723e04afb283407f7 +DIST php-4.4.4.tar.bz2 4478698 RMD160 02fd7d5135a9e5ce11d905a4a474a5d42b8441f3 SHA1 05d62910fb5734344db87f0a17b1e8e001b26b05 SHA256 9f0742fce014a255f8453c1264afee5de289a9e9dcd57c448c77b46978f6a76b DIST php-5.0.5.tar.bz2 4895556 RMD160 6a9a892affba229770154407860cd1c2a098eaf9 SHA1 ffcc050f879265eb96f2c8dc79fa895047da9d4a SHA256 aa63e769059d2452b153db6d4e6b421228d0606cbe8b11ace00e4c1b5c2cdc4f DIST php-5.1.4.tar.bz2 6356171 RMD160 d4ab11884a3a899f21eef777767a553cf81584ce SHA1 83d4c5a4a3e8f3bcb0da841edd8d55893dbf5394 SHA256 b55253e9557eceb901d83217ec192da22c28c7b2fdf714d3f151f1db663b5a32 +DIST php-5.1.6.tar.bz2 6454408 RMD160 7ac52f4674532397c982f6ced594b70dd17522af SHA1 a20b946f1de0a8a35a8a6bf437adbba4e5448d27 SHA256 3e9510ce715f28b7e6b803fcdadb73b37c83792c0b5e1e9bcb066ab972649996 DIST php-patchset-4.3.11-r3.tar.bz2 27977 RMD160 a99c2eecca8e6e51cdb2f66e7da2d0a446fb8d50 SHA1 9c229a70b52db40e752be8f0557865d8ec602f40 SHA256 4b93cdebc3034e81d9c589e90fdf93e84ea67712a56afaad5b0b299edfe6d76b DIST php-patchset-4.4.2-r1.tar.bz2 13774 RMD160 95db8755a8d5d8972bc8bf5ecaf8740663f910d5 SHA1 23c63e357ce9e3d5015430da288ce805bff5bee5 SHA256 8106995c3243c604434cb4b4fdafc04db0e3604eccb7ba487724f44b892252e4 DIST php-patchset-4.4.2-r3.tar.bz2 18063 RMD160 d7a06bb5cc4cff88e943c85f73adea92ed7eb4a7 SHA1 855351e32fc972a5585d913e37d98a5a2c653ec4 SHA256 203918cf6e984266196748342cdeaa1d30e1ecb971376e0a5d2aff09428538ac DIST php-patchset-4.4.2-r7.tar.bz2 24079 RMD160 9bd72618cb3ac7584bcbf5f41c7c7926590bc85b SHA1 3a1704b7c374ca79a9ba14f7287e8c1122380037 SHA256 44c976ee3df7b99ed014a1579264cdd069e9bd57efa2757ee4e06112d073fc5b DIST php-patchset-4.4.3-r3.tar.bz2 22764 RMD160 e9ec6ffcdebb696f13c177e57ad8d78763df439a SHA1 6e2961f3743f9b1d6fdd333639342287cba24bf8 SHA256 457f003521d930be27068cce80f4adfdedcb715789e1677b47b4dfbb86559819 +DIST php-patchset-4.4.4-r1.tar.bz2 19969 RMD160 e420d6b849c115ea987791875e019420292be9fd SHA1 ade335e6fbf04e15f510e1cc78163dcc7c989545 SHA256 5d739336ef5dfabe5dd884f06e2261e1014ae7e0126369aef547b61fc6d8ee92 DIST php-patchset-5.0.5-r3.tar.bz2 20910 RMD160 0f78808e3fe15568d5670ad852ed218589949aea SHA1 54d9edc8e8becc1b0822f30b784f029eb5417db3 SHA256 b4df50e7a857eea4072c0b7cde1585409eaebec8f64474d6c1611c5b9869c7f2 DIST php-patchset-5.1.4-r1.tar.bz2 7330 RMD160 ed33ee236286539a0614709d944ac636b84bca45 SHA1 acf60f1f750cb8c2a42d0b5478cf295c2c5a37ea SHA256 5a780b331343fa1fb6c3c4a76bf87e24e586ca2f41c5cd3824291f1b0037e961 DIST php-patchset-5.1.4-r5.tar.bz2 21025 RMD160 ebe867eff66440c1714ac2cb87c11ee17f15d8ea SHA1 c0d23e0437878a54c8c06790cfe71de940ca2fa8 SHA256 8d682d0b26dcbd5ee420bc2c2e1483a68a34ede6eecf7ae83f1ea9ca36a6c57f DIST php-patchset-5.1.4-r6.tar.bz2 29925 RMD160 06e4cc0d2937786ac64446db9954897af2bd15c6 SHA1 e5b9f97e80c798078f7e39a05af2c50e4ace1bd9 SHA256 9a29de8dba649f91057d7c2f1b853dc81228936c78d0fb787287531eaf316b39 +DIST php-patchset-5.1.6-r1.tar.bz2 22390 RMD160 9bb28e7b2c247e890e386e89a820dc89a5ae3f05 SHA1 53d4d5b7400f814adba4c69b3258d0678fc7c1d3 SHA256 a3d1fb8926c8fd4a545559c859a2787ba08d94f60fd352512d8c5b2a3d98c14c DIST php-pcrelib-new-secpatch.tar.bz2 357619 RMD160 1748ef9837f3f5ce7ad81f0dd751b430c8c2c6f6 SHA1 040bf3344d68fff3eb1829a2a02586499de5c2ee SHA256 7c49aa2c6be704b576720673fa123febdddc541d8152ccacea5cb2c9d1560a19 EBUILD php-4.3.11-r5.ebuild 14932 RMD160 496b57fd984931f17edb7c00521988fd0b04c893 SHA1 1097ac9cdfd25179203032ed482574bf6021b773 SHA256 a48ab17f67dfbb3c4a598a02ef059a5320c15063fa2863c16f23e1ac936176c0 MD5 73dadb37690226c70f1f1be9eec1e3b5 php-4.3.11-r5.ebuild 14932 @@ -77,6 +80,10 @@ EBUILD php-4.4.3-r1.ebuild 15380 RMD160 2f5e7aacf378088c0799c6599d5b49e681b3581f MD5 9c47d0ffc8c3f38845bb8011a13037f6 php-4.4.3-r1.ebuild 15380 RMD160 2f5e7aacf378088c0799c6599d5b49e681b3581f php-4.4.3-r1.ebuild 15380 SHA256 819357c997f1ec3f7202c10676a544bfb38fffa02115218f271a7f75718ea919 php-4.4.3-r1.ebuild 15380 +EBUILD php-4.4.4.ebuild 15386 RMD160 81d73f5e3c448cbf229ae55b71f0ffb314867441 SHA1 77d1a2177e1d17d4451814b8ae18a70ec4d67ce6 SHA256 4eddf59dc1e12ffc7c4f721b02ee0e8b77075369ebe4feb5d7ccf24ce45ac102 +MD5 e098a9c4cad9ed26b257c1bdbfc2cc05 php-4.4.4.ebuild 15386 +RMD160 81d73f5e3c448cbf229ae55b71f0ffb314867441 php-4.4.4.ebuild 15386 +SHA256 4eddf59dc1e12ffc7c4f721b02ee0e8b77075369ebe4feb5d7ccf24ce45ac102 php-4.4.4.ebuild 15386 EBUILD php-5.0.5-r5.ebuild 10457 RMD160 d862476c6c06944317cc3f417005f93a652c8996 SHA1 1d0b97da8e1cdeefacffd9e68dec94a94eb040db SHA256 d7a9d73e51e332e8d78624072a1e8972554a8789a0ed7112760ea2b9625b6bbb MD5 a78424ab5677e3d6ec0588295fd480b7 php-5.0.5-r5.ebuild 10457 RMD160 d862476c6c06944317cc3f417005f93a652c8996 php-5.0.5-r5.ebuild 10457 @@ -93,10 +100,14 @@ EBUILD php-5.1.4.ebuild 14575 RMD160 798bb61e46536dbb1429df96a5ab596457b01543 SH MD5 36747f311302de82fcacf093713361bb php-5.1.4.ebuild 14575 RMD160 798bb61e46536dbb1429df96a5ab596457b01543 php-5.1.4.ebuild 14575 SHA256 5055ab37f0e18f503f49e012bd01a02d1e8dd824cfed9aa76d27c44988b21123 php-5.1.4.ebuild 14575 -MISC ChangeLog 25750 RMD160 2e680117006f00310ee3f114d09b427e81d16527 SHA1 9e5de78a38607c8649ba52469ba8f1ec5889bb81 SHA256 a5436370aa8411eef746400f0350e75e8f2b09e188da6e47e73c3438e33a2852 -MD5 a0bf0ff29ac8d3ba308f5c148b556155 ChangeLog 25750 -RMD160 2e680117006f00310ee3f114d09b427e81d16527 ChangeLog 25750 -SHA256 a5436370aa8411eef746400f0350e75e8f2b09e188da6e47e73c3438e33a2852 ChangeLog 25750 +EBUILD php-5.1.6.ebuild 15394 RMD160 819ccbb51ef800d1197daf4fdf70a0641b2afe0a SHA1 d48433afc651044cba9358f1f0b6a450ffd6964d SHA256 50118df764fe9e26172fb504d36d5f82c8555fda710c2154b9a5f2b2c71ffa61 +MD5 e1ba36e9c8ee02db6da00cc439c6a584 php-5.1.6.ebuild 15394 +RMD160 819ccbb51ef800d1197daf4fdf70a0641b2afe0a php-5.1.6.ebuild 15394 +SHA256 50118df764fe9e26172fb504d36d5f82c8555fda710c2154b9a5f2b2c71ffa61 php-5.1.6.ebuild 15394 +MISC ChangeLog 26085 RMD160 86cac64dd820d6cd2427df0e87195d5c21d6ccfa SHA1 162a03e14b07b7da86c082ffc05858d91e5d9a42 SHA256 e92e9e91a8559d969ec16ec8eddb0df6c319e9337f8f071a5b566b638ba83e91 +MD5 d49f64855125fb3325dcb9b1086446f3 ChangeLog 26085 +RMD160 86cac64dd820d6cd2427df0e87195d5c21d6ccfa ChangeLog 26085 +SHA256 e92e9e91a8559d969ec16ec8eddb0df6c319e9337f8f071a5b566b638ba83e91 ChangeLog 26085 MISC metadata.xml 157 RMD160 a98db3a086fae3c09a903dadbc05f60443ec4b1a SHA1 ddaa23cc35eb917bf8962b652442bebb1ce0f440 SHA256 54f8878ca0228e380abbaa4b529806b5533a6b9b51b3b16c0909e906586a91a1 MD5 c58d07ca1c1235bbad9bccaec96fc062 metadata.xml 157 RMD160 a98db3a086fae3c09a903dadbc05f60443ec4b1a metadata.xml 157 @@ -116,6 +127,9 @@ SHA256 12b893a3916430a02e6be38716485318febe1c72c9f84aca741cbefa9d3183cf files/di MD5 563df2b6bd1f3d690facae31d1c957d3 files/digest-php-4.4.3-r1 810 RMD160 db0c4236e1ecda59859891ebc4d515864751c636 files/digest-php-4.4.3-r1 810 SHA256 9df4508e85d305e439f9169b0b9e5adef1b9d454279f510fcab777426f1d7271 files/digest-php-4.4.3-r1 810 +MD5 c0ffcb25438c3ee1944fb8181e21967a files/digest-php-4.4.4 810 +RMD160 b20502f546f8c2788f54a36695c4d15b944623a4 files/digest-php-4.4.4 810 +SHA256 3db950a751ed3604c160e9f8e16bc36afd35f508ed9da858486e20d16c32795f files/digest-php-4.4.4 810 MD5 049755680b7454329c4332c92e1aa83e files/digest-php-5.0.5-r5 807 RMD160 351460cebfa761c8570dfa2b8e3d096c6d0c6df9 files/digest-php-5.0.5-r5 807 SHA256 f647a2e0bc16efd18e6f216a0abd64b2b47a4bb95159a2199255d104a2720a9b files/digest-php-5.0.5-r5 807 @@ -128,10 +142,6 @@ SHA256 027d2b030bf9fa6d73c254dffb37ca42c4c1bd511c03c4b7e6271c16434a1b88 files/di MD5 e2701fcf4348406615cae33fd3cfed04 files/digest-php-5.1.4-r6 810 RMD160 562ec3d2dfb41b85785155e09a3d9f7a26fe0213 files/digest-php-5.1.4-r6 810 SHA256 d52a40e6f7f350a5ac2baa46095fb8e71e062d7b3cab3d890bc2c6a29c3ef91d files/digest-php-5.1.4-r6 810 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.2.2 (GNU/Linux) - -iD8DBQFE4ULF2ZWR0Jhg/EsRAhZ8AJ9OLPzraom8A3Vs/hGT4Z+BMFQhNgCfdxkP -UxH6jrJ7PkVBN7U3vZkDmuo= -=U61T ------END PGP SIGNATURE----- +MD5 078b8ef702553d5b502297c10f021119 files/digest-php-5.1.6 810 +RMD160 275ad8deed6c6756a4a35e860f840fdeac685aac files/digest-php-5.1.6 810 +SHA256 16b18d40cb7d9b74a331890f2c3e1590438fb814d1bf46a331c5b104b2641aab files/digest-php-5.1.6 810 diff --git a/dev-lang/php/files/digest-php-4.4.4 b/dev-lang/php/files/digest-php-4.4.4 new file mode 100644 index 000000000000..6ab9203d07c4 --- /dev/null +++ b/dev-lang/php/files/digest-php-4.4.4 @@ -0,0 +1,9 @@ +MD5 603410dabb06b7252c2bcc1143dad813 hardening-patch-4.4.4-0.4.14-gentoo.patch.gz 60772 +RMD160 9f55babe9a2847f68574f94d9d49bb6eef1960b0 hardening-patch-4.4.4-0.4.14-gentoo.patch.gz 60772 +SHA256 454b23922ce1cdcb7ac61d02b198a21db08f2069cd9f7b2fb5f46291f0e24989 hardening-patch-4.4.4-0.4.14-gentoo.patch.gz 60772 +MD5 bc6fa8908e2ac36e93bab9f7d42cda3a php-4.4.4.tar.bz2 4478698 +RMD160 02fd7d5135a9e5ce11d905a4a474a5d42b8441f3 php-4.4.4.tar.bz2 4478698 +SHA256 9f0742fce014a255f8453c1264afee5de289a9e9dcd57c448c77b46978f6a76b php-4.4.4.tar.bz2 4478698 +MD5 677975c1e10ebd9ee17112b4ca0f21af php-patchset-4.4.4-r1.tar.bz2 19969 +RMD160 e420d6b849c115ea987791875e019420292be9fd php-patchset-4.4.4-r1.tar.bz2 19969 +SHA256 5d739336ef5dfabe5dd884f06e2261e1014ae7e0126369aef547b61fc6d8ee92 php-patchset-4.4.4-r1.tar.bz2 19969 diff --git a/dev-lang/php/files/digest-php-5.1.6 b/dev-lang/php/files/digest-php-5.1.6 new file mode 100644 index 000000000000..acd78834cb0b --- /dev/null +++ b/dev-lang/php/files/digest-php-5.1.6 @@ -0,0 +1,9 @@ +MD5 48c310f69eff54f6f851a7bf1d1b2359 hardening-patch-5.1.6-0.4.14-gentoo.patch.gz 60949 +RMD160 4636e215cf13d50bcbdd75da45ef624d1c19ed5d hardening-patch-5.1.6-0.4.14-gentoo.patch.gz 60949 +SHA256 515687900f7976872cb14f5b052890b22c4b1cbea1dcfbab852b79dab13831bf hardening-patch-5.1.6-0.4.14-gentoo.patch.gz 60949 +MD5 08e423aa314369d4392a36b3f7246afc php-5.1.6.tar.bz2 6454408 +RMD160 7ac52f4674532397c982f6ced594b70dd17522af php-5.1.6.tar.bz2 6454408 +SHA256 3e9510ce715f28b7e6b803fcdadb73b37c83792c0b5e1e9bcb066ab972649996 php-5.1.6.tar.bz2 6454408 +MD5 290a83a8f87414830d705ac720b84336 php-patchset-5.1.6-r1.tar.bz2 22390 +RMD160 9bb28e7b2c247e890e386e89a820dc89a5ae3f05 php-patchset-5.1.6-r1.tar.bz2 22390 +SHA256 a3d1fb8926c8fd4a545559c859a2787ba08d94f60fd352512d8c5b2a3d98c14c php-patchset-5.1.6-r1.tar.bz2 22390 diff --git a/dev-lang/php/php-4.4.4.ebuild b/dev-lang/php/php-4.4.4.ebuild new file mode 100644 index 000000000000..cbae2bb1bb9d --- /dev/null +++ b/dev-lang/php/php-4.4.4.ebuild @@ -0,0 +1,512 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-4.4.4.ebuild,v 1.1 2006/08/29 19:55:32 chtekk Exp $ + +CGI_SAPI_USE="discard-path force-cgi-redirect" +APACHE2_SAPI_USE="concurrentmodphp threads" +IUSE="cli cgi ${CGI_SAPI_USE} ${APACHE2_SAPI_USE} fastbuild" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" + +# NOTE: Portage doesn't support setting PROVIDE based on the USE flags +# that have been enabled, so we have to PROVIDE everything for now +# and hope for the best +PROVIDE="virtual/php virtual/httpd-php" + +# php package settings +SLOT="4" +MY_PHP_PV="${PV}" +MY_PHP_P="php-${MY_PHP_PV}" +PHP_PACKAGE="1" + +# php patch settings, general +PHP_PATCHSET_REV="1" +HARDENEDPHP_PATCH="hardening-patch-${MY_PHP_PV}-0.4.14-gentoo.patch.gz" +MULTILIB_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-multilib-search-path.patch" +# php patch settings, ebuild specific +FASTBUILD_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-fastbuild.patch" +CONCURRENTMODPHP_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-concurrent_apache_modules.patch" + +inherit php4_4-sapi apache-module + +DESCRIPTION="The PHP language runtime engine: CLI, CGI and Apache SAPIs." + +DEPEND="app-admin/php-toolkit" +RDEPEND="${DEPEND}" + +want_apache + +pkg_setup() { + PHPCONFUTILS_AUTO_USE="" + + # Make sure the user has specified at least one SAPI + einfo "Determining SAPI(s) to build" + phpconfutils_require_any " Enabled SAPI:" " Disabled SAPI:" cli cgi apache apache2 + + # Threaded Apache2 support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if ! useq threads ; then + APACHE2_SAFE_MPMS="itk peruser prefork" + else + APACHE2_SAFE_MPMS="event leader metuxmpm perchild threadpool worker" + fi + + ewarn + ewarn "If this package fails with a fatal error about Apache2 not having" + ewarn "been compiled with a compatible MPM, this is normally because you" + ewarn "need to toggle the 'threads' USE flag." + ewarn + ewarn "If 'threads' is off, try switching it on." + ewarn "If 'threads' is on, try switching it off." + ewarn + + apache-module_pkg_setup + fi + fi + + # Concurrent PHP Apache2 modules support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if useq concurrentmodphp ; then + ewarn + ewarn "'concurrentmodphp' makes it possible to load multiple, differently" + ewarn "versioned mod_php's into the same Apache instance. This is done with" + ewarn "a few linker tricks and workarounds, and is not guaranteed to always" + ewarn "work correctly, so use it at your own risk. Especially, do not use" + ewarn "this in conjunction with PHP modules (PECL, ...) other than the ones" + ewarn "you may find in the Portage tree or the PHP Overlay!" + ewarn "This is an experimental feature, so please rebuild PHP" + ewarn "without the 'concurrentmodphp' USE flag if you experience" + ewarn "any problems, and then reproduce any bugs before filing" + ewarn "them in Gentoo's Bugzilla or bugs.php.net." + ewarn "If you have conclusive evidence that a bug directly" + ewarn "derives from 'concurrentmodphp', please file a bug in" + ewarn "Gentoo's Bugzilla only." + ewarn + ebeep 5 + fi + fi + fi + + # fastbuild support + if useq fastbuild ; then + ewarn + ewarn "'fastbuild' attempts to build all SAPIs in a single pass." + ewarn "This is an experimental feature, so please rebuild PHP" + ewarn "without the 'fastbuild' USE flag if you experience" + ewarn "any problems, and then reproduce any bugs before filing" + ewarn "them in Gentoo's Bugzilla or bugs.php.net." + ewarn "If you have conclusive evidence that a bug directly" + ewarn "derives from 'fastbuild', please file a bug in" + ewarn "Gentoo's Bugzilla only." + ewarn + fi + + php4_4-sapi_pkg_setup +} + +php_determine_sapis() { + # holds the list of sapis that we want to build + PHPSAPIS= + + if useq cli || phpconfutils_usecheck cli ; then + PHPSAPIS="${PHPSAPIS} cli" + fi + + if useq cgi ; then + PHPSAPIS="${PHPSAPIS} cgi" + fi + + # note - we can only build one apache sapi for now + # note - apache SAPI comes after the simpler cli/cgi sapis + if useq apache || useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + PHPSAPIS="${PHPSAPIS} apache${APACHE_VERSION}" + fi + fi +} + +src_unpack() { + if [[ "${PHP_PACKAGE}" == 1 ]] ; then + unpack ${A} + fi + + cd "${S}" + + # Concurrent PHP Apache2 modules support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if useq concurrentmodphp ; then + if [[ -n "${CONCURRENTMODPHP_PATCH}" ]] && [[ -f "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" ]] ; then + epatch "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" + else + ewarn "There is no concurrent mod_php patch available for this PHP release yet!" + fi + fi + fi + fi + + # fastbuild support + if useq fastbuild ; then + if [[ -n "${FASTBUILD_PATCH}" ]] && [[ -f "${WORKDIR}/${FASTBUILD_PATCH}" ]] ; then + epatch "${WORKDIR}/${FASTBUILD_PATCH}" + else + ewarn "There is no fastbuild patch available for this PHP release yet!" + fi + fi + + # Now let the eclass do the rest and regenerate the configure + php4_4-sapi_src_unpack + + # Fix Makefile.global:test to consider the CGI SAPI if present + if useq cgi ; then + sed -e "s|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\"|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\" \&\& test \! -z \"\$(top_builddir)/php-cgi\" \&\& test -x \"\$(top_builddir)/php-cgi\"|g" -i Makefile.global + sed -e "s|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\"|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\" TEST_PHP_CGI_EXECUTABLE=\"\$(top_builddir)/php-cgi\"|g" -i Makefile.global + fi +} + +src_compile() { + if useq fastbuild && [[ -n "${FASTBUILD_PATCH}" ]] ; then + src_compile_fastbuild + else + src_compile_normal + fi +} + +src_compile_fastbuild() { + php_determine_sapis + + build_cli=0 + build_cgi=0 + build_apache1=0 + build_apache2=0 + my_conf="" + + for x in ${PHPSAPIS} ; do + case ${x} in + cli) + build_cli=1 + ;; + cgi) + build_cgi=1 + ;; + apache1) + build_apache1=1 + ;; + apache2) + build_apache2=1 + ;; + esac + done + + if [[ ${build_cli} = 1 ]] ; then + my_conf="${my_conf} --enable-cli" + else + my_conf="${my_conf} --disable-cli" + fi + + if [[ ${build_cgi} = 1 ]] ; then + my_conf="${my_conf} --enable-cgi --enable-fastcgi" + phpconfutils_extension_enable "discard-path" "discard-path" 0 + phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0 + else + my_conf="${my_conf} --disable-cgi" + fi + + if [[ ${build_apache1} = 1 ]] ; then + my_conf="${my_conf} --with-apxs=/usr/sbin/apxs" + fi + + if [[ ${build_apache2} = 1 ]] ; then + my_conf="${my_conf} --with-apxs2=/usr/sbin/apxs2" + + # Threaded Apache2 support + if useq threads ; then + my_conf="${my_conf} --enable-experimental-zts" + ewarn "Enabling ZTS for Apache2 MPM" + fi + + # Concurrent PHP Apache2 modules support + if useq concurrentmodphp ; then + append-ldflags "-Wl,--version-script=${FILESDIR}/php4-ldvs" + fi + fi + + # Now we know what we are building, build it + php4_4-sapi_src_compile + + # To keep the separate php.ini files for each SAPI, we change the + # build-defs.h and recompile + + if [[ ${build_cli} = 1 ]] ; then + einfo + einfo "Building CLI SAPI" + einfo + + sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cli-php4"|g;' -i main/build-defs.h + sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cli-php4/ext-active"|g;' -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make sapi/cli/php || die "Unable to make CLI SAPI" + cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI" + fi + + if [[ ${build_cgi} = 1 ]] ; then + einfo + einfo "Building CGI SAPI" + einfo + + sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cgi-php4"|g;' -i main/build-defs.h + sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cgi-php4/ext-active"|g;' -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make sapi/cgi/php || die "Unable to make CGI SAPI" + cp sapi/cgi/php php-cgi || die "Unable to copy CGI SAPI" + fi + + if [[ ${build_apache1} = 1 ]] || [[ ${build_apache2} = 1 ]] ; then + einfo + einfo "Building apache${APACHE_VERSION} SAPI" + einfo + + sed -e "s|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH \"/etc/php/apache${APACHE_VERSION}-php4\"|g;" -i main/build-defs.h + sed -e "s|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR \"/etc/php/apache${APACHE_VERSION}-php4/ext-active\"|g;" -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make || die "Unable to make apache${APACHE_VERSION} SAPI" + fi +} + +src_compile_normal() { + php_determine_sapis + + CLEAN_REQUIRED=0 + my_conf="" + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + # Concurrent PHP Apache2 modules support + if useq concurrentmodphp ; then + append-ldflags "-Wl,--version-script=${FILESDIR}/php4-ldvs" + fi + fi + fi + + for x in ${PHPSAPIS} ; do + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + # Threaded Apache2 support + if useq threads ; then + my_conf="${my_conf} --enable-experimental-zts" + ewarn "Enabling ZTS for Apache2 MPM" + fi + fi + fi + + if [[ "${CLEAN_REQUIRED}" = 1 ]] ; then + make clean + fi + + PHPSAPI="${x}" + + case ${x} in + cli) + my_conf="${my_conf} --enable-cli --disable-cgi" + php4_4-sapi_src_compile + cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI" + ;; + cgi) + my_conf="${my_conf} --disable-cli --enable-cgi --enable-fastcgi" + phpconfutils_extension_enable "discard-path" "discard-path" 0 + phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0 + php4_4-sapi_src_compile + cp sapi/cgi/php php-cgi || die "Unable to copy CGI SAPI" + ;; + apache1) + my_conf="${my_conf} --disable-cli --with-apxs=/usr/sbin/apxs" + php4_4-sapi_src_compile + ;; + apache2) + my_conf="${my_conf} --disable-cli --with-apxs2=/usr/sbin/apxs2" + php4_4-sapi_src_compile + ;; + esac + + CLEAN_REQUIRED=1 + my_conf="" + done +} + +src_install() { + php_determine_sapis + + destdir=/usr/$(get_libdir)/php4 + + # Let the eclass do the common work + php4_4-sapi_src_install + + einfo + einfo "Installing SAPI(s) ${PHPSAPIS}" + einfo + + for x in ${PHPSAPIS} ; do + + PHPSAPI="${x}" + + case ${x} in + cli) + einfo "Installing CLI SAPI" + into ${destdir} + newbin php-cli php || die "Unable to install ${x} sapi" + php4_4-sapi_install_ini + ;; + cgi) + einfo "Installing CGI SAPI" + into ${destdir} + dobin php-cgi || die "Unable to install ${x} sapi" + php4_4-sapi_install_ini + ;; + apache1) + einfo "Installing Apache${APACHE_VERSION} SAPI" + make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI" + einfo "Installing Apache${APACHE_VERSION} config file for PHP4 (70_mod_php.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php.conf-apache1" "70_mod_php.conf" + php4_4-sapi_install_ini + ;; + apache2) + einfo "Installing Apache${APACHE_VERSION} SAPI" + make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI" + if useq concurrentmodphp ; then + einfo "Installing Apache${APACHE_VERSION} config file for PHP4-concurrent (70_mod_php_concurr.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php_concurr.conf-apache2" "70_mod_php_concurr.conf" + + # Put the ld version script in the right place so it's always accessible + insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/" + doins "${FILESDIR}/php4-ldvs" + + # Redefine the extension dir to have the modphp suffix + PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`-versioned" + else + einfo "Installing Apache${APACHE_VERSION} config file for PHP4 (70_mod_php.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php.conf-apache2" "70_mod_php.conf" + fi + php4_4-sapi_install_ini + ;; + esac + done +} + +pkg_postinst() { + # Output some general info to the user + if useq apache || useq apache2 ; then + APACHE1_MOD_DEFINE="PHP4" + APACHE1_MOD_CONF="70_mod_php" + APACHE2_MOD_DEFINE="PHP4" + if useq concurrentmodphp ; then + APACHE2_MOD_CONF="70_mod_php_concurr" + else + APACHE2_MOD_CONF="70_mod_php" + fi + apache-module_pkg_postinst + fi + + # Update Apache1 to use mod_php + if useq apache ; then + "${ROOT}/usr/sbin/php-select" -t apache1 php4 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 2 ]] ; then + php-select apache1 php4 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "Apache1 is configured to load a different version of PHP." + ewarn "To make Apache1 use PHP v4, use php-select:" + ewarn + ewarn " php-select apache1 php4" + ewarn + fi + fi + + # Update Apache2 to use mod_php + if useq apache2 ; then + "${ROOT}/usr/sbin/php-select" -t apache2 php4 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 2 ]] ; then + php-select apache2 php4 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "Apache2 is configured to load a different version of PHP." + ewarn "To make Apache2 use PHP v4, use php-select:" + ewarn + ewarn " php-select apache2 php4" + ewarn + fi + fi + + # Create the symlinks for php-cli + if useq cli || phpconfutils_usecheck cli ; then + "${ROOT}/usr/sbin/php-select" -t php php4 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 5 ]] ; then + php-select php php4 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "/usr/bin/php links to a different version of PHP." + ewarn "To make /usr/bin/php point to PHP v4, use php-select:" + ewarn + ewarn " php-select php php4" + ewarn + fi + fi + + # Create the symlinks for php-cgi + if useq cgi ; then + "${ROOT}/usr/sbin/php-select" -t php-cgi php4 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 5 ]] ; then + php-select php-cgi php4 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "/usr/bin/php-cgi links to a different version of PHP." + ewarn "To make /usr/bin/php-cgi point to PHP v4, use php-select:" + ewarn + ewarn " php-select php-cgi php4" + ewarn + fi + fi + + # Create the symlinks for php-devel + "${ROOT}/usr/sbin/php-select" -t php-devel php4 > /dev/null 2>&1 + exitStatus=$? + if [[ $exitStatus == 5 ]] ; then + php-select php-devel php4 + elif [[ $exitStatus == 4 ]] ; then + ewarn + ewarn "/usr/bin/php-config and/or /usr/bin/phpize are linked to a" + ewarn "different version of PHP. To make them point to PHP v4, use" + ewarn "php-select:" + ewarn + ewarn " php-select php-devel php4" + ewarn + fi + + php4_4-sapi_pkg_postinst +} + +src_test() { + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + if ! emake -j1 test ; then + hasq test ${FEATURES} && die "Make test failed. See above for details." + hasq test ${FEATURES} || eerror "Make test failed. See above for details." + fi +} diff --git a/dev-lang/php/php-5.1.6.ebuild b/dev-lang/php/php-5.1.6.ebuild new file mode 100644 index 000000000000..342d95d4866d --- /dev/null +++ b/dev-lang/php/php-5.1.6.ebuild @@ -0,0 +1,512 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.1.6.ebuild,v 1.1 2006/08/29 19:55:32 chtekk Exp $ + +CGI_SAPI_USE="discard-path force-cgi-redirect" +APACHE2_SAPI_USE="concurrentmodphp threads" +IUSE="cli cgi ${CGI_SAPI_USE} ${APACHE2_SAPI_USE} fastbuild" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" + +# NOTE: Portage doesn't support setting PROVIDE based on the USE flags +# that have been enabled, so we have to PROVIDE everything for now +# and hope for the best +PROVIDE="virtual/php virtual/httpd-php" + +# php package settings +SLOT="5" +MY_PHP_PV="${PV}" +MY_PHP_P="php-${MY_PHP_PV}" +PHP_PACKAGE="1" + +# php patch settings, general +PHP_PATCHSET_REV="1" +HARDENEDPHP_PATCH="hardening-patch-${MY_PHP_PV}-0.4.14-gentoo.patch.gz" +MULTILIB_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-multilib-search-path.patch" +# php patch settings, ebuild specific +FASTBUILD_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-fastbuild.patch" +CONCURRENTMODPHP_PATCH="${MY_PHP_PV}/opt/php${MY_PHP_PV}-concurrent_apache_modules.patch" + +inherit php5_1-sapi apache-module + +DESCRIPTION="The PHP language runtime engine: CLI, CGI and Apache SAPIs." + +DEPEND="app-admin/php-toolkit" +RDEPEND="${DEPEND}" + +want_apache + +pkg_setup() { + PHPCONFUTILS_AUTO_USE="" + + # Make sure the user has specified at least one SAPI + einfo "Determining SAPI(s) to build" + phpconfutils_require_any " Enabled SAPI:" " Disabled SAPI:" cli cgi apache apache2 + + # Threaded Apache2 support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if ! useq threads ; then + APACHE2_SAFE_MPMS="itk peruser prefork" + else + APACHE2_SAFE_MPMS="event leader metuxmpm perchild threadpool worker" + fi + + ewarn + ewarn "If this package fails with a fatal error about Apache2 not having" + ewarn "been compiled with a compatible MPM, this is normally because you" + ewarn "need to toggle the 'threads' USE flag." + ewarn + ewarn "If 'threads' is off, try switching it on." + ewarn "If 'threads' is on, try switching it off." + ewarn + + apache-module_pkg_setup + fi + fi + + # Concurrent PHP Apache2 modules support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if useq concurrentmodphp ; then + ewarn + ewarn "'concurrentmodphp' makes it possible to load multiple, differently" + ewarn "versioned mod_php's into the same Apache instance. This is done with" + ewarn "a few linker tricks and workarounds, and is not guaranteed to always" + ewarn "work correctly, so use it at your own risk. Especially, do not use" + ewarn "this in conjunction with PHP modules (PECL, ...) other than the ones" + ewarn "you may find in the Portage tree or the PHP Overlay!" + ewarn "This is an experimental feature, so please rebuild PHP" + ewarn "without the 'concurrentmodphp' USE flag if you experience" + ewarn "any problems, and then reproduce any bugs before filing" + ewarn "them in Gentoo's Bugzilla or bugs.php.net." + ewarn "If you have conclusive evidence that a bug directly" + ewarn "derives from 'concurrentmodphp', please file a bug in" + ewarn "Gentoo's Bugzilla only." + ewarn + ebeep 5 + fi + fi + fi + + # fastbuild support + if useq fastbuild ; then + ewarn + ewarn "'fastbuild' attempts to build all SAPIs in a single pass." + ewarn "This is an experimental feature, so please rebuild PHP" + ewarn "without the 'fastbuild' USE flag if you experience" + ewarn "any problems, and then reproduce any bugs before filing" + ewarn "them in Gentoo's Bugzilla or bugs.php.net." + ewarn "If you have conclusive evidence that a bug directly" + ewarn "derives from 'fastbuild', please file a bug in" + ewarn "Gentoo's Bugzilla only." + ewarn + fi + + php5_1-sapi_pkg_setup +} + +php_determine_sapis() { + # holds the list of sapis that we want to build + PHPSAPIS= + + if useq cli || phpconfutils_usecheck cli ; then + PHPSAPIS="${PHPSAPIS} cli" + fi + + if useq cgi ; then + PHPSAPIS="${PHPSAPIS} cgi" + fi + + # note - we can only build one apache sapi for now + # note - apache SAPI comes after the simpler cli/cgi sapis + if useq apache || useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + PHPSAPIS="${PHPSAPIS} apache${APACHE_VERSION}" + fi + fi +} + +src_unpack() { + if [[ "${PHP_PACKAGE}" == 1 ]] ; then + unpack ${A} + fi + + cd "${S}" + + # Concurrent PHP Apache2 modules support + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + if useq concurrentmodphp ; then + if [[ -n "${CONCURRENTMODPHP_PATCH}" ]] && [[ -f "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" ]] ; then + epatch "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" + else + ewarn "There is no concurrent mod_php patch available for this PHP release yet!" + fi + fi + fi + fi + + # fastbuild support + if useq fastbuild ; then + if [[ -n "${FASTBUILD_PATCH}" ]] && [[ -f "${WORKDIR}/${FASTBUILD_PATCH}" ]] ; then + epatch "${WORKDIR}/${FASTBUILD_PATCH}" + else + ewarn "There is no fastbuild patch available for this PHP release yet!" + fi + fi + + # Now let the eclass do the rest and regenerate the configure + php5_1-sapi_src_unpack + + # Fix Makefile.global:test to consider the CGI SAPI if present + if useq cgi ; then + sed -e "s|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\"|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\" \&\& test \! -z \"\$(top_builddir)/php-cgi\" \&\& test -x \"\$(top_builddir)/php-cgi\"|g" -i Makefile.global + sed -e "s|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\"|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\" TEST_PHP_CGI_EXECUTABLE=\"\$(top_builddir)/php-cgi\"|g" -i Makefile.global + fi +} + +src_compile() { + if useq fastbuild && [[ -n "${FASTBUILD_PATCH}" ]] ; then + src_compile_fastbuild + else + src_compile_normal + fi +} + +src_compile_fastbuild() { + php_determine_sapis + + build_cli=0 + build_cgi=0 + build_apache1=0 + build_apache2=0 + my_conf="" + + for x in ${PHPSAPIS} ; do + case ${x} in + cli) + build_cli=1 + ;; + cgi) + build_cgi=1 + ;; + apache1) + build_apache1=1 + ;; + apache2) + build_apache2=1 + ;; + esac + done + + if [[ ${build_cli} = 1 ]] ; then + my_conf="${my_conf} --enable-cli" + else + my_conf="${my_conf} --disable-cli" + fi + + if [[ ${build_cgi} = 1 ]] ; then + my_conf="${my_conf} --enable-cgi --enable-fastcgi" + phpconfutils_extension_enable "discard-path" "discard-path" 0 + phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0 + else + my_conf="${my_conf} --disable-cgi" + fi + + if [[ ${build_apache1} = 1 ]] ; then + my_conf="${my_conf} --with-apxs=/usr/sbin/apxs" + fi + + if [[ ${build_apache2} = 1 ]] ; then + my_conf="${my_conf} --with-apxs2=/usr/sbin/apxs2" + + # Threaded Apache2 support + if useq threads ; then + my_conf="${my_conf} --enable-maintainer-zts" + ewarn "Enabling ZTS for Apache2 MPM" + fi + + # Concurrent PHP Apache2 modules support + if useq concurrentmodphp ; then + append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs" + fi + fi + + # Now we know what we are building, build it + php5_1-sapi_src_compile + + # To keep the separate php.ini files for each SAPI, we change the + # build-defs.h and recompile + + if [[ ${build_cli} = 1 ]] ; then + einfo + einfo "Building CLI SAPI" + einfo + + sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cli-php5"|g;' -i main/build-defs.h + sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cli-php5/ext-active"|g;' -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make sapi/cli/php || die "Unable to make CLI SAPI" + cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI" + fi + + if [[ ${build_cgi} = 1 ]] ; then + einfo + einfo "Building CGI SAPI" + einfo + + sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cgi-php5"|g;' -i main/build-defs.h + sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cgi-php5/ext-active"|g;' -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make sapi/cgi/php || die "Unable to make CGI SAPI" + cp sapi/cgi/php php-cgi || die "Unable to copy CGI SAPI" + fi + + if [[ ${build_apache1} = 1 ]] || [[ ${build_apache2} = 1 ]] ; then + einfo + einfo "Building apache${APACHE_VERSION} SAPI" + einfo + + sed -e "s|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH \"/etc/php/apache${APACHE_VERSION}-php5\"|g;" -i main/build-defs.h + sed -e "s|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR \"/etc/php/apache${APACHE_VERSION}-php5/ext-active\"|g;" -i main/build-defs.h + for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do + [[ -f ${x} ]] && rm -f ${x} + done + make || die "Unable to make apache${APACHE_VERSION} SAPI" + fi +} + +src_compile_normal() { + php_determine_sapis + + CLEAN_REQUIRED=0 + my_conf="" + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + # Concurrent PHP Apache2 modules support + if useq concurrentmodphp ; then + append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs" + fi + fi + fi + + for x in ${PHPSAPIS} ; do + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + if useq apache2 ; then + if [[ "${APACHE_VERSION}" != "0" ]] ; then + # Threaded Apache2 support + if useq threads ; then + my_conf="${my_conf} --enable-maintainer-zts" + ewarn "Enabling ZTS for Apache2 MPM" + fi + fi + fi + + if [[ "${CLEAN_REQUIRED}" = 1 ]] ; then + make clean + fi + + PHPSAPI="${x}" + + case ${x} in + cli) + my_conf="${my_conf} --enable-cli --disable-cgi" + php5_1-sapi_src_compile + cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI" + ;; + cgi) + my_conf="${my_conf} --disable-cli --enable-cgi --enable-fastcgi" + phpconfutils_extension_enable "discard-path" "discard-path" 0 + phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0 + php5_1-sapi_src_compile + cp sapi/cgi/php php-cgi || die "Unable to copy CGI SAPI" + ;; + apache1) + my_conf="${my_conf} --disable-cli --with-apxs=/usr/sbin/apxs" + php5_1-sapi_src_compile + ;; + apache2) + my_conf="${my_conf} --disable-cli --with-apxs2=/usr/sbin/apxs2" + php5_1-sapi_src_compile + ;; + esac + + CLEAN_REQUIRED=1 + my_conf="" + done +} + +src_install() { + php_determine_sapis + + destdir=/usr/$(get_libdir)/php5 + + # Let the eclass do the common work + php5_1-sapi_src_install + + einfo + einfo "Installing SAPI(s) ${PHPSAPIS}" + einfo + + for x in ${PHPSAPIS} ; do + + PHPSAPI="${x}" + + case ${x} in + cli) + einfo "Installing CLI SAPI" + into ${destdir} + newbin php-cli php || die "Unable to install ${x} sapi" + php5_1-sapi_install_ini + ;; + cgi) + einfo "Installing CGI SAPI" + into ${destdir} + dobin php-cgi || die "Unable to install ${x} sapi" + php5_1-sapi_install_ini + ;; + apache1) + einfo "Installing Apache${APACHE_VERSION} SAPI" + make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI" + einfo "Installing Apache${APACHE_VERSION} config file for PHP5 (70_mod_php5.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php5.conf-apache1" "70_mod_php5.conf" + php5_1-sapi_install_ini + ;; + apache2) + einfo "Installing Apache${APACHE_VERSION} SAPI" + make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI" + if useq concurrentmodphp ; then + einfo "Installing Apache${APACHE_VERSION} config file for PHP5-concurrent (70_mod_php5_concurr.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php5_concurr.conf-apache2" "70_mod_php5_concurr.conf" + + # Put the ld version script in the right place so it's always accessible + insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/" + doins "${FILESDIR}/php5-ldvs" + + # Redefine the extension dir to have the modphp suffix + PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`-versioned" + else + einfo "Installing Apache${APACHE_VERSION} config file for PHP5 (70_mod_php5.conf)" + insinto ${APACHE_MODULES_CONFDIR} + newins "${FILESDIR}/70_mod_php5.conf-apache2" "70_mod_php5.conf" + fi + php5_1-sapi_install_ini + ;; + esac + done +} + +pkg_postinst() { + # Output some general info to the user + if useq apache || useq apache2 ; then + APACHE1_MOD_DEFINE="PHP5" + APACHE1_MOD_CONF="70_mod_php5" + APACHE2_MOD_DEFINE="PHP5" + if useq concurrentmodphp ; then + APACHE2_MOD_CONF="70_mod_php5_concurr" + else + APACHE2_MOD_CONF="70_mod_php5" + fi + apache-module_pkg_postinst + fi + + # Update Apache1 to use mod_php + if useq apache ; then + "${ROOT}/usr/sbin/php-select" -t apache1 php5 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 2 ]] ; then + php-select apache1 php5 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "Apache1 is configured to load a different version of PHP." + ewarn "To make Apache1 use PHP v5, use php-select:" + ewarn + ewarn " php-select apache1 php5" + ewarn + fi + fi + + # Update Apache2 to use mod_php + if useq apache2 ; then + "${ROOT}/usr/sbin/php-select" -t apache2 php5 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 2 ]] ; then + php-select apache2 php5 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "Apache2 is configured to load a different version of PHP." + ewarn "To make Apache2 use PHP v5, use php-select:" + ewarn + ewarn " php-select apache2 php5" + ewarn + fi + fi + + # Create the symlinks for php-cli + if useq cli || phpconfutils_usecheck cli ; then + "${ROOT}/usr/sbin/php-select" -t php php5 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 5 ]] ; then + php-select php php5 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "/usr/bin/php links to a different version of PHP." + ewarn "To make /usr/bin/php point to PHP v5, use php-select:" + ewarn + ewarn " php-select php php5" + ewarn + fi + fi + + # Create the symlinks for php-cgi + if useq cgi ; then + "${ROOT}/usr/sbin/php-select" -t php-cgi php5 > /dev/null 2>&1 + exitStatus=$? + if [[ ${exitStatus} == 5 ]] ; then + php-select php-cgi php5 + elif [[ ${exitStatus} == 4 ]] ; then + ewarn + ewarn "/usr/bin/php-cgi links to a different version of PHP." + ewarn "To make /usr/bin/php-cgi point to PHP v5, use php-select:" + ewarn + ewarn " php-select php-cgi php5" + ewarn + fi + fi + + # Create the symlinks for php-devel + "${ROOT}/usr/sbin/php-select" -t php-devel php5 > /dev/null 2>&1 + exitStatus=$? + if [[ $exitStatus == 5 ]] ; then + php-select php-devel php5 + elif [[ $exitStatus == 4 ]] ; then + ewarn + ewarn "/usr/bin/php-config and/or /usr/bin/phpize are linked to a" + ewarn "different version of PHP. To make them point to PHP v5, use" + ewarn "php-select:" + ewarn + ewarn " php-select php-devel php5" + ewarn + fi + + php5_1-sapi_pkg_postinst +} + +src_test() { + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + if ! emake -j1 test ; then + hasq test ${FEATURES} && die "Make test failed. See above for details." + hasq test ${FEATURES} || eerror "Make test failed. See above for details." + fi +} |