Contents of /branches/magellan-next/include/apache2-module.sminc
Parent Directory | Revision Log
Revision 6654 -
(show annotations)
(download)
Tue Sep 14 16:46:32 2010 UTC (14 years, 2 months ago) by niro
File size: 3292 byte(s)
Tue Sep 14 16:46:32 2010 UTC (14 years, 2 months ago) by niro
File size: 3292 byte(s)
imported from trunk
1 | # build apache2 modules |
2 | |
3 | sminclude mtools |
4 | |
5 | # some sane default dependencies and values |
6 | : ${PCATEGORIE="net-www"} |
7 | : ${DEPEND=">= net-www/apache2-2"} |
8 | |
9 | # default SRCFILE SRCDIR and SRC_URI |
10 | : ${SRCFILE="${PNAME/#apache2-/}-${PVER}.tar.bz2"} |
11 | : ${SRCDIR="${BUILDDIR}/${PNAME/#apache2-/}-${PVER}"} |
12 | : ${SRC_URI=( mirror://${PNAME}/${SRCFILE} )} |
13 | |
14 | # module name |
15 | : ${APACHE_MOD="${PNAME/#apache2-/}"} |
16 | |
17 | # default configure opts |
18 | : ${APACHE_CONF_OPTS=""} |
19 | : ${APACHE_MAKE_OPTS=""} |
20 | |
21 | # export postinstall function |
22 | SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} apache2_modules_postinstall" |
23 | SPECIAL_VARS="${SPECIAL_VARS} APACHE_MOD" |
24 | |
25 | apache2_modules_src_prepare() |
26 | { |
27 | munpack ${SRCFILE} || die |
28 | } |
29 | |
30 | apache2_modules_src_compile() |
31 | { |
32 | cd ${SRCDIR} |
33 | |
34 | # check for a configure script |
35 | if [[ -x configure ]] |
36 | then |
37 | mconfigure ${APACHE_CONF_OPTS} || die |
38 | fi |
39 | |
40 | # check for a makefile |
41 | if [[ -f Makefile ]] |
42 | then |
43 | mmake ${APACHE_MAKE_OPTS} || die |
44 | |
45 | # non found? then use apxs to compile the module |
46 | elif [[ -f ${APACHE_MOD}.c ]] |
47 | then |
48 | apxs -c ${APACHE_MOD}.c || die |
49 | else |
50 | die "No appropriate compile method found!" |
51 | fi |
52 | } |
53 | |
54 | apache2_modules_so_install() |
55 | { |
56 | # get modules directory |
57 | local APACHE_MOD_DIR="$(apxs -q LIBEXECDIR)" |
58 | minstalldir ${APACHE_MOD_DIR} || die |
59 | |
60 | # first check ${SRCDIR}/.lib dir for the compiled module |
61 | if [[ -f .libs/${APACHE_MOD}.so ]] |
62 | then |
63 | minstallexec .libs/${APACHE_MOD}.so ${APACHE_MOD_DIR} || die |
64 | |
65 | # if not exist check ${SRCDIR} |
66 | elif [[ -f ${APACHE_MOD}.so ]] |
67 | then |
68 | minstallexec ${APACHE_MOD}.so ${APACHE_MOD_DIR} || die |
69 | else |
70 | die "No compiled module '${APACHE_MOD}.so' found" |
71 | fi |
72 | } |
73 | |
74 | apache2_modules_conf_install() |
75 | { |
76 | # install loader config if a special one exist |
77 | local APACHE_SYSCONFDIR="$(apxs -q SYSCONFDIR)" |
78 | if [[ -f ${SOURCESDIR}/${PNAME}/${APACHE_MOD}.conf ]] |
79 | then |
80 | minstalldir ${APACHE_SYSCONFDIR}/modules.d |
81 | minstallfile -s ${APACHE_MOD}.conf ${APACHE_SYSCONFDIR}/modules.d || die |
82 | |
83 | # if not then generate one automatically |
84 | else |
85 | echo "<IfModule !${APACHE_MOD}.c>" > ${APACHE_MOD}.conf |
86 | echo " LoadModule ${APACHE_MOD/mod_/}_module modules/${APACHE_MOD}.so" >> ${APACHE_MOD}.conf |
87 | echo "</IfModule>" >> ${APACHE_MOD}.conf |
88 | |
89 | minstalldir ${APACHE_SYSCONFDIR}/modules.d |
90 | minstallfile ${APACHE_MOD}.conf ${APACHE_SYSCONFDIR}/modules.d || die |
91 | fi |
92 | } |
93 | |
94 | apache2_modules_src_install() |
95 | { |
96 | cd ${SRCDIR} |
97 | |
98 | # check for a makefile installation |
99 | if [[ -f Makefile ]] |
100 | then |
101 | mmake DESTDIR=${BINDIR} install || die |
102 | else |
103 | # install .so module |
104 | apache2_modules_so_install || die |
105 | fi |
106 | |
107 | # install modules config file |
108 | apache2_modules_conf_install |
109 | |
110 | local i |
111 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
112 | FAQ LICENSE NEWS README TODO |
113 | do |
114 | if [ -f ${SRCDIR}/${i} ] |
115 | then |
116 | minstalldocs ${i} || die |
117 | fi |
118 | done |
119 | |
120 | # do not use extended test constructs here [[ ]] because of the * |
121 | if [ -f *.html ] |
122 | then |
123 | minstallhtml *.html || die |
124 | fi |
125 | } |
126 | |
127 | apache2_modules_postinstall() |
128 | { |
129 | local APACHE_SYSCONFDIR="$(apxs -q SYSCONFDIR)" |
130 | |
131 | echo |
132 | echo "To use the '${APACHE_MOD}' module, you need to enable it in your apache config." |
133 | echo "Just add a line like:" |
134 | echo " 'Include ${APACHE_SYSCONFDIR}/modules.d/${APACHE_MOD}.conf'" |
135 | echo "to your httpd config file ${APACHE_SYSCONFDIR}/httpd.conf." |
136 | echo |
137 | } |
138 | |
139 | export_inherits apache2_modules src_prepare src_compile src_install postinstall |