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

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.20