From d88adbc16a458be69ff0dacc76c831e8be09eba4 Mon Sep 17 00:00:00 2001 From: Matt Smith Date: Thu, 13 Jan 2011 04:35:08 -0600 Subject: main/php: improved APKBUILD, see changes php-5.3.5-r2 changelog: - Recreated php-cli subpackage and moved it out of the main php package; - Combined php-cli and php-pear in the build() function (one less `make` to perform); - Created php-common subpackage, currently containing php.ini; - Converted the main php package into a metapackage, which currently depends on php-common and php-cgi; - Updated the dev() split function to include all the build dirs we used, and then symlinked /usr/lib/php/build to build-cgi by default; - Moved the phar command to the php-phar subpackage; Let me know what you think. Matt --- main/php/APKBUILD | 84 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 38 deletions(-) (limited to 'main') diff --git a/main/php/APKBUILD b/main/php/APKBUILD index 2f6124117..ba62b65bd 100644 --- a/main/php/APKBUILD +++ b/main/php/APKBUILD @@ -3,12 +3,12 @@ pkgname=php pkgver=5.3.5 _suhosinver=5.3.4-0.9.10 -pkgrel=1 +pkgrel=2 pkgdesc="The PHP language runtime engine" url="http://www.php.net/" arch="all" license="PHP-3" -depends= +depends="$pkgname-common $pkgname-cgi" install="$pkgname.post-upgrade" makedepends="pcre-dev libxml2-dev libiconv-dev openssl-dev zlib-dev bzip2-dev curl-dev libpng-dev jpeg-dev freetype-dev libmcrypt-dev mysql-dev @@ -17,8 +17,8 @@ makedepends="pcre-dev libxml2-dev libiconv-dev openssl-dev zlib-dev bzip2-dev net-snmp-dev libxslt-dev cyrus-sasl-dev openldap-dev pkgconfig libgcrypt-dev apache2-dev apr-dev apr-util-dev libevent-dev readline-dev" -subpackages="$pkgname-dev $pkgname-doc $pkgname-cgi $pkgname-fpm - $pkgname-apache2 $pkgname-embed $pkgname-pear +subpackages="$pkgname-dev $pkgname-doc $pkgname-common $pkgname-cgi + $pkgname-cli $pkgname-fpm $pkgname-apache2 $pkgname-embed $pkgname-pear $pkgname-bcmath $pkgname-bz2 $pkgname-calendar @@ -87,8 +87,6 @@ prepare() { } build() { - cd "$srcdir"/$pkgname-$pkgver - _phpconfig="--build=${CHOST:-i486-alpine-linux-uclibc} \ --prefix=/usr \ --sysconfdir=/etc/php \ @@ -170,17 +168,7 @@ build() { # --with-enchant=shared,/usr \ # --with-tidy=shared \ - # php - ./configure ${_phpconfig} \ - --disable-cgi \ - --with-readline \ - --enable-pcntl \ - ${_phpextensions} - sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile # see #183 - make || return 1 - # cgi and fcgi - # reuse the previous run; this will save us a lot of time cp -a "$srcdir"/$pkgname-$pkgver "$srcdir"/$pkgname-cgi cd "$srcdir"/$pkgname-cgi ./configure ${_phpconfig} \ @@ -191,7 +179,7 @@ build() { make || return 1 # fpm - cp -a "$srcdir"/$pkgname-$pkgver "$srcdir"/$pkgname-fpm + cp -a "$srcdir"/$pkgname-cgi "$srcdir"/$pkgname-fpm cd "$srcdir"/$pkgname-fpm ./configure ${_phpconfig} \ --disable-cli \ @@ -201,7 +189,7 @@ build() { make || return 1 # apache2 - cp -a "$srcdir"/$pkgname-$pkgver "$srcdir"/$pkgname-apache2 + cp -a "$srcdir"/$pkgname-cgi "$srcdir"/$pkgname-apache2 cd "$srcdir"/$pkgname-apache2 ./configure ${_phpconfig} \ --disable-cli \ @@ -211,7 +199,7 @@ build() { make || return 1 # embed - cp -a "$srcdir"/$pkgname-$pkgver "$srcdir"/$pkgname-embed + cp -a "$srcdir"/$pkgname-cgi "$srcdir"/$pkgname-embed cd "$srcdir"/$pkgname-embed ./configure ${_phpconfig} \ --disable-cli \ @@ -220,9 +208,9 @@ build() { sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile # see #183 make || return 1 - # pear - cp -a "$srcdir"/$pkgname-$pkgver "$srcdir"/$pkgname-pear - cd "$srcdir"/$pkgname-pear + # cli and pear + cp -a "$srcdir"/$pkgname-cgi "$srcdir"/$pkgname-cli-pear + cd "$srcdir"/$pkgname-cli-pear ./configure ${_phpconfig} \ --disable-cgi \ --with-readline \ @@ -234,35 +222,51 @@ build() { } package() { - cd "$srcdir"/$pkgname-$pkgver - make -j1 INSTALL_ROOT="$pkgdir" install || return 1 - install -D -m644 php.ini-production "$pkgdir"/etc/php/php.ini - sed -i -e "s:^; extension_dir = \"./\":extension_dir = \"$_extdir\":" "$pkgdir"/etc/php/php.ini - sed -ri "s~^([;]*cgi\.rfc2616_headers.*)$~\1\n\n\; If this is enabled, the PHP CGI binary can safely be placed outside of the\n; web tree and people will not be able to circumvent .htaccess security.\ncgi\.discard_path = 1~" "$pkgdir"/etc/php/php.ini - rm -rf "$pkgdir"/usr/share/man + mkdir -p "$pkgdir" && return 0 } dev() { - default_dev + pkgdesc="PHP Development Files" mkdir -p "$subpkgdir"/usr/lib/php/ "$subpkgdir"/usr/bin/ - mv "$pkgdir"/usr/lib/php/build "$subpkgdir"/usr/lib/php/ - mv "$pkgdir"/usr/bin/phpize "$subpkgdir"/usr/bin/ + cp -a "$srcdir"/php-cli-pear/build "$subpkgdir"/usr/lib/php/build-cli-pear + cp -a "$srcdir"/php-cgi/build "$subpkgdir"/usr/lib/php/build-cgi + cp -a "$srcdir"/php-fpm/build "$subpkgdir"/usr/lib/php/build-fpm + cp -a "$srcdir"/php-apache2/build "$subpkgdir"/usr/lib/php/build-apache2 + cp -a "$srcdir"/php-embed/build "$subpkgdir"/usr/lib/php/build-embed + ln -fs /usr/lib/php/build-cgi "$subpkgdir"/usr/lib/php/build + + cp -a "$srcdir"/php-cli-pear/scripts/phpize "$subpkgdir"/usr/bin/ } doc() { - install -D -m644 "$srcdir"/$pkgname-$pkgver/sapi/cli/php.1 "$subpkgdir"/usr/share/man/man1/php.1 - install -D -m644 "$srcdir"/$pkgname-$pkgver/scripts/man1/phpize.1 "$subpkgdir"/usr/share/man/man1/phpize.1 - install -D -m644 "$srcdir"/$pkgname-$pkgver/scripts/man1/php-config.1 "$subpkgdir"/usr/share/man/man1/php-config.1 + pkgdesc="PHP Documentation" + install -D -m644 "$srcdir"/$pkgname-cli-pear/sapi/cli/php.1 "$subpkgdir"/usr/share/man/man1/php.1 + install -D -m644 "$srcdir"/$pkgname-cli-pear/scripts/man1/phpize.1 "$subpkgdir"/usr/share/man/man1/phpize.1 + install -D -m644 "$srcdir"/$pkgname-cli-pear/scripts/man1/php-config.1 "$subpkgdir"/usr/share/man/man1/php-config.1 install -D -m644 "$srcdir"/$pkgname-fpm/sapi/fpm/php-fpm.8 "$subpkgdir"/usr/share/man/man8/php-fpm.8 } +common() { + pkgdesc="PHP Common Files" + cd "$srcdir"/$pkgname-$pkgver + install -D -m644 php.ini-production "$subpkgdir"/etc/php/php.ini + sed -i -e "s:^; extension_dir = \"./\":extension_dir = \"$_extdir\":" "$subpkgdir"/etc/php/php.ini + sed -ri "s~^([;]*cgi\.rfc2616_headers.*)$~\1\n\n\; If this is enabled, the PHP CGI binary can safely be placed outside of the\n; web tree and people will not be able to circumvent .htaccess security.\ncgi\.discard_path = 1~" "$subpkgdir"/etc/php/php.ini +} + cgi() { pkgdesc="PHP Common Gateway Interface (CGI)" install -D -m755 "$srcdir"/$pkgname-cgi/sapi/cgi/php-cgi "$subpkgdir"/usr/bin/php-cgi } +cli() { + pkgdesc="PHP Command Line Interface (CLI)" + install -D -m755 "$srcdir"/$pkgname-cli-pear/sapi/cli/php "$subpkgdir"/usr/bin/php +} + fpm() { pkgdesc="PHP FastCGI Process Manager (FPM)" + install -D -m755 "$srcdir"/$pkgname-fpm/sapi/fpm/php-fpm "$subpkgdir"/usr/bin/php-fpm install -D -m644 "$srcdir"/$pkgname-fpm/sapi/fpm/php-fpm.conf "$subpkgdir"/etc/php/php-fpm.conf install -D -m755 "$srcdir"/php-fpm.init "$subpkgdir"/etc/init.d/php-fpm @@ -289,8 +293,8 @@ embed() { pear() { pkgdesc="PHP Extension and Application Repository (PEAR)" depends="php" - cd "$srcdir"/$pkgname-pear - make install-pear INSTALL_ROOT=""$subpkgdir"" + cd "$srcdir"/$pkgname-cli-pear + make INSTALL_ROOT="$subpkgdir" install-pear || return 1 for _rmpear in `find "$subpkgdir" -name '.*'`; do rm -rf ${_rmpear} done @@ -299,7 +303,7 @@ pear() { _mv_mod() { pkgdesc="$1 php extension" mkdir -p "$subpkgdir"/$_extdir - mv "$pkgdir"/$_extdir/${1}.so "$subpkgdir"/$_extdir/ || return 1 + mv "$srcdir"/php-cgi/modules/${1}.so "$subpkgdir"/$_extdir/ || return 1 install -d "$subpkgdir"/etc/php/conf.d echo "extension=${1}.so" > "$subpkgdir"/etc/php/conf.d/${1}.ini return 0 @@ -331,7 +335,11 @@ pdo_mysql() { _mv_mod pdo_mysql; } pdo_odbc() { _mv_mod pdo_odbc; } pdo_pgsql() { _mv_mod pdo_pgsql; } pdo_sqlite() { _mv_mod pdo_sqlite; } -phar() { _mv_mod phar; } +phar() { + _mv_mod phar; + cd "$srcdir"/$pkgname-cli-pear + make INSTALL_ROOT="$subpkgdir" install-pharcmd || return 1 + } posix() { _mv_mod posix; } pgsql() { _mv_mod pgsql; } pspell() { _mv_mod pspell; } -- cgit v1.2.3