aboutsummaryrefslogblamecommitdiffstats
path: root/main/apache2/APKBUILD
blob: 20aaad8569a540f39a23d3401216aad99a179d94 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                                   
               
             
        

                                                   
                 



                  

                                                               

                                                                  












                                                                                                           
                  
                
                 


                      

                                                    
 
                                                    




                                                             








                                                                                          


                            

                                            











                                                                 





















                                                                   
                        
 











                                                                   


           



                                  
                                                      




                                                                    
            


                                                



                                                                                
 
                                    











                                                             



                                               

                   
                   
                                            
                     











































                                                                                                      


         
                  
                                                        











                                                                       

 



                                                           






                                                                    





                                                                                     





                                                                     

 
                                                               








                                                                                

                                                   
                                               
                                            
                                          
                                           
                                                
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apache2
pkgver=2.2.17
pkgrel=4
pkgdesc="A high performance Unix-based HTTP server"
url="http://httpd.apache.org/"
arch="x86 x86_64"
license="APACHE"
depends=""
pkgusers="apache"
pkggroups="apache"
makedepends="openssl-dev zlib-dev apr-util-dev apr-dev pcre-dev
	autoconf automake"
subpackages="$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-ssl
	$pkgname-ldap"
source="http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/02-rename-prefork-to-itk.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/03-add-mpm-to-build-system.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/04-correct-output-makefile-location.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/05-add-copyright.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/06-hook-just-after-merging-perdir-config.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/07-base-functionality.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/08-max-clients-per-vhost.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/09-capabilities.patch
	http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02/10-nice.patch
	apache2.confd
	apache2.logrotate
	apache2.initd
	httpd.conf
	ssl.conf
	ldap.conf
	alpine.layout"

prepare() {
	cd "$srcdir"/httpd-$pkgver
	cat "$srcdir/alpine.layout" >> config.layout

	# create itk directory and apply itk patches
	mkdir -p server/mpm/experimental/itk
	cp -r server/mpm/prefork/* \
		server/mpm/experimental/itk/ || return 1
	mv server/mpm/experimental/itk/prefork.c \
		server/mpm/experimental/itk/itk.c || return 1
	patch -Np1 -i "$srcdir"/02-rename-prefork-to-itk.patch || return 1
	patch -Np1 -i "$srcdir"/03-add-mpm-to-build-system.patch || return 1
	patch -Np1 -i "$srcdir"/04-correct-output-makefile-location.patch || return 1
	patch -Np1 -i "$srcdir"/05-add-copyright.patch || return 1
	patch -Np1 -i "$srcdir"/06-hook-just-after-merging-perdir-config.patch || return 1
	patch -Np1 -i "$srcdir"/07-base-functionality.patch || return 1
	patch -Np1 -i "$srcdir"/08-max-clients-per-vhost.patch || return 1
	patch -Np1 -i "$srcdir"/09-capabilities.patch || return 1
	patch -Np1 -i "$srcdir"/10-nice.patch || return 1
	autoconf || return 1
}

build() {
	local _apacheconfig="--prefix=/usr \
		--enable-layout=Alpine \
		--enable-so \
		--enable-suexec \
		--with-suexec-caller=http \
		--with-suexec-docroot=/var/www/localhost/htdocs \
		--with-suexec-logfile=/var/log/httpd/suexec.log \
		--with-suexec-bin=/usr/sbin/suexec \
		--with-suexec-uidmin=99 \
		--with-suexec-gidmin=99 \
		--with-apr=/usr/bin/apr-1-config \
		--with-apr-util=/usr/bin/apu-1-config \
		--with-pcre=/usr \
		--enable-mods-shared=all \
		--enable-ssl --with-ssl \
		--enable-proxy \
		--enable-cache \
		--enable-disk-cache \
		--enable-mem-cache \
		--enable-file-cache \
		--enable-ldap --enable-authnz-ldap \
		--enable-cgid \
		--enable-authn-anon --enable-authn-alias \
		--disable-imagemap \
		--enable-proxy-connect \
		--enable-proxy-http \
		--enable-proxy-ftp \
		--enable-deflate \
		--enable-dbd \
		--enable-exception-hook"
	local _mpm

	_mpm="prefork"
	cd "$srcdir"/httpd-$pkgver
	./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1
	make || return 1

	_mpm="itk"
	cp -a "$srcdir"/httpd-$pkgver "$srcdir"/httpd-${_mpm}
	cd "$srcdir"/httpd-${_mpm}
	./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1
	make || return 1

	_mpm="worker"
	cp -a "$srcdir"/httpd-$pkgver "$srcdir"/httpd-${_mpm}
	cd "$srcdir"/httpd-${_mpm}
	make clean
	./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1
	make || return 1
}

package() {
	local _mpm

	# prefork
	cd "$srcdir"/httpd-$pkgver
	make -j1 DESTDIR="$pkgdir" install || return 1

	# itk and worker
	for _mpm in itk worker; do
		install -D -m755 "$srcdir"/httpd-${_mpm}/httpd \
			"$pkgdir"/usr/sbin/httpd.${_mpm} || return 1
	done
	
	# config
	rm -r "$pkgdir"/etc/apache2/httpd.conf \
		"$pkgdir"/etc/apache2/extra
	install -D -m644 "$srcdir"/httpd.conf "$pkgdir"/etc/apache2/httpd.conf \
		|| return 1
	install -d "$pkgdir"/etc/apache2/conf.d || return 1

	# init scripts and logrotate
	install -D -m755 "$srcdir"/apache2.initd \
		"$pkgdir"/etc/init.d/apache2 || return 1
	install -D -m644 "$srcdir"/apache2.logrotate \
		"$pkgdir"/etc/logrotate.d/apache2 || return 1
	install -D -m644 "$srcdir"/apache2.confd \
		"$pkgdir"/etc/conf.d/apache2 || return 1

	install -d "$pkgdir"/var/www || return 1
	ln -fs /var/log/apache2 "$pkgdir"/var/www/logs
	ln -fs /var/run/apache2 "$pkgdir"/var/www/run
	ln -fs /usr/lib/apache2 "$pkgdir"/var/www/modules
	ln -fs /etc/apache2/conf.d "$pkgdir"/var/www/conf.d
}

# include the builddir and apxs in -dev package
dev() {
	local _mpm
	local _file
	default_dev
	depends="$depends perl apr-util-dev"
	arch="noarch"

	# install apxs utility
	install -d "$subpkgdir"/usr/sbin || return 1
	mv "$pkgdir"/usr/sbin/apxs \
		"$subpkgdir"/usr/sbin/apxs || return 1


	_mpm="prefork"
	install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1
	mv "$pkgdir"/usr/share/apache2/build/* \
		"$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1
	rm -rf "$pkgdir"/usr/share/apache2/build
	ln -s /usr/share/apache2/build-${_mpm} \
		"$pkgdir"/usr/share/apache2/build || return 1


	_mpm="itk"
	install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1
	for _file in `ls -1 "$subpkgdir"/usr/share/apache2/build-prefork | grep -v "config\.nice"`; do
		mv "$srcdir"/httpd-${_mpm}/build/${_file} \
			"$subpkgdir"/usr/share/apache2/build-${_mpm}/${_file} \
			|| return 1
	done
	cp -a "$subpkgdir"/usr/share/apache2/build-prefork/config.nice \
		"$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \
		|| return 1
	sed -ri "s/prefork/${_mpm}/g" \
		"$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \
		|| return 1


	_mpm="worker"
	install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1
	for _file in `ls -1 "$subpkgdir"/usr/share/apache2/build-prefork | grep -v "config\.nice"`; do
		mv "$srcdir"/httpd-${_mpm}/build/${_file} \
			"$subpkgdir"/usr/share/apache2/build-${_mpm}/${_file} \
			|| return 1
	done
	cp -a "$subpkgdir"/usr/share/apache2/build-prefork/config.nice \
		"$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \
		|| return 1
	sed -ri "s/prefork/${_mpm}/g" \
		"$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \
		|| return 1
}

utils() {
	local _bin
	pkgdesc="Apache utility programs for webservers"

	install -d "$subpkgdir"/usr/bin || return 1
	for _bin in ab dbmmanage htdbm htdigest htpasswd logresolve; do
		mv "$pkgdir"/usr/sbin/${_bin} \
			"$subpkgdir"/usr/bin/${_bin} || return 1
	done

	install -d "$subpkgdir"/usr/sbin || return 1
	for _bin in checkgid htcacheclean rotatelogs; do
		mv "$pkgdir"/usr/sbin/${_bin} \
			"$subpkgdir"/usr/sbin/${_bin} || return 1
	done
}

ssl() {
	pkgdesc="SSL/TLS module for the Apache HTTP Server"
	install="apache2-ssl.post-install"
	depends="apache2 openssl"

	install -d "$subpkgdir"/usr/lib/apache2 || return 1
	mv "$pkgdir"/usr/lib/apache2/mod_ssl.so \
		"$subpkgdir"/usr/lib/apache2/mod_ssl.so || return 1
	install -D -m644 "$srcdir"/ssl.conf \
		"$subpkgdir"/etc/apache2/conf.d/ssl.conf || return 1
	install -d "$subpkgdir"/etc/ssl/apache2 || return 1
}

ldap() {
	pkgdesc="LDAP authentication/authorization module for the Apache HTTP Server"
	url="http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html"
	depends="apache2"

	install -d "$subpkgdir"/usr/lib/apache2 || return 1
	mv "$pkgdir"/usr/lib/apache2/mod_ldap.so \
		"$subpkgdir"/usr/lib/apache2/mod_ldap.so || return 1
	install -D -m644 "$srcdir"/ldap.conf \
		"$subpkgdir"/etc/apache2/conf.d/ldap.conf || return 1
}

md5sums="16eadc59ea6b38af33874d300973202e  httpd-2.2.17.tar.bz2
db42cfcc18ae1c32aaaff2347e35b79d  02-rename-prefork-to-itk.patch
131408ad4dc7b18547b4e062e7e495ab  03-add-mpm-to-build-system.patch
ee488f391054d528547c3a372faa2aa7  04-correct-output-makefile-location.patch
b202944761b2f0516196488b12504236  05-add-copyright.patch
78fa15f8ca3a284b7d71f942e24e47fb  06-hook-just-after-merging-perdir-config.patch
d33e39350e987721d50e6fb8e164ab6b  07-base-functionality.patch
9f7a8935f9cabc7b46d0052906634cef  08-max-clients-per-vhost.patch
1b28e3363e1b0d05b738a21e7ddd264f  09-capabilities.patch
d9667fcd2ffecc63e446edd4d6666731  10-nice.patch
e322b5211e49511cac6e40c86af1b1da  apache2.confd
75fe4138b98fcffd01b8c8c077b944f3  apache2.logrotate
0261136ff734c3ae8dcf878a46ed5830  apache2.initd
749faf0b2916d85d1240bc34f700e5d9  httpd.conf
5d0d024ca43571b863874ab871b2c109  ssl.conf
b70fe826486043e3953cfe21f9e6fa16  ldap.conf
c66ff5f70260d5266e6803a59b39bd7f  alpine.layout"