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

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

  ViewVC Help
Powered by ViewVC 1.1.20