1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

root/csw/mgar/pkg/apache2/trunk/Makefile

Revision 18068, 13.9 KB (checked in by bdwalton, 2 days ago)

apache2/trunk: update dependencies to reflect linkage against openssl 1.0!

  • Property svn:keywords set to Id
Line 
1# $Id$
2
3NAME = httpd
4VERSION = 2.2.22
5CATEGORIES = server
6GARTYPE = v2
7
8DESCRIPTION = A high performance HTTP server.
9define BLURB
10  Apache is the world\'s most popular HTTP server, being quite possibly the
11  best around in terms of functionality, efficiency, security and speed.
12endef
13
14# Source location
15MASTER_SITES  = http://www.eu.apache.org/dist/httpd/
16
17# work around dumb checkpkg not recognizing the license file ...
18LICENSE = LICENSE
19
20# Build multiple mpm's and merge them all into one install
21EXTRA_MODULATORS = MPM
22# !!!NOTE, NOTE, NOTE!!! prefork must be last as it's the one where
23# all modules are built.  This affects the default httpd.conf that
24# gets generated.  The other modulations will generate httpd.conf
25# files that lack the important LoadModule lines.  This is primarily
26# useful at version bump time when files/httpd.conf.CSW may need an
27# update to reflect new modules, etc.
28MODULATIONS_MPM = worker prefork
29
30MERGE_SCRIPTS_isa-default-mpm-prefork = copy-all
31MERGE_SCRIPTS_isa-default-mpm-worker = copy-all
32
33# Visitor information
34SPKG_SOURCEURL = http://httpd.apache.org/
35
36DISTFILES  = $(NAME)-$(VERSION).tar.gz
37DISTFILES += config.layout
38# Standard package bits
39DISTFILES += CSWapache2.killproc cswapache2
40
41DISTFILES += CSWapache2.preinstall CSWapache2.postinstall
42DISTFILES += CSWap2worker.postinstall CSWap2worker.postremove
43DISTFILES += CSWap2worker.preinstall
44
45DISTFILES += CSWapache2-dev.cswreleasenotes
46
47# Configuration templates
48DISTFILES += update20to22
49DISTFILES += README.CSW.apache2 README.CSW.ap2_prefork
50DISTFILES += README.CSW.apache2rt
51
52#PATCHFILES += 0001-Apply-a-large-hammer-to-buildconf-to-fix-libtool-set.patch
53PATCHFILES += 0002-Adjust-a-few-usr-local-paths-in-the-man-pages.patch
54PATCHFILES += 0003-Switch-usr-local-for-opt-csw-in-default-cgi-path.patch
55
56# The PACKAGES variable tell GAR which packages to build
57PACKAGES  = CSWapache2 CSWapache2-dev CSWapache2-manual CSWap2suexec
58PACKAGES += CSWap2worker CSWapache2-utils
59# These packages are dummy versions to make dependencies nicer
60# as various things depend on them currently
61PACKAGES += CSWap2prefork CSWapache2rt CSWapache2c
62
63BUILD_DEP_PKGS += CSWlibaprutil-dev
64
65OBSOLETED_BY_CSWapache2-dev = CSWapache2-devel
66
67ARCHALL_CSWapache2-manual = 1
68ARCHALL_CSWap2prefork = 1
69ARCHALL_CSWapache2rt = 1
70ARCHALL_CSWapache2c = 1
71
72CATALOGNAME_CSWapache2 = apache2
73CATALOGNAME_CSWapache2-dev = apache2_dev
74CATALOGNAME_CSWapache2-manual = apache2_manual
75CATALOGNAME_CSWapache2-utils = apache2_utils
76CATALOGNAME_CSWap2suexec = ap2_suexec
77CATALOGNAME_CSWap2prefork = ap2_prefork
78CATALOGNAME_CSWap2worker = ap2_worker
79CATALOGNAME_CSWapache2rt = apache2rt
80
81SPKG_DESC_CSWapache2 = A high performance Unix-based HTTP server.
82SPKG_DESC_CSWapache2-dev = The development files for Apache2.
83SPKG_DESC_CSWapache2-manual = The Apache2 manual files.
84SPKG_DESC_CSWapache2-utils = Utility programs for Apache2.
85SPKG_DESC_CSWap2suexec = The standard suEXEC binary for Apache2.
86SPKG_DESC_CSWap2worker = The apache worker mpm.
87SPKG_DESC_CSWap2prefork = A stub for the old prefork mpm package.
88SPKG_DESC_CSWapache2rt = A stub for the old apache2rt package.
89SPKG_DESC_CSWapache2c = A stub for the old apache2c package.
90
91RUNTIME_DEP_PKGS_CSWapache2       += CSWlibiconv2 CSWosslutils
92RUNTIME_DEP_PKGS_CSWapache2       += CSWliblber2-4-2 CSWlibldap2-4-2
93# the loadable ldap module dynamically opens files in this apr sub-package
94RUNTIME_DEP_PKGS_CSWapache2       += CSWlibaprutil1-ldap
95RUNTIME_DEP_PKGS_CSWapache2       += CSWlibssl1-0-0 CSWlibz1
96RUNTIME_DEP_PKGS_CSWapache2       += CSWbdb48 CSWlibexpat1
97RUNTIME_DEP_PKGS_CSWapache2       += CSWlibaprutil1-0 CSWlibapr1-0
98RUNTIME_DEP_PKGS_CSWapache2       += CSWapache2c CSWperl CSWapache2-utils
99# Note: This is required because apxs uses ap{r,u}-1-config
100RUNTIME_DEP_PKGS_CSWapache2       += CSWlibapr-dev CSWlibaprutil-dev
101# Note: This is included as something in mod_dav uses dlopen to leverage it
102RUNTIME_DEP_PKGS_CSWapache2       += CSWlibaprutil1-dbm-db
103RUNTIME_DEP_PKGS_CSWapache2-manual = CSWapache2
104RUNTIME_DEP_PKGS_CSWapache2-dev  = CSWapache2
105RUNTIME_DEP_PKGS_CSWapache2-utils += CSWlibaprutil1-0
106RUNTIME_DEP_PKGS_CSWapache2-utils += CSWlibapr1-0
107RUNTIME_DEP_PKGS_CSWapache2-utils += CSWlibiconv2
108RUNTIME_DEP_PKGS_CSWapache2-utils += CSWlibexpat1
109RUNTIME_DEP_PKGS_CSWapache2-utils += CSWbdb48
110RUNTIME_DEP_PKGS_CSWapache2-utils += CSWlibssl1-0-0
111RUNTIME_DEP_PKGS_CSWapache2-utils += CSWperl
112RUNTIME_DEP_PKGS_CSWap2suexec      = CSWapache2
113RUNTIME_DEP_PKGS_CSWap2prefork     = CSWapache2 CSWapache2c
114RUNTIME_DEP_PKGS_CSWap2worker      = CSWapache2 CSWap2prefork
115RUNTIME_DEP_PKGS_CSWap2worker     += CSWlibapr1-0 CSWlibaprutil1-0
116RUNTIME_DEP_PKGS_CSWap2worker     += CSWlibexpat1
117RUNTIME_DEP_PKGS_CSWap2worker     += CSWbdb48 CSWlibiconv2 CSWapache2c
118RUNTIME_DEP_PKGS_CSWapache2rt      = CSWapache2
119
120CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWosslutils
121CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWapache2c
122CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWperl
123CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWapache2-utils
124CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWlibapr-dev
125CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWlibaprutil-dev
126CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWlibaprutil1-dbm-db
127CHECKPKG_OVERRIDES_CSWapache2 += surplus-dependency|CSWlibaprutil1-ldap
128CHECKPKG_OVERRIDES_CSWapache2-utils += surplus-dependency|CSWperl
129CHECKPKG_OVERRIDES_CSWapache2-utils += missing-dependency|CSWapache2
130CHECKPKG_OVERRIDES_CSWap2prefork += surplus-dependency|CSWapache2
131CHECKPKG_OVERRIDES_CSWap2prefork += surplus-dependency|CSWapache2c
132CHECKPKG_OVERRIDES_CSWap2worker += surplus-dependency|CSWap2prefork
133CHECKPKG_OVERRIDES_CSWap2worker += surplus-dependency|CSWapache2c
134CHECKPKG_OVERRIDES_CSWapache2rt += surplus-dependency|CSWapache2
135
136CHECKPKG_OVERRIDES_CSWapache2-dev += file-with-bad-content|/usr/local|root/opt/csw/apache2/include/httpd.h
137
138# these will eventually go away...
139CHECKPKG_OVERRIDES_CSWap2suexec += catalogname-does-not-match-pkgname|pkgname=CSWap2suexec|catalogname=ap2_suexec|expected-catalogname=ap2suexec
140CHECKPKG_OVERRIDES_CSWap2worker += catalogname-does-not-match-pkgname|pkgname=CSWap2worker|catalogname=ap2_worker|expected-catalogname=ap2worker
141CHECKPKG_OVERRIDES_CSWap2prefork += catalogname-does-not-match-pkgname|pkgname=CSWap2prefork|catalogname=ap2_prefork|expected-catalogname=ap2prefork
142
143
144# We need this to get bdb48/lib into the runpath
145EXTRA_LIB = $(prefix)/bdb48/lib
146
147# The SMF support: you don't need to specify cswinitsmf any more.  You need to
148# make sure the the /etc/opt/csw/init.d/cswapache file gets installed during
149# the post-install stage, and add "INITSMF = /etc/opt/csw/init.d/cswapache" to
150# the Makefile.
151INITSMF = /etc/opt/csw/init.d/cswapache2
152
153POSTMSG = /opt/csw/share/doc/apache2/README.CSW
154
155AP2_MODS = 1
156AP2_MODFILES = *suexec*\.so
157
158ALTERNATIVES_CSWapache2 = prefork
159ALTERNATIVES_CSWap2worker = worker
160ALTERNATIVE_prefork = /opt/csw/apache2/sbin/httpd httpd /opt/csw/apache2/sbin/httpd.prefork 50
161ALTERNATIVE_worker = /opt/csw/apache2/sbin/httpd httpd /opt/csw/apache2/sbin/httpd.worker 100
162
163# Build Configuration
164CONFIGURE_ARGS += --with-apr=$(prefix)/bin/apr-1-config
165CONFIGURE_ARGS += --with-apr-util=$(prefix)/bin/apu-1-config
166CONFIGURE_ARGS += --with-mpm=$(MPM)
167CONFIGURE_ARGS += --disable-static
168CONFIGURE_ARGS += --enable-layout=csw
169CONFIGURE_ARGS += --enable-rule=SSL_EXPERIMENTAL
170CONFIGURE_ARGS += --enable-ssl
171CONFIGURE_ARGS += --with-z=$(prefix)
172CONFIGURE_ARGS += --with-ssl=$(prefix)
173
174ifneq ($(MPM),prefork)
175CONFIGURE_ARGS += --enable-modules=none
176CONFIGURE_ARGS += --disable-actions
177CONFIGURE_ARGS += --disable-alias
178CONFIGURE_ARGS += --disable-authn-file
179CONFIGURE_ARGS += --disable-authn-default
180CONFIGURE_ARGS += --disable-authz-host
181CONFIGURE_ARGS += --disable-authz-user
182CONFIGURE_ARGS += --disable-authz-groupfile
183CONFIGURE_ARGS += --disable-authz-default
184CONFIGURE_ARGS += --disable-auth-basic
185CONFIGURE_ARGS += --disable-asis
186CONFIGURE_ARGS += --disable-auth
187CONFIGURE_ARGS += --disable-autoindex
188CONFIGURE_ARGS += --disable-cgi
189CONFIGURE_ARGS += --disable-cgid
190CONFIGURE_ARGS += --disable-charset-lite
191CONFIGURE_ARGS += --disable-dir
192CONFIGURE_ARGS += --disable-env
193CONFIGURE_ARGS += --disable-filter
194CONFIGURE_ARGS += --disable-imap
195CONFIGURE_ARGS += --disable-include
196CONFIGURE_ARGS += --disable-log-config
197CONFIGURE_ARGS += --disable-mime
198CONFIGURE_ARGS += --disable-negotiation
199CONFIGURE_ARGS += --disable-setenvif
200CONFIGURE_ARGS += --disable-ssl
201CONFIGURE_ARGS += --disable-status
202CONFIGURE_ARGS += --disable-userdir
203CONFIGURE_ARGS += --disable-version
204else
205CONFIGURE_ARGS += --enable-suexec
206CONFIGURE_ARGS += --with-suexec-caller=nobody
207CONFIGURE_ARGS += --with-suexec-docroot=$(prefix)/apache2/share/htdocs
208CONFIGURE_ARGS += --with-suexec-userdir=public_html
209CONFIGURE_ARGS += --with-suexec-uidmin=100
210CONFIGURE_ARGS += --with-suexec-gidmin=100
211CONFIGURE_ARGS += --with-suexec-logfile=$(prefix)/apache2/var/log/suexec_log
212CONFIGURE_ARGS += --with-suexec-bin=$(prefix)/apache2/sbin/suexec
213CONFIGURE_ARGS += --with-suexec-safepath=/opt/csw/bin:/usr/bin:/bin
214CONFIGURE_ARGS += --enable-authn-alias
215CONFIGURE_ARGS += --enable-authnz-ldap
216CONFIGURE_ARGS += --enable-file-cache
217CONFIGURE_ARGS += --enable-cache
218CONFIGURE_ARGS += --enable-disk-cache
219CONFIGURE_ARGS += --enable-mem-cache
220CONFIGURE_ARGS += --enable-bucketeer
221CONFIGURE_ARGS += --enable-charset-lite
222CONFIGURE_ARGS += --enable-ldap
223CONFIGURE_ARGS += --enable-log-forensic
224CONFIGURE_ARGS += --enable-usertrack
225CONFIGURE_ARGS += --enable-unique-id
226CONFIGURE_ARGS += --enable-version
227CONFIGURE_ARGS += --enable-proxy
228CONFIGURE_ARGS += --enable-proxy-connect
229CONFIGURE_ARGS += --enable-proxy-ftp
230CONFIGURE_ARGS += --enable-proxy-http
231CONFIGURE_ARGS += --enable-proxy-ajp
232CONFIGURE_ARGS += --enable-proxy-balancer
233CONFIGURE_ARGS += --enable-cgid
234CONFIGURE_ARGS += --enable-dav-lock
235CONFIGURE_ARGS += --enable-mods-shared=all
236endif
237
238# Fixup target variables
239APACHE_ROOT   = $(DESTDIR)$(prefix)/apache2
240LIBTOOL_LADIR = $(APACHE_ROOT)/lib
241STRIP_DIRS    = $(APACHE_ROOT)/sbin $(APACHE_ROOT)/libexec
242
243PKGFILES_CSWapache2-utils = .*sbin/ab .*sbin/dbmmanage .*sbin/htdbm
244PKGFILES_CSWapache2-utils += .*sbin/htdigest .*sbin/htpasswd .*sbin/logresolve
245PKGFILES_CSWapache2-utils += .*sbin/htcacheclean .*sbin/rotatelogs
246PKGFILES_CSWapache2-utils += .*sbin/checkgid
247PKGFILES_CSWapache2-utils += .*man8/ab.8 .*man1/dbmmanage.1 .*man1/htdbm.1
248PKGFILES_CSWapache2-utils += .*man1/htdigest.1 .*man1/htpasswd.1
249PKGFILES_CSWapache2-utils += .*man8/logresolve.8
250PKGFILES_CSWapache2-utils += .*man8/htcacheclean .*man8/rotatelogs
251PKGFILES_CSWap2suexec = .*sbin/suexec .*libexec/.*suexec.* .*/man/.*suexec.*
252PKGFILES_CSWap2suexec += .*ap2mod/suexec
253PKGFILES_CSWapache2-dev = .*include/.* .*\.(a|la)
254PKGFILES_CSWapache2-manual = .*share/.*manual.* .*etc/extra/httpd-manual.conf
255PKGFILES_CSWap2prefork = .*share/doc/ap2_prefork.*
256PKGFILES_CSWap2worker = .*share/doc/ap2_worker.* .*sbin/httpd.worker
257PKGFILES_CSWapache2rt = .*share/doc/apache2rt.*
258PKGFILES_CSWapache2c = .*share/doc/apache2c.*
259
260#PROTOTYPE_FILTER  = awk '$$$$3 == "/opt/csw/apache2/sbin/suexec" { $$$$4 = "4755" }; $$$$3 ~ /cswap2mod/ { $$$$4 = "0555" }; { print }'
261
262TEST_TARGET = test
263
264include gar/category.mk
265
266CFLAGS := -DSSL_EXPERIMENTAL -DSSL_ENGINE $(CFLAGS)
267
268FIXCONFIG_DIRS     = $(DESTDIR)
269FIXCONFIG_RMPATHS  = $(DESTDIR)
270
271pre-configure-modulated:
272        (cd $(WORKDIR)/$(NAME)-$(VERSION); ./buildconf)
273        @gsed -e s,INSTALL_PREFIX,$(prefix)/apache2,g \
274                $(WORKDIR)/config.layout > $(WORKDIR)/$(NAME)-$(VERSION)/config.layout
275        @$(MAKECOOKIE)
276
277
278post-install-modulated: rename-httpd copy-local-files create-templates copy-readmes
279
280copy-readmes:
281        @(cd $(WORKDIR); for f in README.CSW*; do \
282                p=`echo $$f | sed 's/README.CSW.//'`; \
283                ginstall -d -m0755 $(DESTDIR)/$(prefix)/share/doc/$$p; \
284                ginstall -m 0644 $$f $(DESTDIR)/$(prefix)/share/doc/$$p/README.CSW; \
285        done)
286        @$(MAKECOOKIE)
287
288rename-httpd:
289        @if test -f $(APACHE_ROOT)/sbin/httpd ; then \
290            ( cd $(APACHE_ROOT)/sbin ; mv httpd httpd.$(MPM) ) ; \
291        fi
292
293
294# Copy in specialized templates
295copy-local-files:
296        @ginstall -d $(DESTDIR)/etc/opt/csw/init.d
297        @ginstall $(WORKDIR)/cswapache2 $(DESTDIR)/etc/opt/csw/init.d
298        @ginstall $(WORKDIR)/update20to22 $(APACHE_ROOT)/sbin
299        @$(MAKECOOKIE)
300
301# Create stock templates
302template_list  = share/htdocs/index.html
303template_list += etc/extra/httpd-autoindex.conf
304template_list += etc/extra/httpd-dav.conf
305template_list += etc/extra/httpd-default.conf
306template_list += etc/extra/httpd-info.conf
307template_list += etc/extra/httpd-languages.conf
308template_list += etc/extra/httpd-multilang-errordoc.conf
309template_list += etc/extra/httpd-userdir.conf
310template_list += etc/extra/httpd-vhosts.conf
311template_list += etc/extra/httpd-mpm.conf
312template_list += etc/magic
313template_list += etc/mime.types
314
315create-templates:
316        @echo "  => Creating template files"
317        @( cd $(DESTDIR)$(prefix)/apache2 ; \
318                        for file in $(template_list) ; do \
319                                gmv -v $$file $$file.CSW ; \
320                        done )
321        @$(MAKECOOKIE)
322
323
324post-merge:
325        @(cd $(PKGROOT)/$(prefix)/apache2/etc/; \
326                for f in httpd.conf extra/httpd-ssl.conf; do \
327                perl -pi -e 's/User.*daemon.*/User \@USER\@/; \
328                s/Group.*daemon.*/Group \@GROUP\@/; \
329                s/#*ServerName www.example.com/ServerName \@HOSTNAME\@/; \
330                s/ServerAdmin you\@example.com/ServerAdmin \@ADMIN\@/; \
331                s/^(LoadModule.*suexec.*)/#$$1/; \
332                s/^#(Include.*httpd-mpm.conf)/$$1/; \
333                s/^#(Include.*httpd-ssl.conf)/$$1/' $$f; \
334                mv $$f $$f.CSW; \
335                done )
336        @echo Fixing usr/local references in the online manaual...
337        @(cd $(PKGROOT)/$(prefix)/apache2/share/manual; \
338                /opt/csw/bin/gfind . -type f -print0 | \
339                /opt/csw/bin/gxargs -0 \
340                         perl -pi \
341                          -e 's@/usr/local/apache2*@/opt/csw/apache2@g;' \
342                          -e 's@/usr/local@/opt/csw/apache2@g')
343        @echo Fixing export/home references in the online manaual...
344        @(cd $(PKGROOT)/$(prefix)/apache2/share/manual; \
345                /opt/csw/bin/gfind . -type f -print0 | \
346                /opt/csw/bin/gxargs -0 \
347                         perl -pi \
348                          -e 's@/export/home@/home@g;')
349        @echo Fixing usr/local reference in the cgi-bin scripts
350        @(cd $(PKGROOT)/$(prefix)/apache2/share/cgi-bin; \
351                perl -pi -e 's@/usr/local/bin@/opt/csw/bin@g' *)
352        @$(MAKECOOKIE)
353
Note: See TracBrowser for help on using the browser.