diff options
author | Michael Stewart <vericgar@gentoo.org> | 2006-07-28 12:35:24 +0000 |
---|---|---|
committer | Michael Stewart <vericgar@gentoo.org> | 2006-07-28 12:35:24 +0000 |
commit | 35384dfc09311601c9e804872220a960000b65a5 (patch) | |
tree | f02d2a50aa6321addab98a43f69dba45e3ef7dab /net-www | |
parent | stable bump for psycopg-1.1.21 for x86 (diff) | |
download | historical-35384dfc09311601c9e804872220a960000b65a5.tar.gz historical-35384dfc09311601c9e804872220a960000b65a5.tar.bz2 historical-35384dfc09311601c9e804872220a960000b65a5.zip |
New revisions to address CVE-2006-3747. Fixes bug 141986
Package-Manager: portage-2.1.1_pre2-r2
Diffstat (limited to 'net-www')
-rw-r--r-- | net-www/apache/ChangeLog | 11 | ||||
-rw-r--r-- | net-www/apache/Manifest | 32 | ||||
-rw-r--r-- | net-www/apache/apache-1.3.34-r14.ebuild | 306 | ||||
-rw-r--r-- | net-www/apache/apache-2.0.58-r2.ebuild | 448 | ||||
-rw-r--r-- | net-www/apache/apache-2.2.2-r1.ebuild | 489 | ||||
-rw-r--r-- | net-www/apache/files/digest-apache-1.3.34-r14 | 12 | ||||
-rw-r--r-- | net-www/apache/files/digest-apache-2.0.58-r2 | 6 | ||||
-rw-r--r-- | net-www/apache/files/digest-apache-2.2.2-r1 | 6 |
8 files changed, 1305 insertions, 5 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog index 87b9fb10776c..f5909fa261dd 100644 --- a/net-www/apache/ChangeLog +++ b/net-www/apache/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for net-www/apache # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.487 2006/07/21 03:36:06 vericgar Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.488 2006/07/28 12:35:24 vericgar Exp $ + +*apache-2.2.2-r1 (26 Jul 2006) +*apache-2.0.58-r2 (26 Jul 2006) +*apache-1.3.34-r14 (26 Jul 2006) + + 26 Jul 2006; Michael Stewart <vericgar@gentoo.org> + +apache-1.3.34-r14.ebuild, +apache-2.0.58-r2.ebuild, + +apache-2.2.2-r1.ebuild: + New revisions to address CVE-2006-3747. Fixes bug 141986 21 Jul 2006; Michael Stewart <vericgar@gentoo.org> apache-1.3.34-r10.ebuild, apache-1.3.34-r11.ebuild, diff --git a/net-www/apache/Manifest b/net-www/apache/Manifest index 91f482a83c9f..6e920cede5d4 100644 --- a/net-www/apache/Manifest +++ b/net-www/apache/Manifest @@ -3,13 +3,16 @@ DIST gentoo-apache-1.3.34-r10-20051213.tar.bz2 27570 RMD160 a45c59edcd7f5744f52e DIST gentoo-apache-1.3.34-r11-20060131.tar.bz2 27897 RMD160 bbb33be5ac758f71041fc6a1b0eb79f24a235ea3 SHA1 50c51fd4429df080c74b1c87faea6e3396cd01c1 SHA256 aad479c67c8ffe59312d107094f86d4cf76fe2e046cb98d297d8e526fc85f9a7 DIST gentoo-apache-1.3.34-r12-20060401.tar.bz2 27547 RMD160 c1a60cc89b387ac1c2ba926c0c369eeef5d5f2c0 SHA1 c00816e114438fa6db8768ddcbe352b3bcf09550 SHA256 e1925eb955db1cc2bd2cd0fb0552ad3a4aebda0bc476eb904e87eb5dcfa6fb1d DIST gentoo-apache-1.3.34-r13-20060605.tar.bz2 27627 RMD160 2b95dc6413f93d6aeb10abd44c8913109724c2f5 SHA1 3a6f1aab269ae6422d30233d215abe86421043bd SHA256 8503ba7aff01cd593d7e74e4c1a0552b96b18ad0c4167bab80400acbb6a776ac +DIST gentoo-apache-1.3.34-r14-20060726.tar.bz2 28001 RMD160 955a0ba00287db8859ce03ba6ccfdc2cfaa3bd12 SHA1 d05f1d554bc5b7021fa89750cd47e79aeecc94f7 SHA256 808e88b32d9ee7181d1cb789f24da21ccd059c8789eff9989bd92826fe826149 DIST gentoo-apache-2.0.54-r31-20050918-02.tar.bz2 52990 RMD160 bc85ac9de56e017c035d798d9aa45cabab265006 SHA1 7ec8eb508404f572ad581446b12cf189c9e1c38c SHA256 23f2431f6285a24959a99ab9d55d52cef349e828bcb0e7bea026bbae14695ce5 DIST gentoo-apache-2.0.55-r1-20060115.tar.bz2 51735 RMD160 18902966bdce2cbe67ba15b6eb66e311657a8d6d SHA1 2d0a84e20b575177dde67e0c644b82de5db60f33 SHA256 712fb5e292e87bdad0de984085837b5bb974ab57447e5e28356d0041cbb404e3 DIST gentoo-apache-2.0.58-20060515.tar.bz2 51174 RMD160 e029caa8107e37b66999935d6c1e9ed2e95351f0 SHA1 c88f42534f7419517905679f028be8b5754af962 SHA256 3d11702d3fd6b5c143b1c238e9b4a0d4bed2b3c4b9834efa6a3436cca492c0e5 DIST gentoo-apache-2.0.58-r1-20060708.tar.bz2 58287 RMD160 ca1c78c12c9956ce6b974bd2f491bf622a9a555d SHA1 9712ecedb4c6055e367b72b7648d47f48d491463 SHA256 5ff82023081b8f6ec9f8115cd6da8209f0a523c11453c723d7303fcfabba3f57 +DIST gentoo-apache-2.0.58-r2-20060726.tar.bz2 58758 RMD160 46c6da577db444a6553b60d3ae30c61ae3b741fa SHA1 5399c6076fbccc36b1d8a5ed783f77918c3398eb SHA256 b8e0356e87fdd7b55fcecbee804c9a41525b3e6fe8309f87f2509abd161c8e6b DIST gentoo-apache-2.2.0-r1-20060227.tar.bz2 27114 RMD160 f51361add210ec0e3737c77c3b81e6b8657e3acb SHA1 cdcf4e276030ee7922b2293d867b3c4b75be9634 SHA256 89096d554838016e282b1374ea02719389f0b04a9b92bbded5cd2e5f5bcc816f DIST gentoo-apache-2.2.0-r2-20060306.tar.bz2 48730 RMD160 adee915809097479cd0ed03012194351b7218732 SHA1 50ca64fba157a0490be537a1993ae9fe1077e10d SHA256 c6e054757a04d6d81b16e32caa2e88f9e9a61a68c560aa83654624b7c2fce068 DIST gentoo-apache-2.2.2-20060606.tar.bz2 51183 RMD160 23b975aa7b24b8eb8f929b4e22af51057270b6ea SHA1 e29bdd31ac6e545784eaf82ddd81be3eaa2b94bd SHA256 75cc1b48361c5024faa2499f78fb5427d75010f4cc7f712b875c36bd8633e44e +DIST gentoo-apache-2.2.2-r1-20060726.tar.bz2 51572 RMD160 247f5766d7875f6f3a9c8b64170fa8354b33b661 SHA1 d73224457a307c71ddd30a6f9cdc31de8e855bcd SHA256 17e23002ac5fb31f07a02577bf78e9d5ea7fb6d8317743591baf68abefb37ab0 DIST httpd-2.0.54.tar.bz2 5566979 RMD160 c511cb2fa396ba04caf77bfc6ca03413df48ea08 SHA1 15b4fc3024cceea6562fb03383fd624e84e5e35a SHA256 55a3d1c3fc4ff5ed5a4c4a20050ab68d98a10b2ab7d52f02a485da1a0fb060e3 DIST httpd-2.0.55.tar.bz2 4745220 RMD160 04749dcf9ea369152eddf9422e49bc0a77a443eb SHA1 ab016aace57f34cb3eae5c9d48f2bcc5759d6c84 SHA256 764d12f9f3ca1b01218077681a9c08b43bc8239079ec7c2ca99c8a7fa47d3652 DIST httpd-2.0.58.tar.bz2 4704318 RMD160 2ff44b2254552db908f1defd09e3142527f9bf83 SHA1 697e1674f8efbbe05b9f6c1ba00cd28a37293229 SHA256 4f746715c408f4cac48099ea72560c50ef190568dfcfa8e0762bae66c0398029 @@ -33,6 +36,10 @@ EBUILD apache-1.3.34-r13.ebuild 8751 RMD160 d1563baa6607e3877c15c1e4f32a4f8a509c MD5 c4a4f2788869712c699562a6a65054ac apache-1.3.34-r13.ebuild 8751 RMD160 d1563baa6607e3877c15c1e4f32a4f8a509c64e3 apache-1.3.34-r13.ebuild 8751 SHA256 b8b9334431c9398c1dfc525e179ab4f3445d4d1ab956d9b812decad9ad588450 apache-1.3.34-r13.ebuild 8751 +EBUILD apache-1.3.34-r14.ebuild 8747 RMD160 be5659e6c0fe3697f5ea6934f39f9c83848d0037 SHA1 ce294f724c6e71108fd58ad5288ad3d4a3fa3748 SHA256 af87ad2a0f77f742f93d063158608b68d496b1e30c5a0914ff095a6ea45302e5 +MD5 4710d4c917add404b6e8aa49f42a4554 apache-1.3.34-r14.ebuild 8747 +RMD160 be5659e6c0fe3697f5ea6934f39f9c83848d0037 apache-1.3.34-r14.ebuild 8747 +SHA256 af87ad2a0f77f742f93d063158608b68d496b1e30c5a0914ff095a6ea45302e5 apache-1.3.34-r14.ebuild 8747 EBUILD apache-2.0.54-r31.ebuild 13386 RMD160 efa26be6cf032b3bd5fdb445fa0a47c01e6ee94e SHA1 a006a39f6d93fea80d89e10ffdb1bc1035ec5ebb SHA256 c674d1c6c5c7cba6f504e2e47eb7112f46078175d474654eaf67e15d9e7ff160 MD5 477d93701a4872e5be29f52b2d167090 apache-2.0.54-r31.ebuild 13386 RMD160 efa26be6cf032b3bd5fdb445fa0a47c01e6ee94e apache-2.0.54-r31.ebuild 13386 @@ -45,6 +52,10 @@ EBUILD apache-2.0.58-r1.ebuild 13688 RMD160 64beeb5f54c6dd67fcdec8a2e6b75fb2f109 MD5 d3027e8483c0a5fae23e2df5a7d8f3c1 apache-2.0.58-r1.ebuild 13688 RMD160 64beeb5f54c6dd67fcdec8a2e6b75fb2f1090689 apache-2.0.58-r1.ebuild 13688 SHA256 20f0dbc14b478e2f7eaa221319062d8d442848359cbcb366940d24d3dd412660 apache-2.0.58-r1.ebuild 13688 +EBUILD apache-2.0.58-r2.ebuild 13684 RMD160 2ee0ec8ac32b74f60ab49b1d016f87f2ce48a837 SHA1 cd8b6530e0ec6b472075374a91ddc3fc0fa21337 SHA256 a6075dea43ef57aa7530ac2a1d9b9b646c3e7c0ec3556cea30de0f6620e42119 +MD5 60e356bb67e2200016c8af5f3e3dd67d apache-2.0.58-r2.ebuild 13684 +RMD160 2ee0ec8ac32b74f60ab49b1d016f87f2ce48a837 apache-2.0.58-r2.ebuild 13684 +SHA256 a6075dea43ef57aa7530ac2a1d9b9b646c3e7c0ec3556cea30de0f6620e42119 apache-2.0.58-r2.ebuild 13684 EBUILD apache-2.0.58.ebuild 13599 RMD160 fca1674ba38dc306049ae6779d31cd6449267940 SHA1 4fe4428a7f23fa438f9358ab8ec13248251985e1 SHA256 4f3be0f5b5ff04da58afe58e96ba216c60c75c9cd96069a599a2290106857b00 MD5 367db390cee080565b8e77b17faf2334 apache-2.0.58.ebuild 13599 RMD160 fca1674ba38dc306049ae6779d31cd6449267940 apache-2.0.58.ebuild 13599 @@ -57,14 +68,18 @@ EBUILD apache-2.2.0-r2.ebuild 14184 RMD160 32f417708999bd1c9b233720dc0471ce7ac7c MD5 40c07f7d2a536a9771d7f2f750d42985 apache-2.2.0-r2.ebuild 14184 RMD160 32f417708999bd1c9b233720dc0471ce7ac7ce4d apache-2.2.0-r2.ebuild 14184 SHA256 a2ccd46e93926cebcc2371ae52cdcb6a118e6a37bae938b9cad682347a6f1baf apache-2.2.0-r2.ebuild 14184 +EBUILD apache-2.2.2-r1.ebuild 13898 RMD160 56a87cd0e2d2ad79995aad1084f5d980454b69af SHA1 bb05d0eba6be8d43aa8a1cd35ed5e1e74bd39629 SHA256 7611e65207fac0034d5755f8187ee4fa51d232f9f3c04353e299d5469a41a2f2 +MD5 864a1733d246ddd80cc19a37b074a228 apache-2.2.2-r1.ebuild 13898 +RMD160 56a87cd0e2d2ad79995aad1084f5d980454b69af apache-2.2.2-r1.ebuild 13898 +SHA256 7611e65207fac0034d5755f8187ee4fa51d232f9f3c04353e299d5469a41a2f2 apache-2.2.2-r1.ebuild 13898 EBUILD apache-2.2.2.ebuild 13895 RMD160 41eb3ec312f169e9d6d93516622d610f556aff6b SHA1 f353ddc86b434ef541ff4b6f9e4a36df4727764f SHA256 92b42f25ecc2064850f48a630d77274ce2288a8e01b91808bf9c166c555877b3 MD5 4c6d35808764e9a1b5e1d283d5bbd500 apache-2.2.2.ebuild 13895 RMD160 41eb3ec312f169e9d6d93516622d610f556aff6b apache-2.2.2.ebuild 13895 SHA256 92b42f25ecc2064850f48a630d77274ce2288a8e01b91808bf9c166c555877b3 apache-2.2.2.ebuild 13895 -MISC ChangeLog 83188 RMD160 5f73b922553ce684d05b124bcaaeb15beb971b5e SHA1 147661f0d1a241c410119f9b72fac2f57294d7e1 SHA256 80648361fe7b0b41f49678345cb779c05fd028d0356b6275ab4a306395d7b199 -MD5 94e265237d811713068cfd32960baaba ChangeLog 83188 -RMD160 5f73b922553ce684d05b124bcaaeb15beb971b5e ChangeLog 83188 -SHA256 80648361fe7b0b41f49678345cb779c05fd028d0356b6275ab4a306395d7b199 ChangeLog 83188 +MISC ChangeLog 83480 RMD160 f3d78893f8041f055ef2b5c16acd82e0dc199086 SHA1 14958f8af6e9b6a439b18a899eef71b8fd045dbf SHA256 33d6943118fca220b5becc73916c9a64556230f2a97510c97b77c7671fa4b75b +MD5 c878a7fd0be83e415e348fd2ad9f2ae0 ChangeLog 83480 +RMD160 f3d78893f8041f055ef2b5c16acd82e0dc199086 ChangeLog 83480 +SHA256 33d6943118fca220b5becc73916c9a64556230f2a97510c97b77c7671fa4b75b ChangeLog 83480 MISC metadata.xml 566 RMD160 8aad2cbb313fa91b77c6f4891f8d3483d1460adc SHA1 cfaab8d65125c65cb5c66c37dd200f7b3586baf9 SHA256 9826f38d29b803e954faa6fafffc4d6f197bfcb0e14cc76af891c41081d948e2 MD5 27c9cb37c510e08bb69df277229a03ea metadata.xml 566 RMD160 8aad2cbb313fa91b77c6f4891f8d3483d1460adc metadata.xml 566 @@ -81,6 +96,9 @@ SHA256 ca3a32f4201931f08ee7b828a4591fa23c33c1f2aca16f7d906c173923494a02 files/di MD5 1d44cb3645c1287c1d3e05b6724a1fc9 files/digest-apache-1.3.34-r13 1045 RMD160 f56519efe5fa19a9359c02cc718990879b5ab28b files/digest-apache-1.3.34-r13 1045 SHA256 c2c9ea156e7dbfa996f8c68bb249ea87d1cfae71753ac8f97eb54b30bc0261f2 files/digest-apache-1.3.34-r13 1045 +MD5 9898e1d5318e43832fc20c4e71e49110 files/digest-apache-1.3.34-r14 1045 +RMD160 e3177b6c4899756c982888044d1c321733d121ef files/digest-apache-1.3.34-r14 1045 +SHA256 06ec0bcb6e35bc9e1cb81c6d264bb4684bd766fda12aa1d788c1c2d35a9173dc files/digest-apache-1.3.34-r14 1045 MD5 bb39b04d1adab58fa4d554e919191659 files/digest-apache-2.0.54-r31 554 RMD160 80612af5fbe4358cb4ee84c58adf8ccfd3264d71 files/digest-apache-2.0.54-r31 554 SHA256 234f37bb3950cd615502c2a230a2bcdebe631c6a44c4e6b9ad5cd20ab82b1997 files/digest-apache-2.0.54-r31 554 @@ -93,6 +111,9 @@ SHA256 8c8a5e62f68298c10276419f3a8f791a600110fa2f0645495aa47eaa609a84a8 files/di MD5 33c105b83125d1910609c5bd5b42742d files/digest-apache-2.0.58-r1 542 RMD160 86cabf99a94890890414e617b560c99bc9c40f93 files/digest-apache-2.0.58-r1 542 SHA256 128c1151005d385c0370c6e922b34af0f5abe0d81d0f226c90210484ce5109ee files/digest-apache-2.0.58-r1 542 +MD5 0524614b17efc5f1bfa0d40607b87f41 files/digest-apache-2.0.58-r2 542 +RMD160 032bc41c0d58aa7e02d26e6798494cf838af864c files/digest-apache-2.0.58-r2 542 +SHA256 a168cb54770884f50f48411842613b904f1cbf24ca9596ea43b28eeed7688936 files/digest-apache-2.0.58-r2 542 MD5 658a784ac412b6489bad9d6522ad214c files/digest-apache-2.2.0-r1 536 RMD160 250f73fa520dacab1f72303a2b78297311793c9b files/digest-apache-2.2.0-r1 536 SHA256 33e99840918bb5d10d5d4ecf2368b3246cd91a640e0c9a094256e4025ca0425b files/digest-apache-2.2.0-r1 536 @@ -102,3 +123,6 @@ SHA256 da35bf941e330235aa37b4fffe5d32cb6c006f12f754ac7ee7955e171f51b6e3 files/di MD5 acbe49d5cc1970e0ccb40c0ce74307e1 files/digest-apache-2.2.2 527 RMD160 8fb87b136255e5ca6d1c9d4b5ee410efd97a8dbb files/digest-apache-2.2.2 527 SHA256 0b557e84751b1903abe7da1eb561cba43a0c471c2fe07304b22e6e3c31f0df78 files/digest-apache-2.2.2 527 +MD5 f79fabc348ee9af7b4453493774e66d0 files/digest-apache-2.2.2-r1 536 +RMD160 35e1b80804733777550c22cb6bee1f48e6f89546 files/digest-apache-2.2.2-r1 536 +SHA256 ccf6b0ba8e729efd9a1837791145dd2dc056339b58ae166e677993500d22f971 files/digest-apache-2.2.2-r1 536 diff --git a/net-www/apache/apache-1.3.34-r14.ebuild b/net-www/apache/apache-1.3.34-r14.ebuild new file mode 100644 index 000000000000..4d5f57a98d43 --- /dev/null +++ b/net-www/apache/apache-1.3.34-r14.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.34-r14.ebuild,v 1.1 2006/07/28 12:35:24 vericgar Exp $ + +inherit eutils fixheadtails multilib + +# latest gentoo apache files +GENTOO_PATCHNAME="gentoo-apache-${PVR}" +GENTOO_PATCHSTAMP="20060726" +GENTOO_DEVSPACE="vericgar" +GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}" + +# The mod_ssl archive is only for providing the EAPI patch in here. +# You should install the net-www/mod_ssl package for the actual DSO. +mod_ssl_ver=2.8.25 +lingerd_ver=0.94 + +DESCRIPTION="The Apache Web Server" +HOMEPAGE="http://httpd.apache.org" +SRC_URI="mirror://apache/httpd/apache_${PV}.tar.gz + ssl? ( ftp://ftp.modssl.org/source/mod_ssl-${mod_ssl_ver}-${PV}.tar.gz ) + lingerd? ( http://images.iagora.com/media/software/lingerd/lingerd-${lingerd_ver}.tar.gz ) + http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="1" +KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86" +IUSE="doc ssl pam lingerd no-suexec static-modules selinux" + +DEPEND="dev-lang/perl + || ( sys-libs/gdbm ~sys-libs/db-1.85 ) + sys-libs/db + >=dev-libs/mm-1.1.3 + >=dev-libs/expat-1.95.2 + net-www/gentoo-webroot-default + app-misc/mime-types + selinux? ( sec-policy/selinux-apache ) + lingerd? ( =net-www/lingerd-${lingerd_ver} )" + +# so leave it out until it's available +PDEPEND="ssl? ( =net-www/mod_ssl-${mod_ssl_ver}-r10 )" + +S=${WORKDIR}/${PN}_${PV} + +pkg_setup() { + # setup apache user and group + enewgroup apache 81 + enewuser apache 81 -1 /var/www apache +} + +src_unpack() { + unpack ${A} || die + cd ${S} || die + + # Use correct multilib libdir in gentoo patches + sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \ + ${GENTOO_PATCHDIR}/{conf/httpd.conf,init/*,patches/config.layout} \ + || die "sed failed" + + # patch codes: + # 00-29 patches to work with gentoo + # 30-89 USE-flag patches + # 90-99 security patches + EPATCH_SUFFIX="patch" + epatch ${GENTOO_PATCHDIR}/patches/[0-2]* + epatch ${GENTOO_PATCHDIR}/patches/9* + + # setup the filesystem layout config + cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout + sed -i -e 's:version:${PF}:g' config.layout + + if useq pam; then + epatch ${GENTOO_PATCHDIR}/patches/31_all_gentoo_suexec_pam.patch || die "pam patch failed" + fi + + # fix obsolete 'head -1' and 'tail -1' calls + ht_fix_file src/Configure src/helpers/getuid.sh src/helpers/buildinfo.sh src/helpers/fmn.sh + + # setup mod_ssl eapi + if useq ssl; then + local myssl + myssl=${WORKDIR}/mod_ssl-${mod_ssl_ver}-${PV} + cp ${myssl}/pkg.eapi/*.h src/include + cp ${myssl}/pkg.eapi/*.c src/ap + epatch ${myssl}/pkg.eapi/eapi.patch || die "failed to setup mod_ssl eapi" + fi + + # set a reasonable MM_CORE_PATH location.. + sed -i -e 's:logs/mm:/var/cache/apache-mm/mm:' src/include/httpd.h + + if useq lingerd; then + local mylingerd=${WORKDIR}/lingerd-${lingerd_ver} + cp ${mylingerd}/apache-1.3/ap_lingerd.c ${mylingerd}/li_config.h src/main + cd src + if useq ssl; then + epatch ${mylingerd}/apache-1.3/aplinger-ssl.diff + else + epatch ${mylingerd}/apache-1.3/aplinger.diff + fi + cd .. + fi +} + +src_compile() { + local myconf + + setup_apache_vars + + select_modules_config || die "determining modules" + + if ! useq no-suexec; then + myconf="${myconf} + --enable-suexec + --suexec-uidmin=1000 \ + --suexec-gidmin=100 \ + --suexec-caller=apache \ + --suexec-userdir=public_html \ + --suexec-docroot=/var/www \ + --suexec-safepath="/usr/local/bin:/usr/bin:/bin" \ + --suexec-logfile=/var/log/apache/suexec_log" + fi + + if useq ssl; then + myconf="${myconf} --enable-rule=EAPI" + fi + + OPTIM="${MY_CFLAGS} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT:=512} \ + -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \ + LIBS="-ldb -lgdbm -lgdbm_compat -lpthread" \ + EAPI_MM=SYSTEM \ + ./configure \ + --with-layout=Gentoo \ + --target=apache \ + --server-uid=apache \ + --server-gid=apache \ + --with-perl=/usr/bin/perl \ + --enable-rule=SHARED_CHAIN \ + ${MY_BUILTINS} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log" + + emake || die "problem compiling apache" + + # build ssl version of apache bench (ab-ssl) + if useq ssl; then + cd src/support + rm -f ab ab.o + make ab CFLAGS="${CFLAGS} -DUSE_SSL -lcrypto -lssl -I/usr/include/openssl -L/usr/$(get_libdir)" || die + mv ab ab-ssl + rm -f ab.o + make ab || die + fi +} + +src_install() { + # general install + make install-quiet root=${D} || die + dodoc ABOUT_APACHE Announcement INSTALL LICENSE README* ${GENTOO_PATCHDIR}/docs/robots.txt + + # protect the suexec binary + if ! useq no-suexec; then + fowners root:apache /usr/sbin/suexec + fperms 4710 /usr/sbin/suexec + fi + + # apxs needs this to pickup the right lib for install + dosym /usr/$(get_libdir) /usr/$(get_libdir)/apache/lib + dosym /var/log/apache /usr/$(get_libdir)/apache/logs + dosym /etc/apache /usr/$(get_libdir)/apache/conf + + # nice support scripts + exeinto /usr/sbin + for i in apachelogserverstatus apachesplitlogfile; do + doexe ${GENTOO_PATCHDIR}/scripts/${i} + done + + # some more scripts + for i in split-logfile logresolve.pl log_server_status; do + doexe ${S}/src/support/${i} + done + + # the ssl version of apache bench + if useq ssl; then + doexe src/support/ab-ssl + fi + + # drop in a convenient link to the manual + if useq doc; then + insinto /etc/apache/modules.d + doins ${GENTOO_PATCHDIR}/conf/modules.d/00_apache_manual.conf + sed -i -e "s:1.3.32:${PVR}:" ${D}/etc/apache/modules.d/00_apache_manual.conf + else + rm -rf ${D}/usr/share/doc/${PF}/manual + fi + + # tidy up + cd ${D} + dodoc etc/apache/*.default + rm -f etc/apache/*.default + rm -f etc/apache/*.conf + rm -f etc/apache/mime.types + + # we DEPEND on net-www/gentoo-webroot-default for sharing this by now + rm -rf var/www/localhost + + # config files + insinto /etc/conf.d + newins ${GENTOO_PATCHDIR}/init/apache.confd apache + + exeinto /etc/init.d + newexe ${GENTOO_PATCHDIR}/init/apache.initd apache + + insinto /etc/apache + doins ${GENTOO_PATCHDIR}/conf/apache-builtin-mods + doins ${GENTOO_PATCHDIR}/conf/httpd.conf + + insinto /etc/apache/vhosts.d + doins ${GENTOO_PATCHDIR}/conf/vhosts.d/00_default_vhost.conf + + keepdir /etc/apache/vhosts.d + keepdir /etc/apache/modules.d + + # Added by Jason Wever <weeve@gentoo.org> + # A little sedfu to fix bug #7172 for sparc64s + if [ ${ARCH} = "sparc" ]; then + sed -i -e '15a\AcceptMutex fcntl' ${D}/etc/apache/httpd.conf + fi + + if useq lingerd; then + sed -i 's:\(need net.*\):\1 lingerd:g' ${D}/etc/init.d/apache + fi + + if useq pam; then + insinto /etc/pam.d + newins ${GENTOO_PATCHDIR}/patches/suexec.pam suexec + fi + + # empty dirs + for i in /var/log/apache /var/cache/apache /var/cache/apache-mm; do + keepdir ${i} + fowners apache:apache ${i} + fperms 755 ${i} + done +} + +pkg_postinst() { + + if has_version '<net-www/apache-1.3.33-r10' ; then + einfo "Configuration locations have changed, you will need to migrate" + einfo "your configuration from /etc/apache/conf/apache.conf and" + einfo "/etc/apache/conf/commonapache.conf to /etc/apache/httpd.conf." + einfo + einfo "Apache now checks for the old configuration and refuses to start" + einfo "if it exists. You must remove the old configuration first" + einfo + einfo "For more information, see" + einfo " http://www.gentoo.org/doc/en/apache-upgrading.xml" + einfo + fi + + einfo "If you want modules to be installed for this version of apache" + einfo "then please ensure that apache2 is not in your USE flags. To remove" + einfo "the USE-flag, add '-apache2' to USE in /etc/make.conf." + +} + +setup_apache_vars() { + MY_CFLAGS="${CFLAGS}" + unset CFLAGS + unset CXXFLAGS + + # standard location for Gentoo Linux + DATADIR="${DATADIR:-/var/www/localhost}" + einfo "DATADIR is set to: ${DATADIR}" +} + +parse_modules_config() { + local name="" + local disable="" + [ -f ${1} ] || return 1 + + for i in `cat $1 | sed "s/^#.*//"` ; do + if [ $i == "-" ]; then + disable="true" + elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ]; then + name=`echo $i | sed "s/mod_//"` + elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ); then + MY_BUILTINS="${MY_BUILTINS} --disable-module=$name" + name="" ; disable="" + elif [ $i == "static" ] || useq static-modules; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --disable-shared=$name" + name="" ; disable="" + elif [ $i == "shared" ]; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --enable-shared=$name" + name="" ; disable="" + fi + done + + einfo "${1} options:\n${MY_BUILTINS}" +} + +select_modules_config() { + parse_modules_config /etc/apache/apache-builtin-mods || \ + parse_modules_config ${GENTOO_PATCHDIR}/conf/apache-builtin-mods || \ + return 1 +} + +# vim:ts=4 diff --git a/net-www/apache/apache-2.0.58-r2.ebuild b/net-www/apache/apache-2.0.58-r2.ebuild new file mode 100644 index 000000000000..c46d53fbf2c9 --- /dev/null +++ b/net-www/apache/apache-2.0.58-r2.ebuild @@ -0,0 +1,448 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.58-r2.ebuild,v 1.1 2006/07/28 12:35:24 vericgar Exp $ + +inherit eutils flag-o-matic gnuconfig multilib + +# latest gentoo apache files +GENTOO_PATCHNAME="gentoo-apache-${PVR}" +GENTOO_PATCHSTAMP="20060726" +GENTOO_DEVSPACE="vericgar" +GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}" + +DESCRIPTION="The Apache Web Server" +HOMEPAGE="http://httpd.apache.org/" +SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 + http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="2" +KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd" +IUSE="apache2 debug doc ldap mpm-itk mpm-leader mpm-peruser mpm-prefork mpm-threadpool mpm-worker no-suexec ssl static-modules threads selinux" + +RDEPEND="dev-lang/perl + ~dev-libs/apr-0.9.12 + ~dev-libs/apr-util-0.9.12 + dev-libs/expat + app-misc/mime-types + sys-libs/zlib + mpm-itk? ( sys-libs/libcap ) + ssl? ( dev-libs/openssl ) + selinux? ( sec-policy/selinux-apache ) + !mips? ( ldap? ( =net-nds/openldap-2* ) )" +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.59-r4" + +S="${WORKDIR}/httpd-${PV}" + +big_fat_warnings() { + + if use ldap && ! built_with_use 'dev-libs/apr-util' ldap; then + eerror "dev-libs/apr-util is missing LDAP support. For apache to have" + eerror "ldap support, apr-util must be built with the ldap USE-flag" + eerror "enabled." + die "ldap USE-flag enabled while not supported in apr-util" + fi + + if use mpm-peruser || use mpm-itk; then + ewarn "-BIG- -FAT- -WARNING-" + ewarn + ewarn "The peruser (USE=mpm-peruser) and itk (USE=mpm-itk) MPMs are considered" + ewarn "highly experimental and are not (yet) supported, nor are they recommended" + ewarn "for production use. You have been warned!" + ewarn + ewarn "Continuing in 5 seconds ..." + sleep 5 + fi + +} + +pkg_setup() { + big_fat_warnings + select_mpms + + # setup apache user and group + enewgroup apache 81 + enewuser apache 81 -1 /var/www apache + +} + +src_unpack() { + unpack ${A} || die + cd ${S} || die + + # Use correct multilib libdir in gentoo patches + sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \ + ${GENTOO_PATCHDIR}/{conf/httpd.conf,init/*,patches/config.layout} \ + || die "sed failed" + + EPATCH_SUFFIX="patch" + epatch ${GENTOO_PATCHDIR}/patches/[0-9]* || die "internal ebuild error" + + # avoid utf-8 charset problems + export LC_CTYPE=C + + # setup the filesystem layout config + cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout + sed -i -e 's:version:${PF}:g' config.layout + + # peruser need to build conf + WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed" +} + +src_compile() { + + # bug 128505 + filter-ldflags -Wl,--as-needed --as-needed + + # actually we do not provide a very dynamic way of those vars + # however, you may predefine them in shell before emerging + # to override the official default locations + + # standard location for Gentoo Linux + USERDIR="${USERDIR:-public_html}" + + einfo "USERDIR is set to: ${USERDIR}" + + select_mpms + + # Detect mips and uclibc systems properly + gnuconfig_update + + local modtype + if useq static-modules; then + modtype="static" + else + modtype="shared" + fi + + select_modules_config || die "determining modules" + + local myconf + useq ldap && myconf="${myconf} --enable-auth-ldap=${modtype} --enable-ldap=${modtype}" + useq ssl && myconf="${myconf} --with-ssl=/usr --enable-ssl=${modtype}" + useq ssl || myconf="${myconf} --disable-ssl" + + # Fix for bug #24215 - robbat2@gentoo.org, 30 Oct 2003 + # We pre-load the cache with the correct answer! This avoids + # it violating the sandbox. This may have to be changed for + # non-Linux systems or if sem_open changes on Linux. This + # hack is built around documentation in /usr/include/semaphore.h + # and the glibc (pthread) source + echo 'ac_cv_func_sem_open=${ac_cv_func_sem_open=no}' >> ${S}/config.cache + + if useq no-suexec; then + myconf="${myconf} --disable-suexec" + else + myconf="${myconf} + --with-suexec-safepath="/usr/local/bin:/usr/bin:/bin" \ + --with-suexec-logfile=/var/log/apache2/suexec_log \ + --with-suexec-bin=/usr/sbin/suexec2 \ + --with-suexec-userdir=${USERDIR} \ + --with-suexec-caller=apache \ + --with-suexec-docroot=/var/www \ + --with-suexec-uidmin=1000 \ + --with-suexec-gidmin=100 \ + --with-suexec-umask=077 \ + --enable-suexec=shared" + fi + + # common confopts + myconf="${myconf} \ + --with-apr=/usr \ + --with-apr-util=/usr \ + --cache-file=${S}/config.cache \ + --with-perl=/usr/bin/perl \ + --with-expat=/usr \ + --with-z=/usr \ + --with-port=80 \ + --enable-layout=Gentoo \ + --with-program-name=apache2 \ + --with-devrandom=/dev/urandom \ + --host=${CHOST} ${MY_BUILTINS}" + + # debugging support + if useq debug ; then + myconf="${myconf} --enable-maintainer-mode" + fi + + ./configure --with-mpm=${mpm} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log" + + # we don't want to try and recompile the ssl_expr_parse.c file, because + # the lex source is broken + touch modules/ssl/ssl_expr_scan.c + + # as decided on IRC-AGENDA-10.2004, we use httpd.conf as standard config file name + sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h + + emake || die "problem compiling apache2" + + # build ssl version of apache bench (ab-ssl) + if useq ssl; then + cd support + rm -f ab .libs/ab ab.lo ab.o + make ab CFLAGS="${CFLAGS} -DUSE_SSL -lcrypto -lssl -I/usr/include/openssl -L/usr/$(get_libdir)" || die + mv ab ab-ssl + rm -f ab.lo ab.o + make ab || die + fi +} + +src_install () { + # general install + make DESTDIR=${D} install || die + dodoc ABOUT_APACHE CHANGES INSTALL LAYOUT LICENSE README* ${GENTOO_PATCHDIR}/docs/robots.txt + + # protect the suexec binary + if ! useq no-suexec; then + fowners root:apache /usr/sbin/suexec + fperms 4710 /usr/sbin/suexec + fi + + # apxs needs this to pickup the right lib for install + dosym /usr/$(get_libdir) /usr/$(get_libdir)/apache2/lib + dosym /var/log/apache2 /usr/$(get_libdir)/apache2/logs + dosym /etc/apache2 /usr/$(get_libdir)/apache2/conf + + # Credits to advx.org people for these scripts. Heck, thanks for + # the nice layout and everything else ;-) + exeinto /usr/sbin + for i in apache2logserverstatus apache2splitlogfile; do + doexe ${GENTOO_PATCHDIR}/scripts/${i} + done + # gentestcrt.sh only if USE=ssl + useq ssl && doexe ${GENTOO_PATCHDIR}/scripts/gentestcrt.sh + + # some more scripts + for i in split-logfile list_hooks.pl logresolve.pl log_server_status; do + doexe ${S}/support/${i} + done + + # the ssl version of apache bench + useq ssl && doexe support/ab-ssl + + # install mpm bins + doexe ${S}/apache2 + + # modules.d config file snippets + insinto /etc/apache2/modules.d + doins ${GENTOO_PATCHDIR}/conf/modules.d/45_mod_dav.conf + useq ldap && doins ${GENTOO_PATCHDIR}/conf/modules.d/46_mod_ldap.conf + if useq ssl; then + doins ${GENTOO_PATCHDIR}/conf/modules.d/40_mod_ssl.conf + doins ${GENTOO_PATCHDIR}/conf/modules.d/41_mod_ssl.default-vhost.conf + fi + + # drop in a convenient link to the manual + if useq doc; then + insinto /etc/apache2/modules.d + doins ${GENTOO_PATCHDIR}/conf/modules.d/00_apache_manual.conf + sed -i -e "s:2.0.49:${PVR}:" ${D}/etc/apache2/modules.d/00_apache_manual.conf + else + rm -rf ${D}/usr/share/doc/${PF}/manual + fi + + # SLOT=2 + cd ${D} + for i in htdigest htpasswd logresolve apxs ab rotatelogs dbmmanage checkgid split-logfile; do + mv -v usr/sbin/${i} usr/sbin/${i}2 + done + mv -v usr/sbin/apachectl usr/sbin/apache2ctl + mv -v usr/sbin/list_hooks.pl usr/sbin/list_hooks2.pl + mv -v usr/sbin/logresolve.pl usr/sbin/logresolve2.pl + useq ssl && mv -v usr/sbin/ab-ssl usr/sbin/ab2-ssl + useq no-suexec || mv -v usr/sbin/suexec usr/sbin/suexec2 + + # do the man pages + for i in htdigest.1 htpasswd.1 dbmmanage.1; do + mv -v usr/share/man/man1/${i} usr/share/man/man1/${i/./2.} + done + for i in ab.8 apxs.8 logresolve.8 rotatelogs.8; do + mv -v usr/share/man/man8/${i} usr/share/man/man8/${i/./2.} + done + useq no-suexec || mv -v usr/share/man/man8/suexec.8 usr/share/man/man8/suexec2.8 + mv -v usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.8 + mv -v usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8 + + # tidy up + mv usr/sbin/envvars* usr/$(get_libdir)/apache2/build + dodoc etc/apache2/*-std.conf + rm -f etc/apache2/*.conf + rm -f etc/apache2/mime.types + rm -rf var/run var/log + + # the default webroot gets stored in /usr/share/doc + einfo "Installing default webroot to /usr/share/doc/${PF}" + mv ${D}/var/www/localhost ${D}/usr/share/doc/${PF}/webroot + + # config files + newconfd ${GENTOO_PATCHDIR}/init/apache2.confd apache2 + newinitd ${GENTOO_PATCHDIR}/init/apache2.initd apache2 + + insinto /etc/logrotate.d + newins ${GENTOO_PATCHDIR}/scripts/apache2-logrotate apache2 + + insinto /etc/apache2 + doins ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods + doins ${GENTOO_PATCHDIR}/conf/httpd.conf + + insinto /etc/apache2/vhosts.d + doins ${GENTOO_PATCHDIR}/conf/vhosts.d/00_default_vhost.conf + + keepdir /etc/apache2/vhosts.d + keepdir /etc/apache2/modules.d + + # fix bug 92348 + fperms 755 /usr/sbin/apache2logserverstatus + fperms 755 /usr/sbin/apache2splitlogfile + + # empty dirs + for i in /var/lib/dav /var/log/apache2 /var/cache/apache2; do + keepdir ${i} + fowners apache:apache ${i} + fperms 755 ${i} + done + + # We'll be needing /etc/apache2/ssl if USE=ssl + useq ssl && keepdir /etc/apache2/ssl + +} + +pkg_postinst() { + # Automatically generate test ceritificates if ssl USE flag is being set + if useq ssl -a !-e ${ROOT}/etc/apache2/ssl/server.crt; then + cd ${ROOT}/etc/apache2/ssl + einfo + einfo "Generating self-signed test certificate in /etc/apache2/ssl..." + yes "" 2>/dev/null | \ + ${ROOT}/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \ + die "gentestcrt.sh failed" + einfo + fi + + # we do this here because the default webroot is a copy of the files + # that exist elsewhere and we don't want them managed/removed by portage + # when apache is upgraded. + if [ -e "${ROOT}/var/www/localhost" ]; then + einfo "The default webroot has not been installed into" + einfo "${ROOT}/var/www/localhost because the directory already exists" + einfo "and we do not want to overwrite any files you have put there." + einfo + einfo "If you would like to install the latest webroot, please run" + einfo "emerge --config =${PF}" + else + einfo "Installing default webroot to ${ROOT}/var/www/localhost" + mkdir -p ${ROOT}/var/www/localhost + cp -r ${ROOT}/usr/share/doc/${PF}/webroot/* ${ROOT}/var/www/localhost + chown -R apache: ${ROOT}/var/www/localhost + fi + + # Check for dual/upgrade install + if has_version '=net-www/apache-1*' || ! use apache2 ; then + ewarn + ewarn "Please add the 'apache2' flag to your USE variable and (re)install" + ewarn "any additional DSO modules you may wish to use with Apache-2.x." + ewarn "Addon modules are configured in /etc/apache2/modules.d/" + ewarn + fi + + # Check for obsolete symlinks + local list="" + for i in lib logs modules extramodules; do + local d="/etc/apache2/${i}" + [ -s "${d}" ] && list="${list} ${d}" + done + [ -n "${list}" ] && einfo "You should delete these old symlinks: ${list}" + + if has_version '<net-www/apache-2.0.54-r30' && has_version '>=net-www/apache-2.0.0' ; then + einfo "Configuration locations have changed, you will need to migrate" + einfo "your configuration from /etc/apache2/conf/apache2.conf and" + einfo "/etc/apache2/conf/commonapache2.conf to /etc/apache2/httpd.conf." + einfo + einfo "Apache now checks for the old configuration and refuses to start" + einfo "if it exists. You must remove the old configuration first" + einfo + einfo "You should also at this time rebuild all your modules" + einfo + einfo "For more information, see" + einfo " http://www.gentoo.org/doc/en/apache-upgrading.xml" + einfo + fi + + big_fat_warnings +} + +pkg_config() { + + einfo "Installing default webroot to ${ROOT}/var/www/localhost" + mkdir -p ${ROOT}/var/www/localhost + cp -r ${ROOT}/usr/share/doc/${PF}/webroot/* ${ROOT}/var/www/localhost + chown -R apache: ${ROOT}/var/www/localhost + +} + +mpm_die() { + eerror "You attempted to specify the MPM $1, but MPM $2 was already specified." + eerror "The apache ebuilds no longer support multiple MPM installations. Please choose" + eerror "one MPM and reinstall." + die "More than one MPM was specified." +} + +select_mpms() { + + mpm="" + + for trympm in prefork worker peruser threadpool leader itk; do + if useq mpm-${trympm}; then + if [ "x${mpm}" = "x" ]; then + mpm=${trympm} + else + mpm_die ${trympm} ${mpm} + fi + fi + done + + if [ "x${mpm}" = "x" ]; then + if useq threads; then + einfo "Threads specified without a mpm-specification, using mpm-worker." + mpm="worker" + else + einfo "No MPM style was specified, defaulting to mpm-prefork." + mpm="prefork" + fi + fi + +} + +parse_modules_config() { + local name="" + local disable="" + [ -f ${1} ] || return 1 + + for i in `cat $1 | sed "s/^#.*//"`; do + if [ $i == "-" ]; then + disable="true" + elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ]; then + name=`echo $i | sed "s/mod_//"` + elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ); then + MY_BUILTINS="${MY_BUILTINS} --disable-$name" + name="" ; disable="" + elif [ $i == "static" ] || useq static-modules; then + MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes" + name="" ; disable="" + elif [ $i == "shared" ]; then + MY_BUILTINS="${MY_BUILTINS} --enable-$name=shared" + name="" ; disable="" + fi + done + + einfo "${1} options:\n${MY_BUILTINS}" +} + +select_modules_config() { + parse_modules_config /etc/apache2/apache2-builtin-mods || \ + parse_modules_config ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods || \ + return 1 +} + +# vim:ts=4 diff --git a/net-www/apache/apache-2.2.2-r1.ebuild b/net-www/apache/apache-2.2.2-r1.ebuild new file mode 100644 index 000000000000..a32b30b0b286 --- /dev/null +++ b/net-www/apache/apache-2.2.2-r1.ebuild @@ -0,0 +1,489 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.2.2-r1.ebuild,v 1.1 2006/07/28 12:35:24 vericgar Exp $ + +inherit eutils flag-o-matic gnuconfig multilib autotools + +# latest gentoo apache files +GENTOO_PATCHNAME="gentoo-apache-${PVR}" +GENTOO_PATCHSTAMP="20060726" +GENTOO_DEVSPACE="vericgar" +GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}" + +DESCRIPTION="The Apache Web Server" +HOMEPAGE="http://httpd.apache.org/" +SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2 + http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2" + +# some helper scripts are apache-1.1, thus both are here +LICENSE="Apache-2.0 Apache-1.1" + +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="debug doc ldap no-suexec ssl static-modules threads selinux mpm-prefork mpm-worker mpm-event mpm-peruser" + +RDEPEND="dev-lang/perl + >=dev-libs/apr-1.2.7 + >=dev-libs/apr-util-1.2.7 + dev-libs/expat + dev-libs/libpcre + app-misc/mime-types + sys-libs/zlib + ssl? ( dev-libs/openssl ) + selinux? ( sec-policy/selinux-apache ) + !mips? ( ldap? ( =net-nds/openldap-2* ) )" +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.59-r4" + +S="${WORKDIR}/httpd-${PV}" + + + +pkg_setup() { + if use ldap && ! built_with_use 'dev-libs/apr-util' ldap; then + eerror "dev-libs/apr-util is missing LDAP support. For apache to have" + eerror "ldap support, apr-util must be built with the ldap USE-flag" + eerror "enabled." + die "ldap USE-flag enabled while not supported in apr-util" + fi + + # select our MPM + MPM_LIST="prefork worker event peruser" + for x in ${MPM_LIST}; do + if useq mpm-${x}; then + if [ "x${mpm}" == "x" ]; then + mpm=${x} + einfo "Selected MPM: ${mpm}" + else + eerror "You have selected more then one mpm USE-flag." + eerror "Only one MPM is supported." + die "more then one mpm was specified" + fi + fi + done + + if [ "x${mpm}" == "x" ]; then + if useq "threads"; then + mpm=worker + einfo "Selected default threaded MPM: ${mpm}"; + else + mpm=prefork + einfo "Selected default MPM: ${mpm}"; + fi + fi + + # setup apache user and group + enewgroup apache 81 + enewuser apache 81 -1 /var/www apache +} + + + +src_unpack() { + unpack ${A} || die + cd ${S} || die + + # Use correct multilib libdir in gentoo patches + sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \ + ${GENTOO_PATCHDIR}/{conf/httpd.conf,init/*,patches/config.layout,scripts/Makefile.suexec,scripts/suexec2-config} \ + || die "sed failed" + + + #### Patch Organization + # 00-19 Gentoo specific (00_all_some-title.patch) + # 20-39 Additional MPMs (20_all_${MPM}_some-title.patch) + # 40-59 USE-flag based (40_all_${USE}_some-title.patch) + # 60-79 Version specific (60_all_${PV}_some-title.patch) + # 80-99 Security patches (80_all_${PV}_cve-####-####.patch) + + EPATCH_SUFFIX="patch" + epatch ${GENTOO_PATCHDIR}/patches/[0-1]* || die "Patching failed" + if $(ls ${GENTOO_PATCHDIR}/patches/[2-3]?_*_${mpm}_* &>/dev/null); then + epatch ${GENTOO_PATCHDIR}/patches/[2-3]?_*_${mpm}_* || \ + die "MPM ${mpm} Patching failed" + fi + for uf in ${IUSE}; do + if useq ${uf} && $(ls ${GENTOO_PATCHDIR}/patches/[4-5]?_*_${uf}_* &>/dev/null) + then + epatch ${GENTOO_PATCHDIR}/patches/[4-5]?_*_${uf}_* || \ + die "USE=\"${uf}\" Patching failed" + fi + done + if $(ls ${GENTOO_PATCHDIR}/patches/[6-9]?_*_${PV}_* &>/dev/null); then + epatch ${GENTOO_PATCHDIR}/patches/[6-9]?_*_${PV}_* || \ + die "Version ${PV} Patching failed" + fi + + + # avoid utf-8 charset problems + export LC_CTYPE=C + + # setup the filesystem layout config + cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout + sed -i -e "s:version:${PF}:g" config.layout + + # patched-in MPMs need the build environment rebuilt + sed -i -e '/sinclude/d' configure.in + AT_GNUCONF_UPDATE=yes AT_M4DIR=build WANT_AUTOCONF=2.5 eautoreconf + +} + + + +src_compile() { + + local modtype + if useq static-modules; then + modtype="static" + else + modtype="shared" + fi + + select_modules_config || die "determining modules failed" + + local myconf + useq ldap && mods="${mods} ldap authnz-ldap" && \ + myconf="${myconf} --enable-authnz-ldap=${modtype}" && \ + myconf="${myconf} --enable-ldap=${modtype}" + useq ssl && mods="${mods} ssl" && \ + myconf="${myconf} --with-ssl=/usr --enable-ssl=${modtype}" + + # Fix for bug #24215 - robbat2@gentoo.org, 30 Oct 2003 + # We pre-load the cache with the correct answer! This avoids + # it violating the sandbox. This may have to be changed for + # non-Linux systems or if sem_open changes on Linux. This + # hack is built around documentation in /usr/include/semaphore.h + # and the glibc (pthread) source + echo 'ac_cv_func_sem_open=${ac_cv_func_sem_open=no}' >> ${S}/config.cache + + if useq no-suexec; then + myconf="${myconf} --disable-suexec" + else + mods="${mods} suexec" + myconf="${myconf} $(${GENTOO_PATCHDIR}/scripts/suexec2-config --config)" + + myconf="${myconf} + --with-suexec-bin=/usr/sbin/suexec2 \ + --enable-suexec=${modtype}" + fi + + # common confopts + myconf="${myconf} \ + --cache-file=${S}/config.cache \ + --with-perl=/usr/bin/perl \ + --with-expat=/usr \ + --with-z=/usr \ + --with-port=80 \ + --enable-layout=Gentoo \ + --with-program-name=apache2 \ + --host=${CHOST} ${MY_BUILTINS} \ + --with-apr=/usr \ + --with-apr-util=/usr \ + --with-pcre=/usr " + + # debugging support + if useq debug ; then + myconf="${myconf} --enable-maintainer-mode" + fi + + ./configure --with-mpm=${mpm} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log" + + sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h + + emake || die "problem compiling apache2" + +} + +src_install () { + + #### DEFAULT SETUP & INSTALL + + # general install + einfo "Beginning install phase" + make DESTDIR=${D} install || die + + #### CLEAN-UP + rm -rf ${D}/etc + rm ${D}/usr/sbin/envvars* + rm ${D}/usr/sbin/apachectl + + #### CONFIGURATION + einfo "Setting up configuration" + insinto /etc/apache2 + + # restore the magic file + doins docs/conf/magic + + + # This is a mapping of module names to the -D option in APACHE2_OPTS + # Used for creating optional LoadModule lines + mod_defines="info:INFO status:INFO + ldap:LDAP authnz-ldap:AUTH_LDAP + proxy:PROXY proxy_connect:PROXY proxy_http:PROXY + ssl:SSL + suexec:SUEXEC + userdir:USERDIR" + + # create our LoadModule lines + if ! useq static-modules; then + load_module='' + moddir="${D}/usr/$(get_libdir)/apache2/modules" + for m in ${mods}; do + endid="no" + + if [ -e "${moddir}/mod_${m}.so" ]; then + for def in ${mod_defines}; do + if [ "${m}" == "${def%:*}" ]; then + load_module="${load_module}\n<IfDefine ${def#*:}>" + endid="yes" + fi + done + load_module="${load_module}\nLoadModule ${m}_module modules/mod_${m}.so" + if [ "${endid}" == "yes" ]; then + load_module="${load_module}\n</IfDefine>" + fi + fi + done + fi + sed -i -e "s:%%LOAD_MODULE%%:${load_module}:" \ + ${GENTOO_PATCHDIR}/conf/httpd.conf || die "sed failed" + + # install our configuration + doins -r ${GENTOO_PATCHDIR}/conf/* + + insinto /etc/logrotate.d + newins ${GENTOO_PATCHDIR}/scripts/apache2-logrotate apache2 + + # generate a sane default APACHE2_OPTS + APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE" + useq doc && APACHE2_OPTS="${APACHE2_OPTS} -D MANUAL" + useq ssl && APACHE2_OPTS="${APACHE2_OPTS} -D SSL -D SSL_DEFAULT_VHOST" + useq no-suexec || APACHE2_OPTS="${APACHE2_OPTS} -D SUEXEC" + + sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" \ + ${GENTOO_PATCHDIR}/init/apache2.confd \ + || die "sed failed" + + mv ${D}/etc/apache2/apache2-builtin-mods ${D}/etc/apache2/apache2-builtin-mods-2.2 + + newconfd ${GENTOO_PATCHDIR}/init/apache2.confd apache2 + newinitd ${GENTOO_PATCHDIR}/init/apache2.initd apache2 + + + #### HELPER SCRIPTS + einfo "Installing helper scripts" + exeinto /usr/sbin + for i in apache2logserverstatus apache2splitlogfile suexec2-config; do + doexe ${GENTOO_PATCHDIR}/scripts/${i} + done + useq ssl && doexe ${GENTOO_PATCHDIR}/scripts/gentestcrt.sh + + for i in logresolve.pl split-logfile log_server_status; do + doexe support/${i} + done + + # needed for suexec2-config + insinto /usr/$(get_libdir)/apache2/build + doins ${GENTOO_PATCHDIR}/scripts/Makefile.suexec + doins support/suexec.c + + + #### SLOTTING + einfo "Applying SLOT=2" + cd ${D} + + # sbin binaries + slotmv="apxs htpasswd htdigest rotatelogs logresolve log_server_status + ab checkgid dbmmanage split-logfile suexec" + for i in ${slotmv}; do + mv usr/sbin/${i} usr/sbin/${i}2 + done + mv usr/sbin/logresolve.pl usr/sbin/logresolve2.pl + + # man.1 + for i in dbmmanage htdigest htpasswd; do + mv usr/share/man/man1/${i}.1 usr/share/man/man1/${i}2.1 + done + + # man.8 + for i in ab apxs logresolve rotatelogs suexec; do + mv usr/share/man/man8/${i}.8 usr/share/man/man8/${i}2.8 + done + + mv usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8 + mv usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.8 + + + + #### DOCS + # basic info + einfo "Installing docs" + cd ${S} + dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING + + # drop in a convenient link to the manual + if useq doc; then + sed -i -e "s:VERSION:${PVR}:" ${D}/etc/apache2/modules.d/00_apache_manual.conf + else + einfo "USE=-docs :: Removing Manual" + rm ${D}/etc/apache2/modules.d/00_apache_manual.conf + rm -rf ${D}/usr/share/doc/${PF}/manual + fi + + # the default webroot gets stored in /usr/share/doc + einfo "Installing default webroot to /usr/share/doc/${PF}" + mv ${D}/var/www/localhost ${D}/usr/share/doc/${PF}/webroot + + + #### PERMISSONS + einfo "Applying permissions" + + + # protect the suexec binary + if ! useq no-suexec; then + fowners root:apache /usr/sbin/suexec2 + fperms 4710 /usr/sbin/suexec2 + fi + + keepdir /etc/apache2/vhosts.d + keepdir /etc/apache2/modules.d + + # empty dirs + for i in /var/lib/dav /var/log/apache2 /var/cache/apache2; do + keepdir ${i} + fowners apache:apache ${i} + fperms 755 ${i} + done + + # We'll be needing /etc/apache2/ssl if USE=ssl + useq ssl && keepdir /etc/apache2/ssl + + fperms 755 /usr/sbin/apache2logserverstatus + fperms 755 /usr/sbin/apache2splitlogfile + +} + +pkg_postinst() { + # Automatically generate test ceritificates if ssl USE flag is being set + if useq ssl -a !-e ${ROOT}/etc/apache2/ssl/server.crt; then + cd ${ROOT}/etc/apache2/ssl + einfo + einfo "Generating self-signed test certificate in /etc/apache2/ssl..." + yes "" 2>/dev/null | \ + ${ROOT}/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \ + die "gentestcrt.sh failed" + einfo + fi + + # we do this here because the default webroot is a copy of the files + # that exist elsewhere and we don't want them managed/removed by portage + # when apache is upgraded. + if [ -e "${ROOT}/var/www/localhost" ]; then + einfo "The default webroot has not been installed into" + einfo "${ROOT}/var/www/localhost because the directory already exists" + einfo "and we do not want to overwrite any files you have put there." + einfo + einfo "If you would like to install the latest webroot, please run" + einfo "emerge --config =${PF}" + else + einfo "Installing default webroot to ${ROOT}/var/www/localhost" + cp -r ${ROOT}/usr/share/doc/${PF}/webroot/* ${ROOT}/var/www/localhost + chown -R apache: ${ROOT}/var/www/localhost + fi + + # Check for dual/upgrade install + # The hasq is a hack so we don't throw QA warnings for not putting + # apache2 in IUSE - the only use of the flag is this warning + if has_version '=net-www/apache-1*' || ! hasq apache2 ${USE}; then + ewarn + ewarn "Please add the 'apache2' flag to your USE variable and (re)install" + ewarn "any additional DSO modules you may wish to use with Apache-2.x." + ewarn "Addon modules are configured in /etc/apache2/modules.d/" + ewarn + fi + + + if has_version '<net-www/apache-2.2.0'; then + einfo + einfo "When upgrading from versions below 2.2.0 to this version, you" + einfo "need to rebuild all your modules. Please do so for your modules" + einfo "to continue working correctly." + einfo + einfo "Also note that some configuration directives have been" + einfo "split into thier own files under /etc/apache2/modules.d" + einfo + einfo "For more information on what you may need to change, please" + einfo "see the overview of changes at:" + einfo "http://httpd.apache.org/docs/2.2/new_features_2_2.html" + einfo + fi + +} + + +pkg_config() { + + einfo "Installing default webroot to ${ROOT}/var/www/localhost" + cp -r ${ROOT}/usr/share/doc/${PF}/webroot/* ${ROOT}/var/www/localhost + chown -R apache: ${ROOT}/var/www/localhost + +} + + + + + +parse_modules_config() { + local name="" + local disable="" + local version="undef" + MY_BUILTINS="" + mods="" + [ -f "${1}" ] || return 1 + + for i in $(sed 's/#.*//' < $1); do + + if [ "$i" == "VERSION:" ]; then + version="select" + elif [ "${version}" == "select" ]; then + version=$i + # start with - option for backwards compatibility only + elif [ "$i" == "-" ]; then + disable="true" + elif [ -z "${name}" ] && [ "$i" != "${i/mod_/}" ]; then + name="${i/mod_/}" + elif [ -n "${disable}" ] || [ "$i" == "disabled" ]; then + MY_BUILTINS="${MY_BUILTINS} --disable-${name}" + name="" ; disable="" + elif [ "$i" == "static" ] || useq static-modules; then + MY_BUILTINS="${MY_BUILTINS} --enable-${name}=yes" + name="" ; disable="" + elif [ "$i" == "shared" ]; then + MY_BUILTINS="${MY_BUILTINS} --enable-${name}=shared" + mods="${mods} ${name}" + name="" ; disable="" + else + ewarn "Parse error in ${1} - unknown option: $i"; + fi + done + + # reject the file if it's unversioned or doesn't match our + # package major.minor. This is to make upgrading work smoothly. + if [ "${version}" != "${PV%.*}" ]; then + mods="" + MY_BUILTINS="" + return 1 + fi + + einfo "Using ${1}" + einfo "options: ${MY_BUILTINS}" + einfo "LoadModules: ${mods}" +} + +select_modules_config() { + parse_modules_config /etc/apache2/apache2-builtin-mods-2.2 || \ + parse_modules_config ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods || \ + return 1 +} + +# vim:ts=4 diff --git a/net-www/apache/files/digest-apache-1.3.34-r14 b/net-www/apache/files/digest-apache-1.3.34-r14 new file mode 100644 index 000000000000..e0706667948a --- /dev/null +++ b/net-www/apache/files/digest-apache-1.3.34-r14 @@ -0,0 +1,12 @@ +MD5 9978cc552b423f0015c1052d23ab619e apache_1.3.34.tar.gz 2468056 +RMD160 e39dfc57b7f9164aa76641de3fa74f0314c9ec9e apache_1.3.34.tar.gz 2468056 +SHA256 ceed243f4f98e4323b48e5f7f80e306d1abb00c592e18de5575983db42d6f8d4 apache_1.3.34.tar.gz 2468056 +MD5 3d78704e3f95fe59bf0e0ac1060444fd gentoo-apache-1.3.34-r14-20060726.tar.bz2 28001 +RMD160 955a0ba00287db8859ce03ba6ccfdc2cfaa3bd12 gentoo-apache-1.3.34-r14-20060726.tar.bz2 28001 +SHA256 808e88b32d9ee7181d1cb789f24da21ccd059c8789eff9989bd92826fe826149 gentoo-apache-1.3.34-r14-20060726.tar.bz2 28001 +MD5 6401015bafad4f44fdf8a9a1795d9258 lingerd-0.94.tar.gz 33938 +RMD160 2d7363b763a68c0c7acdadc23779929f4d02153f lingerd-0.94.tar.gz 33938 +SHA256 632030f9c1b9e8f817ee19bad74988f3dce7f6ec617677ad5a522e8d491382a0 lingerd-0.94.tar.gz 33938 +MD5 1ef2a6cb47573444779b2fd10502514b mod_ssl-2.8.25-1.3.34.tar.gz 820352 +RMD160 90a3913d30c7f4d194907463125c90101005837a mod_ssl-2.8.25-1.3.34.tar.gz 820352 +SHA256 832b240157666efdbdfc1a2fd593ee4eebbc9441ec48ece8276660092b974d07 mod_ssl-2.8.25-1.3.34.tar.gz 820352 diff --git a/net-www/apache/files/digest-apache-2.0.58-r2 b/net-www/apache/files/digest-apache-2.0.58-r2 new file mode 100644 index 000000000000..66dad7a8187d --- /dev/null +++ b/net-www/apache/files/digest-apache-2.0.58-r2 @@ -0,0 +1,6 @@ +MD5 37fca7f4496cb8e7304f52e9e998ce3f gentoo-apache-2.0.58-r2-20060726.tar.bz2 58758 +RMD160 46c6da577db444a6553b60d3ae30c61ae3b741fa gentoo-apache-2.0.58-r2-20060726.tar.bz2 58758 +SHA256 b8e0356e87fdd7b55fcecbee804c9a41525b3e6fe8309f87f2509abd161c8e6b gentoo-apache-2.0.58-r2-20060726.tar.bz2 58758 +MD5 ac732a8b3ec5760baa582888f5dbad66 httpd-2.0.58.tar.bz2 4704318 +RMD160 2ff44b2254552db908f1defd09e3142527f9bf83 httpd-2.0.58.tar.bz2 4704318 +SHA256 4f746715c408f4cac48099ea72560c50ef190568dfcfa8e0762bae66c0398029 httpd-2.0.58.tar.bz2 4704318 diff --git a/net-www/apache/files/digest-apache-2.2.2-r1 b/net-www/apache/files/digest-apache-2.2.2-r1 new file mode 100644 index 000000000000..7a54350e04f4 --- /dev/null +++ b/net-www/apache/files/digest-apache-2.2.2-r1 @@ -0,0 +1,6 @@ +MD5 47d4ec48c2742ab605dc6fc1ab7f3575 gentoo-apache-2.2.2-r1-20060726.tar.bz2 51572 +RMD160 247f5766d7875f6f3a9c8b64170fa8354b33b661 gentoo-apache-2.2.2-r1-20060726.tar.bz2 51572 +SHA256 17e23002ac5fb31f07a02577bf78e9d5ea7fb6d8317743591baf68abefb37ab0 gentoo-apache-2.2.2-r1-20060726.tar.bz2 51572 +MD5 9c759a9744436de6a6aa2ddbc49d6e81 httpd-2.2.2.tar.bz2 4851887 +RMD160 618e8365fe790f5fef8c329dc294be373d19acf2 httpd-2.2.2.tar.bz2 4851887 +SHA256 51f8e00ca27ba4d4259daeff30ce6efcdcf086d277ffb7130e215b492a6f77cc httpd-2.2.2.tar.bz2 4851887 |