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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.20