/[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.8
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 2004 Gentoo Technologies, Inc.
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# Author Michael Tindal <mtindal@gmail.com>
3# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.1 2004/07/16 10:48:22 stuart Exp $ 4# $Header: /var/cvsroot/gentoo-x86/eclass/depend.apache.eclass,v 1.8 2005/01/21 00:00:53 trapni Exp $
5ECLASS=depend.apache
6INHERITED="$INHERITED $ECLASS"
4 7
5ECLASS="depend.apache" 8######
6INHERITED="$INHERITED $ECLASS" 9## Apache Common Variables
7IUSE="apache apache2" 10##
11## These are internal variables used by this, and other apache-related eclasses,
12## and thus should not need to be used by the ebuilds themselves (the ebuilds
13## should know what version of Apache they are building against).
14######
8 15
9# call this function to work out which version of the apache web server 16####
10# your ebuild should be installing itself to use 17## APACHE_VERSION
18##
19## Stores the version of apache we are going to be ebuilding. This variable is
20## set by the need_apache{|1|2} functions.
21####
22APACHE_VERSION='2'
11 23
12detect_apache_useflags() { 24####
13 USE_APACHE1= 25## APXS1, APXS2
14 USE_APACHE2= 26##
15 USE_APACHE_MULTIPLE= 27## Paths to the apxs tools
28####
29APXS1="/usr/sbin/apxs"
30APXS2="/usr/sbin/apxs2"
16 31
17 useq apache2 && USE_APACHE2=1 32####
18 useq apache && USE_APACHE1=1 33## APACHECTL1, APACHECTL2
34##
35## Paths to the apachectl tools
36####
37APACHECTL1="/usr/sbin/apachectl"
38APACHECTL2="/usr/sbin/apache2ctl"
19 39
20 [ -n "$USE_APACHE1" ] && [ -n "$USE_APACHE2" ] && USE_APACHE_MULTIPLE=1 40####
41## APACHE1_BASEDIR, APACHE2_BASEDIR
42##
43## Paths to the server root directories
44####
45APACHE1_BASEDIR="/usr/lib/apache"
46APACHE2_BASEDIR="/usr/lib/apache2"
47
48####
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"
56
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##
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####
91APACHE1_DEPEND="=net-www/apache-1*"
92APACHE2_DEPEND=">=net-www/apache-2.0.52-r3"
93
94####
95## need_apache1
96##
97## An ebuild calls this to get the dependency information
98## for apache-1.x. An ebuild should use this in order for
99## future changes to the build infrastructure to happen
100## seamlessly. All an ebuild needs to do is include the
101## line need_apache1 somewhere.
102####
103need_apache1() {
104 debug-print-function need_apache1
105
106 DEPEND="${DEPEND} ${APACHE1_DEPEND}"
107 APACHE_VERSION='1'
21} 108}
22 109
23detect_apache_installed() { 110####
24 HAS_APACHE1= 111## need_apache2
25 HAS_APACHE2= 112##
26 HAS_APACHE_MULTIPLE= 113## An ebuild calls this to get the dependency information
27 HAS_APACHE_ANY= 114## for apache-2.x. An ebuild should use this in order for
115## future changes to the build infrastructure to happen
116## seamlessly. All an ebuild needs to do is include the
117## line need_apache1 somewhere.
118####
119need_apache2() {
120 debug-print-function need_apache2
28 121
29 has_version '=net-www/apache-1*' && HAS_APACHE1=1 && HAS_APACHE_ANY=1 122 DEPEND="${DEPEND} ${APACHE2_DEPEND}"
30 has_version '=net-www/apache-2*' && HAS_APACHE2=1 && HAS_APACHE_ANY=1 123 APACHE_VERSION='2'
31
32 [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" && HAVE_APACHE_MULTIPLE=1
33} 124}
34 125
35# call this function from your pkg_setup 126need_apache() {
127 debug-print-function need_apache
36 128
37depend_apache() { 129 IUSE="${IUSE} apache2"
38 detect_apache_installed 130 if useq apache2; then
39 detect_apache_useflags 131 need_apache2
40
41 # deal with the multiple cases first - much easier
42 if [ -n "$USE_APACHE_MULTIPLE" ]; then
43 echo
44 eerror "You have both the apache and apache2 USE flags set"
45 eerror
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 132 else
60 einfo "Apache 2 support enabled" 133 need_apache1
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 134 fi
80} 135}
81 136

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

  ViewVC Help
Powered by ViewVC 1.1.20