/[gentoo-x86]/eclass/depend.apache.eclass
Gentoo

Diff of /eclass/depend.apache.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.16
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 2004-2005 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License, v2 or later
3# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.2 2004/07/16 11:22:57 stuart Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.16 2005/07/06 20:20:03 agriffis Exp $
4INHERITED="$INHERITED $ECLASS"
4 5
5ECLASS="depend.apache" 6######
6INHERITED="$INHERITED $ECLASS" 7## Apache Common Variables
7IUSE="apache apache2" 8##
9## These are internal variables used by this, and other apache-related eclasses,
10## and thus should not need to be used by the ebuilds themselves (the ebuilds
11## should know what version of Apache they are building against).
12######
8 13
9DEPEND="$DEPEND apache? ( =net-www/apache-1* ) apache2? ( =net-www/apache-2* )" 14####
15## APACHE_VERSION
16##
17## Stores the version of apache we are going to be ebuilding. This variable is
18## set by the need_apache{|1|2} functions.
19##
20## This needs to stay as '1' until apache2 is on by default -- although it
21## doesn't matter much as it's set by the need_apache functions.
22####
23APACHE_VERSION='1'
10 24
11# call this function to work out which version of the apache web server 25####
12# your ebuild should be installing itself to use 26## APXS1, APXS2
27##
28## Paths to the apxs tools
29####
30APXS1="/usr/sbin/apxs"
31APXS2="/usr/sbin/apxs2"
13 32
14detect_apache_useflags() { 33####
15 USE_APACHE1= 34## APACHECTL1, APACHECTL2
16 USE_APACHE2= 35##
17 USE_APACHE_MULTIPLE= 36## Paths to the apachectl tools
37####
38APACHECTL1="/usr/sbin/apachectl"
39APACHECTL2="/usr/sbin/apache2ctl"
18 40
19 useq apache2 && USE_APACHE2=1 41####
20 useq apache && USE_APACHE1=1 42## APACHE1_BASEDIR, APACHE2_BASEDIR
43##
44## Paths to the server root directories
45####
46APACHE1_BASEDIR="/usr/lib/apache"
47APACHE2_BASEDIR="/usr/lib/apache2"
21 48
22 [ -n "$USE_APACHE1" ] && [ -n "$USE_APACHE2" ] && USE_APACHE_MULTIPLE=1 49####
50## APACHE1_CONFDIR, APACHE2_CONFDIR
51##
52## Paths to the configuration file directories (usually under
53## $APACHE?_BASEDIR/conf)
54####
55APACHE1_CONFDIR="/etc/apache"
56APACHE2_CONFDIR="/etc/apache2"
57
58####
59## APACHE1_MODULES_CONFDIR, APACHE2_MODULES_CONFDIR
60##
61## Paths where module configuration files are kept
62####
63APACHE1_MODULES_CONFDIR="${APACHE1_CONFDIR}/modules.d"
64APACHE2_MODULES_CONFDIR="${APACHE2_CONFDIR}/modules.d"
65
66####
67## APACHE1_MODULES_VHOSTDIR, APACHE2_MODULES_VHOSTDIR
68##
69## Paths where virtual host configuration files are kept
70####
71APACHE1_VHOSTDIR="${APACHE1_CONFDIR}/vhosts.d"
72APACHE2_VHOSTDIR="${APACHE2_CONFDIR}/vhosts.d"
73
74####
75## APACHE1_MODULESDIR, APACHE2_MODULESDIR
76##
77## Paths where we install modules
78####
79APACHE1_MODULESDIR="${APACHE1_BASEDIR}/modules"
80APACHE2_MODULESDIR="${APACHE2_BASEDIR}/modules"
81
82####
83## APACHE1_DEPEND, APACHE2_DEPEND
84##
85## Dependencies for apache 1.x and apache 2.x
86## - apache2 must be at least version 2.0.52-r3, this is lowest version
87## containing our new overall changes -- trapni (Jan 21 2005)
88## - apache1 must be at least version 1.3.33-r1, but how to
89## define the DEPEND here? (FIXME) -- trapni (Jan 21 2005)
90## - currently not possible - bug #4315 -- vericgar (Jan 21 2005)
91####
92APACHE1_DEPEND="=net-www/apache-1*"
93APACHE2_DEPEND=">=net-www/apache-2.0.54-r10"
94
95
96####
97## APACHE_DEPEND
98##
99## Dependency magic based on useflags to use the right DEPEND
100####
101
102APACHE_DEPEND="apache2? ( ${APACHE2_DEPEND} ) !apache2? ( ${APACHE1_DEPEND} )"
103
104####
105## need_apache1
106##
107## An ebuild calls this to get the dependency information
108## for apache-1.x. An ebuild should use this in order for
109## future changes to the build infrastructure to happen
110## seamlessly. All an ebuild needs to do is include the
111## line need_apache1 somewhere.
112####
113need_apache1() {
114 debug-print-function need_apache1
115
116 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
117 RDEPEND="${RDEPEND} ${APACHE1_DEPEND}"
118 APACHE_VERSION='1'
23} 119}
24 120
25detect_apache_installed() { 121####
26 HAS_APACHE1= 122## need_apache2
27 HAS_APACHE2= 123##
28 HAS_APACHE_MULTIPLE= 124## An ebuild calls this to get the dependency information
29 HAS_APACHE_ANY= 125## for apache-2.x. An ebuild should use this in order for
126## future changes to the build infrastructure to happen
127## seamlessly. All an ebuild needs to do is include the
128## line need_apache1 somewhere.
129####
130need_apache2() {
131 debug-print-function need_apache2
30 132
31 has_version '=net-www/apache-1*' && HAS_APACHE1=1 && HAS_APACHE_ANY=1 133 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
32 has_version '=net-www/apache-2*' && HAS_APACHE2=1 && HAS_APACHE_ANY=1 134 RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
33 135 APACHE_VERSION='2'
34 [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" && HAVE_APACHE_MULTIPLE=1
35} 136}
36 137
37# call this function from your pkg_setup 138####
139## DO NOT CHANGE THIS FUNCTION UNLESS YOU UNDERSTAND THE CONSEQUENCES IT
140## WILL HAVE ON THE CACHE! There MUST be a apache2? () block in DEPEND for
141## things to work correct in the dependency calculation stage.
142####
143need_apache() {
144 debug-print-function need_apache
38 145
39depend_apache() { 146 IUSE="${IUSE} apache2"
40 detect_apache_installed 147 DEPEND="${DEPEND} ${APACHE_DEPEND}"
41 detect_apache_useflags 148 RDEPEND="${RDEPEND} ${APACHE_DEPEND}"
42 149 if useq apache2; then
43 # deal with the multiple cases first - much easier 150 APACHE_VERSION='2'
44 if [ -n "$USE_APACHE_MULTIPLE" ]; then 151 USE_APACHE2=2
45 echo 152 APXS="$APXS2"
46 eerror "You have both the apache and apache2 USE flags set" 153 APACHECTL="${APACHECTL2}"
47 eerror 154 APACHE_BASEDIR="${APACHE2_BASEDIR}"
48 eerror "Please set only ONE of these USE flags, and try again" 155 APACHE_CONFDIR="${APACHE2_CONFDIR}"
49 echo 156 APACHE_MODULES_CONFDIR="${APACHE2_MODULES_CONFDIR}"
50 die "Multiple Apache USE flags set - you can only have one set at a time" 157 APACHE_VHOSTSDIR="${APACHE2_VHOSTSDIR}"
51 fi 158 APACHE_MODULESDIR="${APACHE2_MODULESDIR}"
52
53 if [ -n "$USE_APACHE2" ] ; then
54 if [ -z "$HAS_APACHE2" -a -n "$HAS_APACHE_ANY" ] ; then
55 echo
56 eerror "You have the 'apache2' USE flag set, but only have Apache v1 installed"
57 eerror "If you really meant to upgrade to Apache v2, please install Apache v2"
58 eerror "before installing $CATEGORY/${PN}-${PVR}"
59 echo
60 die "Automatic upgrade of Apache would be forced; avoiding"
61 else 159 else
62 einfo "Apache 2 support enabled" 160 APACHE_VERSION='1'
63 DETECT_APACHE=2 161 APXS="$APXS1"
64 return 162 USE_APACHE2=
65 fi 163 APACHECTL="${APACHECTL1}"
66 fi 164 APACHE_BASEDIR="${APACHE1_BASEDIR}"
67 165 APACHE_CONFDIR="${APACHE1_CONFDIR}"
68 if [ -n "$USE_APACHE1" ]; then 166 APACHE_MODULES_CONFDIR="${APACHE1_MODULES_CONFDIR}"
69 if [ -z "$HAS_APACHE1" -a -n "$HAS_APACHE_ANY" ]; then 167 APACHE_VHOSTSDIR="${APACHE1_VHOSTSDIR}"
70 echo 168 APACHE_MODULESDIR="${APACHE1_MODULESDIR}"
71 eerror "You have the 'apache' USE flag set, but only have a later version of"
72 eerror "Apache installed on your computer. Please use the 'apache2' USE flag"
73 eerror "or downgrade to Apache v1 before installing $CATEGORY/${PN}-${PVR}"
74 echo
75 die "Avoiding installing older version of Apache"
76 else
77 einfo "Apache 1 support enabled"
78 DETECT_APACHE=1
79 return
80 fi
81 fi 169 fi
82} 170}
83

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.20