diff options
author | Andrew Manison <amanison@anselsystems.com> | 2010-08-04 23:22:29 +0000 |
---|---|---|
committer | Andrew Manison <amanison@anselsystems.com> | 2010-08-04 23:22:29 +0000 |
commit | e692c6d8a84c2f8424704824ee5a1f09b6d31fee (patch) | |
tree | 48963a89a34ffac54a41caea12d4fdf0435e5e8e | |
parent | f3eb155dab5d8de075f99dee8bfe7a8bb750732c (diff) | |
parent | e5103dee420328c76983c537c09f956b7358af18 (diff) | |
download | aports-e692c6d8a84c2f8424704824ee5a1f09b6d31fee.tar.bz2 aports-e692c6d8a84c2f8424704824ee5a1f09b6d31fee.tar.xz |
Merge remote branch 'alpine/master'
94 files changed, 3233 insertions, 698 deletions
diff --git a/main/acf-core/APKBUILD b/main/acf-core/APKBUILD index c7478cc0e..67829996b 100644 --- a/main/acf-core/APKBUILD +++ b/main/acf-core/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=acf-core -pkgver=0.10.5 -pkgrel=1 +pkgver=0.10.7 +pkgrel=0 pkgdesc="A web-based system administration interface framework" url="http://git.alpinelinux.org/cgit/acf-core" license="GPL-2" @@ -13,4 +13,4 @@ build() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install } -md5sums="d7bb470cac2442ad01028640fff6956c acf-core-0.10.5.tar.bz2" +md5sums="8706c5469dd1ec3fc389cf7039bcfb39 acf-core-0.10.7.tar.bz2" diff --git a/main/acf-freeswitch/APKBUILD b/main/acf-freeswitch/APKBUILD new file mode 100644 index 000000000..14e9089a8 --- /dev/null +++ b/main/acf-freeswitch/APKBUILD @@ -0,0 +1,21 @@ +# Maintainer: Ted Trask <ttrask01@yahoo.com> +pkgname=acf-freeswitch +pkgver=0.1.0 +pkgrel=0 +pkgdesc="ACF for freeswitch" +url="http://git.alpinelinux.org/cgit/acf-freeswitch" +license="GPL-2" +depends="acf-core lua freeswitch" +makedepends="" +install= +subpackages="" +source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + +} + +md5sums="07743b2d911a2f5e88a08b849c1d36de acf-freeswitch-0.1.0.tar.bz2" diff --git a/main/acf-weblog/APKBUILD b/main/acf-weblog/APKBUILD index b0b3da27d..6801fe890 100644 --- a/main/acf-weblog/APKBUILD +++ b/main/acf-weblog/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Ted Trask <ttrask01@yahoo.com> # Maintainer: Ted Trask <ttrask01@yahoo.com> pkgname=acf-weblog -pkgver=0.5.5 +pkgver=0.5.6 pkgrel=0 pkgdesc="ACF for web proxy (squid and dansguardian) logfiles" url="http://git.alpinelinux.org/cgit/acf-weblog" @@ -17,4 +17,4 @@ build() { make DESTDIR="$pkgdir" install } -md5sums="c48ef4d8d9136f16de68129404ffb3ee acf-weblog-0.5.5.tar.bz2" +md5sums="23bd6aeea56ab4c0580e89f02452aa1d acf-weblog-0.5.6.tar.bz2" diff --git a/main/alpine-desktop/APKBUILD b/main/alpine-desktop/APKBUILD index 88aeaad46..ae9e31836 100644 --- a/main/alpine-desktop/APKBUILD +++ b/main/alpine-desktop/APKBUILD @@ -1,12 +1,12 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=alpine-desktop pkgver=2.0 -pkgrel=0 +pkgrel=1 pkgdesc="Meta package for Alpine Desktop" url="http://alpinelinux.org" license="GPL" -depends= -makedepends=" +makedepends= +depends=" dhcpcd dhcpcd-ui gpicview diff --git a/main/apr-util/APKBUILD b/main/apr-util/APKBUILD index 9b8d15407..419ab77be 100644 --- a/main/apr-util/APKBUILD +++ b/main/apr-util/APKBUILD @@ -1,27 +1,32 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=apr-util pkgver=1.3.9 -pkgrel=2 -pkgdesc="The Apache Portable Runtime" +pkgrel=4 +pkgdesc="The Apache Portable Runtime Utility Library" url="http://apr.apache.org/" license="APACHE" depends= -subpackages="$pkgname-dev" -makedepends="apr-dev expat-dev e2fsprogs-dev bash" +subpackages="$pkgname-dev $pkgname-dbm_db $pkgname-dbd_pgsql $pkgname-dbd_mysql + $pkgname-dbd_sqlite3 $pkgname-ldap" +makedepends="apr-dev expat-dev bash openldap-dev sqlite-dev postgresql-dev + mysql-dev db-dev" +depends_dev="expat-dev apr-dev openldap-dev sqlite-dev postgresql-dev mysql-dev + db-dev" source="http://www.apache.org/dist/apr/$pkgname-$pkgver.tar.bz2" build() { cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr \ --with-apr=/usr \ + --with-ldap \ + --with-pgsql \ + --with-mysql \ + --with-sqlite3 \ + --with-berkeley-db \ --without-iconv \ - --without-pgsql \ - --without-mysql \ --without-sqlite2 \ - --without-sqlite3 \ - --without-berkeley-db \ --without-gdbm \ - --without-ldap-lib + || return 1 make || return 1 } @@ -34,4 +39,18 @@ package() { rm "$pkgdir"/usr/lib/*.exp } +_mv_mod() { + pkgdesc="The Apache Portable Runtime Utility Library - $2 driver" + depends= + local _moddir="usr/lib/apr-util-1" + mkdir -p "$subpkgdir"/$_moddir + mv "$pkgdir"/$_moddir/apr_$1*.so "$subpkgdir"/$_moddir/ +} + +dbm_db() { _mv_mod dbm_db "Berkley DB"; } +dbd_pgsql() { _mv_mod dbd_pgsql "PostgreSQL"; } +dbd_mysql() { _mv_mod dbd_mysql "MySQL"; } +dbd_sqlite3() { _mv_mod dbd_sqlite "SQLite3"; } +ldap() { _mv_mod ldap "LDAP"; } + md5sums="29dd557f7bd891fc2bfdffcfa081db59 apr-util-1.3.9.tar.bz2" diff --git a/main/apr/APKBUILD b/main/apr/APKBUILD index 020564ec6..75ce230a9 100644 --- a/main/apr/APKBUILD +++ b/main/apr/APKBUILD @@ -1,12 +1,13 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=apr pkgver=1.4.2 -pkgrel=2 +pkgrel=3 pkgdesc="The Apache Portable Runtime" url="http://apr.apache.org/" license="APACHE" depends= makedepends="util-linux-ng-dev" +depends_dev="util-linux-ng-dev" subpackages="$pkgname-dev" source="http://www.apache.org/dist/$pkgname/$pkgname-$pkgver.tar.bz2" @@ -29,7 +30,7 @@ package() { # we override the pre-defined func. dev() { local i - depends="$pkgname" + depends="$pkgname $depends_dev" mkdir -p "$subpkgdir" mv "$pkgdir"/* "$subpkgdir"/ mkdir -p "$pkgdir"/usr/lib diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD index a8c5d110a..877d40f6c 100644 --- a/main/asterisk/APKBUILD +++ b/main/asterisk/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Timo Teras <timo.teras@iki.fi> # Maintainer: Timo Teras <timo.teras@iki.fi> pkgname=asterisk -pkgver=1.6.2.9 +pkgver=1.6.2.10 pkgrel=0 pkgdesc="Asterisk: A Module Open Source PBX System" url="http://www.asterisk.org/" @@ -119,7 +119,7 @@ sample() { make samples DESTDIR="$subpkgdir" } -md5sums="1f947d951c419b8039d53a6e6168fd69 asterisk-1.6.2.9.tar.gz +md5sums="50412a90942ae7306fb8dcc31a05c2ce asterisk-1.6.2.10.tar.gz b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch 6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch 79e9634b5054bceb3b8dc246654bb243 400-bug-227.patch diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD index 4b9402af9..b7573970f 100644 --- a/main/busybox-initscripts/APKBUILD +++ b/main/busybox-initscripts/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox-initscripts pkgver=2.0 -pkgrel=12 +pkgrel=13 pkgdesc="Init scripts for busybox daemons" url="http://git.alpinelinux.org/cgit/aports/tree/core/busybox-initscripts" license="GPL-2" @@ -40,7 +40,7 @@ EOF } md5sums="baa44c026a4c9468b01ec2771d76db19 acpid.initd -90027316d98b5b97cc3bf3a7c7ad3f7c cron.initd +6db6c6d6a5e0169e54a0e0527d83dfff cron.initd dad20779adfb4b85b57b45c7c903a636 dnsd.initd 4f8f9a7028a429c50740c09fcb2a1871 httpd.initd 32315991b16a03a42a8cdd64f064ccc2 inetd.initd diff --git a/main/busybox-initscripts/cron.initd b/main/busybox-initscripts/cron.initd index 40d16b640..8175bdf2d 100644 --- a/main/busybox-initscripts/cron.initd +++ b/main/busybox-initscripts/cron.initd @@ -2,6 +2,7 @@ depend() { need localmount + need logger } start() { diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD index cd53d073a..099881144 100644 --- a/main/busybox/APKBUILD +++ b/main/busybox/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox -pkgver=1.17.0 +pkgver=1.17.1 pkgrel=2 pkgdesc="Size optimized toolbox of many common UNIX utilities" url=http://busybox.net @@ -10,14 +10,10 @@ install="$pkgname.post-install $pkgname.post-upgrade" subpackages="$pkgname-static" triggers="busybox.trigger:/bin /usr/bin /sbin /usr/sbin /lib/modules/*" source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2 + http://busybox.net/downloads/fixes-1.17.1/busybox-1.17.1-shell.patch + http://busybox.net/downloads/fixes-1.17.1/busybox-1.17.1-mktemp.patch + http://busybox.net/downloads/fixes-1.17.1/busybox-1.17.1-sed.patch $pkgname-1.11.1-bb.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-acpid.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-build_system.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-diff.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-mktemp.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-modprobe-l.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-volumeid.patch - http://busybox.net/downloads/fixes-1.17.0/busybox-1.17.0-wget.patch busyboxconfig" _builddir="$srcdir"/$pkgname-$pkgver @@ -33,9 +29,10 @@ prepare() { fi done -# sed -i -e 's/(ip, _BB_DIR_BIN/(ip, _BB_DIR_SBIN/' \ -# -e 's/(vi, _BB_DIR_BIN/(vi, _BB_DIR_USR_BIN/' \ -# include/applets.h || return 1 + sed -i -e 's/(ip, _BB_DIR_BIN/(ip, _BB_DIR_SBIN/' \ + -e 's/(lspci, _BB_DIR_USR_BIN/(lspci, _BB_DIR_USR_SBIN/' \ + -e 's/(vi, _BB_DIR_BIN/(vi, _BB_DIR_USR_BIN/' \ + include/applets.src.h || return 1 } build() { @@ -73,13 +70,9 @@ static() { } -md5sums="2908d1d1ca83ff12bc0b05f0d2a3335c busybox-1.17.0.tar.bz2 +md5sums="c7fe7533b7fc4018b0b49a05ee0ee601 busybox-1.17.1.tar.bz2 +ecbd34ef0d291a5a6c9ded3a16c7f544 busybox-1.17.1-shell.patch +74b8d7366ef0d1b8c10abdf3f88d51de busybox-1.17.1-mktemp.patch +70e310bad1f9d2aa605ded62cf891c60 busybox-1.17.1-sed.patch 4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch -0cf814dbe1f62c8c8e891697c896952d busybox-1.17.0-acpid.patch -ea127206741f9785dd2e8fcce2c32ad8 busybox-1.17.0-build_system.patch -094cde9990b5c6b02e631c08c91a5b30 busybox-1.17.0-diff.patch -2f4c29e5fbd3c9527da9ecbd9e9e699f busybox-1.17.0-mktemp.patch -b159ecc8954369ec3d2320212c075a69 busybox-1.17.0-modprobe-l.patch -97cccda27dbf4181ca32a58f5d61e5a9 busybox-1.17.0-volumeid.patch -aecc8dcaff560e1334d2788d588f6ea5 busybox-1.17.0-wget.patch -e4c9f09bcc27b57f8f0344c69607f4c4 busyboxconfig" +403e0b9fe99a7a18c5b9ae91283a5f9a busyboxconfig" diff --git a/main/busybox/busyboxconfig b/main/busybox/busyboxconfig index f950be73c..142f27dd1 100644 --- a/main/busybox/busyboxconfig +++ b/main/busybox/busyboxconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.17.0 -# Thu Jul 15 14:12:18 2010 +# Busybox version: 1.17.1 +# Thu Aug 5 13:41:36 2010 # CONFIG_HAVE_DOT_CONFIG=y @@ -154,7 +154,7 @@ CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y CONFIG_UNLZMA=y CONFIG_FEATURE_LZMA_FAST=y CONFIG_LZMA=y -# CONFIG_UNXZ is not set +CONFIG_UNXZ=y # CONFIG_XZ is not set CONFIG_UNZIP=y diff --git a/main/cmph/APKBUILD b/main/cmph/APKBUILD new file mode 100644 index 000000000..a52b0bcf1 --- /dev/null +++ b/main/cmph/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: +# Maintainer: +pkgname=cmph +pkgver=0.9 +pkgrel=0 +pkgdesc="minimal perfect hash C library - utility application" +url="http://cmph.sourceforge.net/" +license="LGPL MPL-1.1" +depends= +makedepends= +install= +subpackages="$pkgname-dev $pkgname-doc libcmph:lib" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +lib() { + pkgdesc="minimal perfect hash C library - utility application" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libcmph*.so.* "$subpkgdir"/usr/lib/ +} + +md5sums="14c17e3058174e9333936caa8e18ed28 cmph-0.9.tar.gz" diff --git a/main/dhcpcd/APKBUILD b/main/dhcpcd/APKBUILD index 5f85d9f86..6a5a75c23 100644 --- a/main/dhcpcd/APKBUILD +++ b/main/dhcpcd/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=dhcpcd -pkgver=5.2.5 -pkgrel=1 +pkgver=5.2.7 +pkgrel=0 pkgdesc="RFC2131 compliant DHCP client" url="http://roy.marples.name/projects/dhcpcd/" license="BSD-2" @@ -27,5 +27,5 @@ package() { install -Dm755 "$srcdir"/dhcpcd.initd "$pkgdir"/etc/init.d/dhcpcd } -md5sums="79f5452252026c0547886f89ab87adf1 dhcpcd-5.2.5.tar.bz2 +md5sums="1dcf377270a13cc774c9a26fc50453b5 dhcpcd-5.2.7.tar.bz2 ecbd807cf3f87d7c5b6095bf63f26894 dhcpcd.initd" diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD index 9246417c8..c6774c14c 100644 --- a/main/dovecot/APKBUILD +++ b/main/dovecot/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=dovecot -pkgver=1.2.12 -pkgrel=3 +pkgver=1.2.13 +pkgrel=0 pkgdesc="IMAP and POP3 server" url="http://www.dovecot.org/" license="LGPL-2.1" @@ -90,6 +90,6 @@ sqlite() { _mv $(cd "$pkgdir" && find usr -name '*sqlite.so') } -md5sums="cc8e5c53cd0943ce0b5e1087356ad4ea dovecot-1.2.12.tar.gz +md5sums="aaee3b5fd59e01780305553248f686bc dovecot-1.2.13.tar.gz aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate c58b474dca20e6e60fa4f1f5b9c726e1 dovecot.initd" diff --git a/main/freeswitch/APKBUILD b/main/freeswitch/APKBUILD index 2b1766e80..ab1b387a5 100644 --- a/main/freeswitch/APKBUILD +++ b/main/freeswitch/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=freeswitch pkgver=1.0.6 -pkgrel=11 +pkgrel=12 pkgdesc="A communications platform written in C from the ground up" url="http://www.freeswitch.org" license="GPL" @@ -84,7 +84,7 @@ conf() { pkgdesc="Freeswitch sample configureation" depends="freeswitch" install= - mkdir -p "$subpkgdir"/etc/freeswich + mkdir -p "$subpkgdir"/etc/freeswitch # move all configs except freeswitch.xml for i in "$pkgdir"/etc/freeswitch/*; do [ "$i" = "$pkgdir"/etc/freeswitch/freeswitch.xml ] && continue diff --git a/main/git/APKBUILD b/main/git/APKBUILD index 0e2b7e1ef..b90e856ca 100644 --- a/main/git/APKBUILD +++ b/main/git/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=git -pkgver=1.7.1.1 +pkgver=1.7.2.1 pkgrel=0 pkgdesc="GIT - the stupid content tracker" url="http://git.or.cz/" @@ -42,5 +42,5 @@ perl() { } -md5sums="1b116a3e2ecce46a89e4272abf0de955 git-1.7.1.1.tar.bz2 +md5sums="24a443a120a0ab372185cb6bc0dbd934 git-1.7.2.1.tar.bz2 e63a201556c4f089de790805c09a2e5b bb-tar.patch" diff --git a/main/gnumeric/APKBUILD b/main/gnumeric/APKBUILD index 9ea9b9718..6639fa5d2 100644 --- a/main/gnumeric/APKBUILD +++ b/main/gnumeric/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gnumeric -pkgver=1.10.7 +pkgver=1.10.8 pkgrel=0 pkgdesc="A GNOME Spreadsheet Program" url="http://www.gnome.org/projects/gnumeric/" @@ -27,4 +27,4 @@ package() { cd "$_builddir" make -j1 DESTDIR="$pkgdir" install || return 1 } -md5sums="86869fcada3840afdbd861693a9ab30e gnumeric-1.10.7.tar.bz2" +md5sums="6a14ffd4f6ba34effea71a8831f058f3 gnumeric-1.10.8.tar.bz2" diff --git a/main/goffice/APKBUILD b/main/goffice/APKBUILD index 5172c3e47..3f54fd534 100644 --- a/main/goffice/APKBUILD +++ b/main/goffice/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=goffice -pkgver=0.8.6 +pkgver=0.8.8 pkgrel=0 pkgdesc="A library of document-centric objects and utilities built on top of GLib and Gtk+" url="http://www.gnome.org" @@ -26,4 +26,4 @@ package() { cd "$srcdir"/$pkgname-$pkgver make DESTDIR="$pkgdir" install || return 1 } -md5sums="78b749f9b6913c2995171396f5deb525 goffice-0.8.6.tar.bz2" +md5sums="1a2e6feb76b30de48a0e0e75687dc34c goffice-0.8.8.tar.bz2" diff --git a/testing/gtksourceview/APKBUILD b/main/gtksourceview/APKBUILD index 8e080b207..895674d18 100644 --- a/testing/gtksourceview/APKBUILD +++ b/main/gtksourceview/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gtksourceview -pkgver=2.10.2 +pkgver=2.10.4 pkgrel=0 pkgdesc="A text widget adding syntax highlighting and more to GNOME" url="http://live.gnome.org/GtkSourceView" @@ -23,4 +23,4 @@ package() { cd "$srcdir"/gtksourceview-$pkgver make DESTDIR="$pkgdir" install || return 1 } -md5sums="56c849c0adea56228287abbabc7b70b9 gtksourceview-2.10.2.tar.bz2" +md5sums="342666cba9eb2643e5166a0cb58203d2 gtksourceview-2.10.4.tar.bz2" diff --git a/main/imagemagick/APKBUILD b/main/imagemagick/APKBUILD index d0e692530..b89b71622 100644 --- a/main/imagemagick/APKBUILD +++ b/main/imagemagick/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=imagemagick -pkgver=6.6.3.0 +pkgver=6.6.3.1 _pkgver=${pkgver%.*}-${pkgver##*.} pkgrel=0 pkgdesc="A collection of tools and libraries for many image formats" @@ -47,4 +47,4 @@ dev() { "$pkgdir"/usr/lib/ImageMagick-$_v/modules-Q16/filters/ } -md5sums="555e1f70bd244b79d74e57895bff6c05 ImageMagick-6.6.3-0.tar.gz" +md5sums="0e028d5b2b5d741732644adc391dda8c ImageMagick-6.6.3-1.tar.gz" diff --git a/main/iperf/APKBUILD b/main/iperf/APKBUILD index d133c9053..02b8db198 100644 --- a/main/iperf/APKBUILD +++ b/main/iperf/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Michael Mason <ms13sp@gmail.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=iperf -pkgver=2.0.4 -pkgrel=1 +pkgver=2.0.5 +pkgrel=0 pkgdesc="tool to measure IP bandwidth using UDP or TCP" url="http://iperf.sourceforge.net/" license="GPL" @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -md5sums="8c5bc14cc2ea55f18f22afe3c23e3dcb iperf-2.0.4.tar.gz" +md5sums="44b5536b67719f4250faed632a3cd016 iperf-2.0.5.tar.gz" diff --git a/main/iw/APKBUILD b/main/iw/APKBUILD new file mode 100644 index 000000000..3cce23eff --- /dev/null +++ b/main/iw/APKBUILD @@ -0,0 +1,33 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=iw +pkgver=0.9.18 +pkgrel=0 +pkgdesc="nl80211 based CLI configuration utility for wireless devices" +url="http://wireless.kernel.org/en/users/Documentation/iw" +license="GPL" +depends="" +makedepends="libnl-dev" +source="http://wireless.kernel.org/download/iw/iw-$pkgver.tar.bz2 + iw-bb-install.patch + iw-git-version.patch" + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/iw-bb-install.patch || return 1 + patch -p1 -i "$srcdir"/iw-git-version.patch || return 1 +} + +build () { + cd "$_builddir" + make V=1 || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="9734080d8a5c4b768c5e0da665a48950 iw-0.9.18.tar.bz2 +7f8cfc205fdcfd49d04c8923c76f439a iw-bb-install.patch +779d0e73df6e484c071149c9fb720551 iw-git-version.patch" diff --git a/main/iw/iw-bb-install.patch b/main/iw/iw-bb-install.patch new file mode 100644 index 000000000..b736dbf7c --- /dev/null +++ b/main/iw/iw-bb-install.patch @@ -0,0 +1,15 @@ +--- ./Makefile.orig ++++ ./Makefile +@@ -86,10 +86,10 @@ + install: iw iw.8.gz + @$(NQ) ' INST iw' + $(Q)$(MKDIR) $(DESTDIR)$(SBINDIR) +- $(Q)$(INSTALL) -m 755 -t $(DESTDIR)$(SBINDIR) iw ++ $(Q)$(INSTALL) -m 755 iw $(DESTDIR)$(SBINDIR)/ + @$(NQ) ' INST iw.8' + $(Q)$(MKDIR) $(DESTDIR)$(MANDIR)/man8/ +- $(Q)$(INSTALL) -m 644 -t $(DESTDIR)$(MANDIR)/man8/ iw.8.gz ++ $(Q)$(INSTALL) -m 644 iw.8.gz $(DESTDIR)$(MANDIR)/man8/ + + clean: + $(Q)rm -f iw *.o *~ *.gz version.c *-stamp diff --git a/main/iw/iw-git-version.patch b/main/iw/iw-git-version.patch new file mode 100644 index 000000000..0286eb488 --- /dev/null +++ b/main/iw/iw-git-version.patch @@ -0,0 +1,11 @@ +--- ./version.sh.orig ++++ ./version.sh +@@ -5,7 +5,7 @@ + + echo '#include "iw.h"' > "$OUT" + +-if head=`git rev-parse --verify HEAD 2>/dev/null`; then ++if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then + git update-index --refresh --unmerged > /dev/null + descr=$(git describe) + diff --git a/main/kamailio/APKBUILD b/main/kamailio/APKBUILD index 123de89b7..df3fc74ea 100644 --- a/main/kamailio/APKBUILD +++ b/main/kamailio/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=kamailio pkgver=3.0.2 -pkgrel=5 +pkgrel=6 pkgdesc="Open Source SIP Server" url="http://www.kamailio.org/" pkgusers="kamailio" @@ -11,14 +11,12 @@ license="GPL" depends= makedepends="bison flex expat-dev postgresql-dev pcre-dev mysql-dev libxml2-dev curl-dev unixodbc-dev confuse-dev" -install= +install="$pkgname.pre-install $pkgname.pre-upgrade" subpackages="$pkgname-doc $pkgname-postgres $pkgname-presence $pkgname-pcre $pkgname-mediaproxy $pkgname-unixodbc $pkgname-mysql" source="http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz kamailio.cfg kamailio.initd - kamailio.pre-install - kamailio.post-install kamailio-3-backslash.patch " @@ -169,6 +167,4 @@ unixodbc() { md5sums="dd039e078a77032a423fb15f9685ad31 kamailio-3.0.2_src.tar.gz a3c959ec568c43a905710e7d25cd8c25 kamailio.cfg 81100c479890a2a8c2628db22fdd1a0c kamailio.initd -c646af2dd31f5c4289a2f802c873d98f kamailio.pre-install -3fbaf633ff1620d0d526fc4047c7bed9 kamailio.post-install 36f81be3a082a81497e261ac8e6c5414 kamailio-3-backslash.patch" diff --git a/main/kamailio/kamailio.post-install b/main/kamailio/kamailio.post-install deleted file mode 100644 index 19fc932dd..000000000 --- a/main/kamailio/kamailio.post-install +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -chown -R kamailio:kamailio /var/run/kamailio -chgrp kamailio /etc/kamailio/kamailio.cfg -exit 0 diff --git a/main/kamailio/kamailio.pre-install b/main/kamailio/kamailio.pre-install index 78dfa38bf..84b28849a 100644 --- a/main/kamailio/kamailio.pre-install +++ b/main/kamailio/kamailio.pre-install @@ -1,5 +1,6 @@ #!/bin/sh -adduser -H -h /var/empty -s /bin/false -D kamailio 2>/dev/null +addgroup kamailio 2>/dev/null +adduser -H -h /var/empty -s /bin/false -D -G kamailio kamailio 2>/dev/null exit 0 diff --git a/main/kamailio/kamailio.pre-upgrade b/main/kamailio/kamailio.pre-upgrade new file mode 120000 index 000000000..d7cdaa807 --- /dev/null +++ b/main/kamailio/kamailio.pre-upgrade @@ -0,0 +1 @@ +kamailio.pre-install
\ No newline at end of file diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD index 328368895..bb3643117 100644 --- a/main/libc0.9.32/APKBUILD +++ b/main/libc0.9.32/APKBUILD @@ -3,7 +3,7 @@ _abiver=0.9.32 pkgname=libc$_abiver _gitver=1006300816 pkgver=${_abiver}_alpha0_git$_gitver -pkgrel=1 +pkgrel=2 pkgdesc="C library for developing embedded Linux systems" url=http://uclibc.org license="LGPL-2" @@ -21,6 +21,7 @@ source="http://build.alpinelinux.org:8010/distfiles/$_snapfile uclibc-lutimes.patch uclibc-resolv-tls.patch uclibc-gcc-workaround.patch + no-posix-spawn.patch uclibcconfig.x86 uclibcconfig.i486 " @@ -103,5 +104,6 @@ md5sums="b7af86c013378888fbd345c47ad21c3a libc0.9.32-0.9.32_alpha0_git100630081 4d0b8170e6580b47bf5775e65a6f081e uclibc-lutimes.patch d08831b452acdeaa3037525ee617edab uclibc-resolv-tls.patch a88b7f394c86dc7aa606c9e338e35515 uclibc-gcc-workaround.patch +cb3bfda1619a04218282cd02e3cdb4da no-posix-spawn.patch e2eb3bb00a0fe4d6f3d5b5c56b027bab uclibcconfig.x86 e2eb3bb00a0fe4d6f3d5b5c56b027bab uclibcconfig.i486" diff --git a/main/libc0.9.32/no-posix-spawn.patch b/main/libc0.9.32/no-posix-spawn.patch new file mode 100644 index 000000000..c87e56491 --- /dev/null +++ b/main/libc0.9.32/no-posix-spawn.patch @@ -0,0 +1,24 @@ +commit 177538eb191c297ac146c843ff68d80ecfe9a87b +Author: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri Jul 30 07:51:45 2010 +0000 + + nptl: do not define _POSIX_SPAWN since its not implemented + + Building things like vlc checks if _POSIX_SPAWN is defined. Since + posix_spawn is not implemented we dont define it. + +diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h b/libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h +index 2550355..6fbdbb7 100644 +--- a/libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h ++++ b/libpthread/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h +@@ -143,8 +143,10 @@ + /* We support spinlocks. */ + #define _POSIX_SPIN_LOCKS 200809L + ++#if 0 + /* The `spawn' function family is supported. */ + #define _POSIX_SPAWN 200809L ++#endif + + /* We have POSIX timers. */ + #define _POSIX_TIMERS 200809L diff --git a/main/libtheora/APKBUILD b/main/libtheora/APKBUILD index 700a7c79f..f306c0581 100644 --- a/main/libtheora/APKBUILD +++ b/main/libtheora/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=libtheora pkgver=1.1.1 -pkgrel=4 +pkgrel=5 pkgdesc="An open video codec developed by the Xiph.org" url="http://www.xiph.org" license="custom" @@ -9,23 +9,37 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-examples" depends= makedepends="libvorbis-dev libogg-dev sdl-dev autoconf automake libtool" source="http://downloads.xiph.org/releases/theora/$pkgname-$pkgver.tar.bz2 - libtheora-flags.patch" + libtheora-flags.patch + enc.patch + " depends_dev="libogg-dev" -build() { - cd "$srcdir"/libtheora-$pkgver - patch -p1 -i ../libtheora-flags.patch || return 1 +_builddir="$srcdir"/libtheora-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + esac + done aclocal -I m4 && autoconf && automake && libtoolize || return 1 +} +build() { + cd "$_builddir" ./configure --prefix=/usr \ --enable-shared \ --disable-static || return 1 + cd lib && make || return 1 + cd .. make || return 1 } package() { - cd "$srcdir"/libtheora-$pkgver + cd "$_builddir" make DESTDIR="$pkgdir" install || return 1 install -m755 -d ""$pkgdir"/usr/share/licenses/$pkgname" install -m644 LICENSE COPYING "$pkgdir"/usr/share/licenses/$pkgname/ @@ -33,11 +47,12 @@ package() { examples() { pkgdesc="Example applications for libtheora" - cd "$srcdir"/libtheora-$pkgver/examples + cd "$_builddir"/examples install -d "$subpkgdir"/usr/bin install -m755 dump_psnr player_example dump_video encoder_example \ "$subpkgdir"/usr/bin/ } md5sums="292ab65cedd5021d6b7ddd117e07cd8e libtheora-1.1.1.tar.bz2 -7cbab1ce1f52adb98e1c241515a27aca libtheora-flags.patch" +7cbab1ce1f52adb98e1c241515a27aca libtheora-flags.patch +5024b6c41351433bf0e8a354969f8efd enc.patch" diff --git a/main/libtheora/enc.patch b/main/libtheora/enc.patch new file mode 100644 index 000000000..ea604d28e --- /dev/null +++ b/main/libtheora/enc.patch @@ -0,0 +1,11 @@ +--- ./lib/Makefile.am.orig ++++ ./lib/Makefile.am +@@ -152,7 +154,7 @@ + Version_script-enc theoraenc.exp + libtheoraenc_la_LDFLAGS = \ + -version-info @THENC_LIB_CURRENT@:@THENC_LIB_REVISION@:@THENC_LIB_AGE@ \ +- @THEORAENC_LDFLAGS@ $(OGG_LIBS) ++ -ltheoradec @THEORAENC_LDFLAGS@ $(OGG_LIBS) + + libtheora_la_SOURCES = \ + $(decoder_sources) \ diff --git a/main/libusb-compat/APKBUILD b/main/libusb-compat/APKBUILD index 9a7b687a7..cd4ac0232 100644 --- a/main/libusb-compat/APKBUILD +++ b/main/libusb-compat/APKBUILD @@ -1,13 +1,14 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=libusb-compat pkgver=0.1.0 -pkgrel=3 +pkgrel=4 pkgdesc="Compatility for older libusb" url="http://libusb.sourceforge.net/" license="LGPL" subpackages="$pkgname-dev" depends= makedepends="libusb-dev" +depends_dev="libusb-dev" source="http://downloads.sourceforge.net/libusb/$pkgname-$pkgver.tar.bz2" build() { diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD index 07993f965..d3fca9fad 100644 --- a/main/linux-grsec/APKBUILD +++ b/main/linux-grsec/APKBUILD @@ -4,7 +4,7 @@ _flavor=grsec pkgname=linux-${_flavor} pkgver=2.6.32.16 _kernver=2.6.32 -pkgrel=3 +pkgrel=4 pkgdesc="Linux kernel with grsecurity" url=http://grsecurity.net depends="mkinitfs linux-firmware" @@ -14,7 +14,7 @@ _config=${config:-kernelconfig.${CARCH:-x86}} install= source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 - grsecurity-2.2.0-2.6.32.16-201007112149.patch + grsecurity-2.2.0-2.6.32.16-201007162107.patch 0001-grsec-revert-conflicting-flow-cache-changes.patch 0002-gre-fix-hard-header-destination-address-checking.patch 0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch @@ -149,7 +149,7 @@ firmware() { md5sums="260551284ac224c3a43c4adac7df4879 linux-2.6.32.tar.bz2 744890f9651962ceae7663d44b19df65 patch-2.6.32.16.bz2 -34e3f7fe893034d29530ec1bd5584a33 grsecurity-2.2.0-2.6.32.16-201007112149.patch +feb09c4053225d0d13272af504075636 grsecurity-2.2.0-2.6.32.16-201007162107.patch 1d247140abec49b96250aec9aa59b324 0001-grsec-revert-conflicting-flow-cache-changes.patch 437317f88ec13ace8d39c31983a41696 0002-gre-fix-hard-header-destination-address-checking.patch 151b29a161178ed39d62a08f21f3484d 0003-ip_gre-include-route-header_len-in-max_headroom-calc.patch diff --git a/main/linux-grsec/grsecurity-2.2.0-2.6.32.16-201007112149.patch b/main/linux-grsec/grsecurity-2.2.0-2.6.32.16-201007162107.patch index e9f38fe06..e74253e17 100644 --- a/main/linux-grsec/grsecurity-2.2.0-2.6.32.16-201007112149.patch +++ b/main/linux-grsec/grsecurity-2.2.0-2.6.32.16-201007162107.patch @@ -8137,7 +8137,7 @@ diff -urNp linux-2.6.32.16/arch/x86/include/asm/pgtable.h linux-2.6.32.16/arch/x #endif /* __ASSEMBLY__ */ diff -urNp linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h --- linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h 2010-07-05 14:14:00.000000000 -0400 -+++ linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h 2010-07-09 14:50:35.000000000 -0400 ++++ linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h 2010-07-16 21:06:43.000000000 -0400 @@ -16,12 +16,11 @@ #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */ #define _PAGE_BIT_PAT 7 /* on 4KB pages */ @@ -8205,7 +8205,43 @@ diff -urNp linux-2.6.32.16/arch/x86/include/asm/pgtable_types.h linux-2.6.32.16/ #define PGD_IDENT_ATTR 0x001 /* PRESENT (no other attributes) */ #endif -@@ -278,7 +281,16 @@ typedef struct page *pgtable_t; +@@ -202,7 +205,17 @@ static inline pgdval_t pgd_flags(pgd_t p + { + return native_pgd_val(pgd) & PTE_FLAGS_MASK; + } ++#endif + ++#if PAGETABLE_LEVELS == 3 ++#include <asm-generic/pgtable-nopud.h> ++#endif ++ ++#if PAGETABLE_LEVELS == 2 ++#include <asm-generic/pgtable-nopmd.h> ++#endif ++ ++#ifndef __ASSEMBLY__ + #if PAGETABLE_LEVELS > 3 + typedef struct { pudval_t pud; } pud_t; + +@@ -216,8 +229,6 @@ static inline pudval_t native_pud_val(pu + return pud.pud; + } + #else +-#include <asm-generic/pgtable-nopud.h> +- + static inline pudval_t native_pud_val(pud_t pud) + { + return native_pgd_val(pud.pgd); +@@ -237,8 +248,6 @@ static inline pmdval_t native_pmd_val(pm + return pmd.pmd; + } + #else +-#include <asm-generic/pgtable-nopmd.h> +- + static inline pmdval_t native_pmd_val(pmd_t pmd) + { + return native_pgd_val(pmd.pud.pgd); +@@ -278,7 +287,16 @@ typedef struct page *pgtable_t; extern pteval_t __supported_pte_mask; extern void set_nx(void); @@ -15827,7 +15863,7 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/mmx_32.c linux-2.6.32.16/arch/x86/lib/mm to += 64; diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/putuser.S --- linux-2.6.32.16/arch/x86/lib/putuser.S 2010-07-05 14:14:00.000000000 -0400 -+++ linux-2.6.32.16/arch/x86/lib/putuser.S 2010-07-11 20:00:44.000000000 -0400 ++++ linux-2.6.32.16/arch/x86/lib/putuser.S 2010-07-16 21:06:43.000000000 -0400 @@ -15,7 +15,8 @@ #include <asm/thread_info.h> #include <asm/errno.h> @@ -15838,7 +15874,7 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p /* * __put_user_X -@@ -29,59 +30,156 @@ +@@ -29,59 +30,162 @@ * as they get called from within inline assembly. */ @@ -15848,6 +15884,12 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p #define EXIT ret ; \ CFI_ENDPROC ++#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) ++#define _DEST %_ASM_CX,%_ASM_BX ++#else ++#define _DEST %_ASM_CX ++#endif ++ .text ENTRY(__put_user_1) ENTER @@ -15859,18 +15901,19 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p + GET_THREAD_INFO(%_ASM_BX) cmp TI_addr_limit(%_ASM_BX),%_ASM_CX jae bad_put_user +-1: movb %al,(%_ASM_CX) + +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + mov $PAX_USER_SHADOW_BASE,%_ASM_BX + cmp %_ASM_BX,%_ASM_CX -+ jae 1234f -+ add %_ASM_BX,%_ASM_CX ++ jb 1234f ++ xor %ebx,%ebx +1234: +#endif + +#endif + - 1: movb %al,(%_ASM_CX) ++1: movb %al,(_DEST) + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) + pushl %ss @@ -15893,18 +15936,19 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p sub $1,%_ASM_BX cmp %_ASM_BX,%_ASM_CX jae bad_put_user +-2: movw %ax,(%_ASM_CX) + +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + mov $PAX_USER_SHADOW_BASE,%_ASM_BX + cmp %_ASM_BX,%_ASM_CX -+ jae 1234f -+ add %_ASM_BX,%_ASM_CX ++ jb 1234f ++ xor %ebx,%ebx +1234: +#endif + +#endif + - 2: movw %ax,(%_ASM_CX) ++2: movw %ax,(_DEST) + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) + pushl %ss @@ -15927,18 +15971,19 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p sub $3,%_ASM_BX cmp %_ASM_BX,%_ASM_CX jae bad_put_user +-3: movl %eax,(%_ASM_CX) + +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + mov $PAX_USER_SHADOW_BASE,%_ASM_BX + cmp %_ASM_BX,%_ASM_CX -+ jae 1234f -+ add %_ASM_BX,%_ASM_CX ++ jb 1234f ++ xor %ebx,%ebx +1234: +#endif + +#endif + - 3: movl %eax,(%_ASM_CX) ++3: movl %eax,(_DEST) + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) + pushl %ss @@ -15961,20 +16006,22 @@ diff -urNp linux-2.6.32.16/arch/x86/lib/putuser.S linux-2.6.32.16/arch/x86/lib/p sub $7,%_ASM_BX cmp %_ASM_BX,%_ASM_CX jae bad_put_user +-4: mov %_ASM_AX,(%_ASM_CX) + +#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) + mov $PAX_USER_SHADOW_BASE,%_ASM_BX + cmp %_ASM_BX,%_ASM_CX -+ jae 1234f -+ add %_ASM_BX,%_ASM_CX ++ jb 1234f ++ xor %ebx,%ebx +1234: +#endif + +#endif + - 4: mov %_ASM_AX,(%_ASM_CX) ++4: mov %_ASM_AX,(_DEST) #ifdef CONFIG_X86_32 - 5: movl %edx,4(%_ASM_CX) +-5: movl %edx,4(%_ASM_CX) ++5: movl %edx,4(_DEST) #endif + +#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) @@ -18688,7 +18735,7 @@ diff -urNp linux-2.6.32.16/arch/x86/mm/pageattr-test.c linux-2.6.32.16/arch/x86/ struct split_state { diff -urNp linux-2.6.32.16/arch/x86/mm/pat.c linux-2.6.32.16/arch/x86/mm/pat.c --- linux-2.6.32.16/arch/x86/mm/pat.c 2010-07-05 14:14:00.000000000 -0400 -+++ linux-2.6.32.16/arch/x86/mm/pat.c 2010-07-09 14:50:35.000000000 -0400 ++++ linux-2.6.32.16/arch/x86/mm/pat.c 2010-07-16 21:06:43.000000000 -0400 @@ -258,7 +258,7 @@ chk_conflict(struct memtype *new, struct conflict: @@ -18707,6 +18754,17 @@ diff -urNp linux-2.6.32.16/arch/x86/mm/pat.c linux-2.6.32.16/arch/x86/mm/pat.c } dprintk("free_memtype request 0x%Lx-0x%Lx\n", start, end); +@@ -689,8 +689,8 @@ static inline int range_is_allowed(unsig + while (cursor < to) { + if (!devmem_is_allowed(pfn)) { + printk(KERN_INFO +- "Program %s tried to access /dev/mem between %Lx->%Lx.\n", +- current->comm, from, to); ++ "Program %s tried to access /dev/mem between %Lx->%Lx (%Lx).\n", ++ current->comm, from, to, cursor); + return 0; + } + cursor += PAGE_SIZE; @@ -755,7 +755,7 @@ int kernel_map_sync_memtype(u64 base, un printk(KERN_INFO "%s:%d ioremap_change_attr failed %s " @@ -20136,7 +20194,7 @@ diff -urNp linux-2.6.32.16/crypto/lrw.c linux-2.6.32.16/crypto/lrw.c crypto_cipher_clear_flags(child, CRYPTO_TFM_REQ_MASK); diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/dontdiff --- linux-2.6.32.16/Documentation/dontdiff 2010-07-05 14:14:00.000000000 -0400 -+++ linux-2.6.32.16/Documentation/dontdiff 2010-07-09 14:50:35.000000000 -0400 ++++ linux-2.6.32.16/Documentation/dontdiff 2010-07-16 21:06:43.000000000 -0400 @@ -3,6 +3,7 @@ *.bin *.cpio @@ -20145,15 +20203,18 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ *.dsp *.dvi *.elf -@@ -40,6 +41,7 @@ +@@ -38,8 +39,10 @@ + *.tab.h + *.tex *.ver ++*.vim *.xml *_MODULES +*_reg_safe.h *_vga16.c *~ *.9 -@@ -49,11 +51,16 @@ +@@ -49,11 +52,16 @@ 53c700_d.h CVS ChangeSet @@ -20170,7 +20231,7 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ SCCS System.map* TAGS -@@ -76,7 +83,10 @@ btfixupprep +@@ -76,7 +84,10 @@ btfixupprep build bvmlinux bzImage* @@ -20181,7 +20242,7 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ comp*.log compile.h* conf -@@ -103,13 +113,14 @@ gen_crc32table +@@ -103,13 +114,14 @@ gen_crc32table gen_init_cpio genksyms *_gray256.c @@ -20197,7 +20258,7 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ keywords.c ksym.c* ksym.h* -@@ -133,7 +144,9 @@ mkboot +@@ -133,7 +145,9 @@ mkboot mkbugboot mkcpustr mkdep @@ -20207,7 +20268,7 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ mktables mktree modpost -@@ -149,6 +162,7 @@ patches* +@@ -149,6 +163,7 @@ patches* pca200e.bin pca200e_ecd.bin2 piggy.gz @@ -20215,7 +20276,14 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ piggyback pnmtologo ppc_defs.h* -@@ -163,6 +177,7 @@ setup +@@ -157,12 +172,14 @@ qconf + raid6altivec*.c + raid6int*.c + raid6tables.c ++regdb.c + relocs + series + setup setup.bin setup.elf sImage @@ -20223,7 +20291,7 @@ diff -urNp linux-2.6.32.16/Documentation/dontdiff linux-2.6.32.16/Documentation/ sm_tbl* split-include syscalltab.h -@@ -186,14 +201,20 @@ version.h* +@@ -186,14 +203,20 @@ version.h* vmlinux vmlinux-* vmlinux.aout @@ -44351,6 +44419,78 @@ diff -urNp linux-2.6.32.16/include/asm-generic/pgtable.h linux-2.6.32.16/include #endif /* !__ASSEMBLY__ */ #endif /* _ASM_GENERIC_PGTABLE_H */ +diff -urNp linux-2.6.32.16/include/asm-generic/pgtable-nopmd.h linux-2.6.32.16/include/asm-generic/pgtable-nopmd.h +--- linux-2.6.32.16/include/asm-generic/pgtable-nopmd.h 2010-07-05 14:14:00.000000000 -0400 ++++ linux-2.6.32.16/include/asm-generic/pgtable-nopmd.h 2010-07-16 21:06:43.000000000 -0400 +@@ -1,14 +1,19 @@ + #ifndef _PGTABLE_NOPMD_H + #define _PGTABLE_NOPMD_H + +-#ifndef __ASSEMBLY__ +- + #include <asm-generic/pgtable-nopud.h> + +-struct mm_struct; +- + #define __PAGETABLE_PMD_FOLDED + ++#define PMD_SHIFT PUD_SHIFT ++#define PTRS_PER_PMD 1 ++#define PMD_SIZE (_AC(1,UL) << PMD_SHIFT) ++#define PMD_MASK (~(PMD_SIZE-1)) ++ ++#ifndef __ASSEMBLY__ ++ ++struct mm_struct; ++ + /* + * Having the pmd type consist of a pud gets the size right, and allows + * us to conceptually access the pud entry that this pmd is folded into +@@ -16,11 +21,6 @@ struct mm_struct; + */ + typedef struct { pud_t pud; } pmd_t; + +-#define PMD_SHIFT PUD_SHIFT +-#define PTRS_PER_PMD 1 +-#define PMD_SIZE (1UL << PMD_SHIFT) +-#define PMD_MASK (~(PMD_SIZE-1)) +- + /* + * The "pud_xxx()" functions here are trivial for a folded two-level + * setup: the pmd is never bad, and a pmd always exists (as it's folded +diff -urNp linux-2.6.32.16/include/asm-generic/pgtable-nopud.h linux-2.6.32.16/include/asm-generic/pgtable-nopud.h +--- linux-2.6.32.16/include/asm-generic/pgtable-nopud.h 2010-07-05 14:14:00.000000000 -0400 ++++ linux-2.6.32.16/include/asm-generic/pgtable-nopud.h 2010-07-16 21:06:43.000000000 -0400 +@@ -1,10 +1,15 @@ + #ifndef _PGTABLE_NOPUD_H + #define _PGTABLE_NOPUD_H + +-#ifndef __ASSEMBLY__ +- + #define __PAGETABLE_PUD_FOLDED + ++#define PUD_SHIFT PGDIR_SHIFT ++#define PTRS_PER_PUD 1 ++#define PUD_SIZE (_AC(1,UL) << PUD_SHIFT) ++#define PUD_MASK (~(PUD_SIZE-1)) ++ ++#ifndef __ASSEMBLY__ ++ + /* + * Having the pud type consist of a pgd gets the size right, and allows + * us to conceptually access the pgd entry that this pud is folded into +@@ -12,11 +17,6 @@ + */ + typedef struct { pgd_t pgd; } pud_t; + +-#define PUD_SHIFT PGDIR_SHIFT +-#define PTRS_PER_PUD 1 +-#define PUD_SIZE (1UL << PUD_SHIFT) +-#define PUD_MASK (~(PUD_SIZE-1)) +- + /* + * The "pgd_xxx()" functions here are trivial for a folded two-level + * setup: the pud is never bad, and a pud always exists (as it's folded diff -urNp linux-2.6.32.16/include/asm-generic/vmlinux.lds.h linux-2.6.32.16/include/asm-generic/vmlinux.lds.h --- linux-2.6.32.16/include/asm-generic/vmlinux.lds.h 2010-07-05 14:14:00.000000000 -0400 +++ linux-2.6.32.16/include/asm-generic/vmlinux.lds.h 2010-07-09 14:50:38.000000000 -0400 @@ -46493,6 +46633,18 @@ diff -urNp linux-2.6.32.16/include/linux/mmu_notifier.h linux-2.6.32.16/include/ }) #define ptep_clear_flush_young_notify(__vma, __address, __ptep) \ +diff -urNp linux-2.6.32.16/include/linux/mmzone.h linux-2.6.32.16/include/linux/mmzone.h +--- linux-2.6.32.16/include/linux/mmzone.h 2010-07-05 14:14:00.000000000 -0400 ++++ linux-2.6.32.16/include/linux/mmzone.h 2010-07-16 21:06:43.000000000 -0400 +@@ -343,7 +343,7 @@ struct zone { + unsigned long flags; /* zone flags, see below */ + + /* Zone statistics */ +- atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; ++ atomic_long_unchecked_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; + + /* + * prev_priority holds the scanning priority for this zone. It is diff -urNp linux-2.6.32.16/include/linux/mod_devicetable.h linux-2.6.32.16/include/linux/mod_devicetable.h --- linux-2.6.32.16/include/linux/mod_devicetable.h 2010-07-05 14:14:00.000000000 -0400 +++ linux-2.6.32.16/include/linux/mod_devicetable.h 2010-07-09 14:50:38.000000000 -0400 @@ -47502,6 +47654,63 @@ diff -urNp linux-2.6.32.16/include/linux/vmalloc.h linux-2.6.32.16/include/linux +}) + #endif /* _LINUX_VMALLOC_H */ +diff -urNp linux-2.6.32.16/include/linux/vmstat.h linux-2.6.32.16/include/linux/vmstat.h +--- linux-2.6.32.16/include/linux/vmstat.h 2010-07-05 14:14:00.000000000 -0400 ++++ linux-2.6.32.16/include/linux/vmstat.h 2010-07-16 21:06:43.000000000 -0400 +@@ -136,18 +136,18 @@ static inline void vm_events_fold_cpu(in + /* + * Zone based page accounting with per cpu differentials. + */ +-extern atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; ++extern atomic_long_unchecked_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; + + static inline void zone_page_state_add(long x, struct zone *zone, + enum zone_stat_item item) + { +- atomic_long_add(x, &zone->vm_stat[item]); +- atomic_long_add(x, &vm_stat[item]); ++ atomic_long_add_unchecked(x, &zone->vm_stat[item]); ++ atomic_long_add_unchecked(x, &vm_stat[item]); + } + + static inline unsigned long global_page_state(enum zone_stat_item item) + { +- long x = atomic_long_read(&vm_stat[item]); ++ long x = atomic_long_read_unchecked(&vm_stat[item]); + #ifdef CONFIG_SMP + if (x < 0) + x = 0; +@@ -158,7 +158,7 @@ static inline unsigned long global_page_ + static inline unsigned long zone_page_state(struct zone *zone, + enum zone_stat_item item) + { +- long x = atomic_long_read(&zone->vm_stat[item]); ++ long x = atomic_long_read_unchecked(&zone->vm_stat[item]); + #ifdef CONFIG_SMP + if (x < 0) + x = 0; +@@ -242,8 +242,8 @@ static inline void __mod_zone_page_state + + static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item) + { +- atomic_long_inc(&zone->vm_stat[item]); +- atomic_long_inc(&vm_stat[item]); ++ atomic_long_inc_unchecked(&zone->vm_stat[item]); ++ atomic_long_inc_unchecked(&vm_stat[item]); + } + + static inline void __inc_zone_page_state(struct page *page, +@@ -254,8 +254,8 @@ static inline void __inc_zone_page_state + + static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item) + { +- atomic_long_dec(&zone->vm_stat[item]); +- atomic_long_dec(&vm_stat[item]); ++ atomic_long_dec_unchecked(&zone->vm_stat[item]); ++ atomic_long_dec_unchecked(&vm_stat[item]); + } + + static inline void __dec_zone_page_state(struct page *page, diff -urNp linux-2.6.32.16/include/net/irda/ircomm_tty.h linux-2.6.32.16/include/net/irda/ircomm_tty.h --- linux-2.6.32.16/include/net/irda/ircomm_tty.h 2010-07-05 14:14:00.000000000 -0400 +++ linux-2.6.32.16/include/net/irda/ircomm_tty.h 2010-07-09 14:50:38.000000000 -0400 @@ -51578,7 +51787,7 @@ diff -urNp linux-2.6.32.16/mm/mlock.c linux-2.6.32.16/mm/mlock.c ret = do_mlockall(flags); diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c --- linux-2.6.32.16/mm/mmap.c 2010-07-05 14:14:00.000000000 -0400 -+++ linux-2.6.32.16/mm/mmap.c 2010-07-09 14:50:38.000000000 -0400 ++++ linux-2.6.32.16/mm/mmap.c 2010-07-16 21:06:43.000000000 -0400 @@ -45,6 +45,16 @@ #define arch_rebalance_pgtables(addr, len) (addr) #endif @@ -51793,22 +52002,18 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (addr & ~PAGE_MASK) return addr; -@@ -959,6 +1035,26 @@ unsigned long do_mmap_pgoff(struct file +@@ -959,6 +1035,22 @@ unsigned long do_mmap_pgoff(struct file vm_flags = calc_vm_prot_bits(prot) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; -+#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) -+ if (mm->pax_flags & (MF_PAX_PAGEEXEC | MF_PAX_SEGMEXEC)) { -+ +#ifdef CONFIG_PAX_MPROTECT -+ if (mm->pax_flags & MF_PAX_MPROTECT) { -+ if ((prot & (PROT_WRITE | PROT_EXEC)) != PROT_EXEC) -+ vm_flags &= ~(VM_EXEC | VM_MAYEXEC); -+ else -+ vm_flags &= ~(VM_WRITE | VM_MAYWRITE); -+ } -+#endif -+ ++ if (mm->pax_flags & MF_PAX_MPROTECT) { ++ if ((prot & (PROT_WRITE | PROT_EXEC)) == (PROT_WRITE | PROT_EXEC)) ++ return -EPERM; ++ if (!(prot & PROT_EXEC)) ++ vm_flags &= ~VM_MAYEXEC; ++ else ++ vm_flags &= ~VM_MAYWRITE; + } +#endif + @@ -51820,7 +52025,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -970,6 +1066,7 @@ unsigned long do_mmap_pgoff(struct file +@@ -970,6 +1062,7 @@ unsigned long do_mmap_pgoff(struct file locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>= PAGE_SHIFT; @@ -51828,7 +52033,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; } -@@ -1043,6 +1140,9 @@ unsigned long do_mmap_pgoff(struct file +@@ -1043,6 +1136,9 @@ unsigned long do_mmap_pgoff(struct file if (error) return error; @@ -51838,7 +52043,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return mmap_region(file, addr, len, flags, vm_flags, pgoff); } EXPORT_SYMBOL(do_mmap_pgoff); -@@ -1055,10 +1155,10 @@ EXPORT_SYMBOL(do_mmap_pgoff); +@@ -1055,10 +1151,10 @@ EXPORT_SYMBOL(do_mmap_pgoff); */ int vma_wants_writenotify(struct vm_area_struct *vma) { @@ -51851,7 +52056,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return 0; /* The backer wishes to know when pages are first written to? */ -@@ -1107,14 +1207,24 @@ unsigned long mmap_region(struct file *f +@@ -1107,14 +1203,24 @@ unsigned long mmap_region(struct file *f unsigned long charged = 0; struct inode *inode = file ? file->f_path.dentry->d_inode : NULL; @@ -51878,7 +52083,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c } /* Check against address space limit. */ -@@ -1163,6 +1273,16 @@ munmap_back: +@@ -1163,6 +1269,16 @@ munmap_back: goto unacct_error; } @@ -51895,7 +52100,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c vma->vm_mm = mm; vma->vm_start = addr; vma->vm_end = addr + len; -@@ -1185,6 +1305,19 @@ munmap_back: +@@ -1185,6 +1301,19 @@ munmap_back: error = file->f_op->mmap(file, vma); if (error) goto unmap_and_free_vma; @@ -51915,7 +52120,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (vm_flags & VM_EXECUTABLE) added_exe_file_vma(mm); -@@ -1208,6 +1341,11 @@ munmap_back: +@@ -1208,6 +1337,11 @@ munmap_back: vma_link(mm, vma, prev, rb_link, rb_parent); file = vma->vm_file; @@ -51927,7 +52132,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* Once vma denies write, undo our temporary denial count */ if (correct_wcount) atomic_inc(&inode->i_writecount); -@@ -1216,6 +1354,7 @@ out: +@@ -1216,6 +1350,7 @@ out: mm->total_vm += len >> PAGE_SHIFT; vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); @@ -51935,7 +52140,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (vm_flags & VM_LOCKED) { /* * makes pages present; downgrades, drops, reacquires mmap_sem -@@ -1238,6 +1377,12 @@ unmap_and_free_vma: +@@ -1238,6 +1373,12 @@ unmap_and_free_vma: unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); charged = 0; free_vma: @@ -51948,7 +52153,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c kmem_cache_free(vm_area_cachep, vma); unacct_error: if (charged) -@@ -1271,6 +1416,10 @@ arch_get_unmapped_area(struct file *filp +@@ -1271,6 +1412,10 @@ arch_get_unmapped_area(struct file *filp if (flags & MAP_FIXED) return addr; @@ -51959,7 +52164,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (addr) { addr = PAGE_ALIGN(addr); vma = find_vma(mm, addr); -@@ -1279,10 +1428,10 @@ arch_get_unmapped_area(struct file *filp +@@ -1279,10 +1424,10 @@ arch_get_unmapped_area(struct file *filp return addr; } if (len > mm->cached_hole_size) { @@ -51973,7 +52178,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c } full_search: -@@ -1293,9 +1442,8 @@ full_search: +@@ -1293,9 +1438,8 @@ full_search: * Start a new search - just in case we missed * some holes. */ @@ -51985,7 +52190,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c mm->cached_hole_size = 0; goto full_search; } -@@ -1317,10 +1465,16 @@ full_search: +@@ -1317,10 +1461,16 @@ full_search: void arch_unmap_area(struct mm_struct *mm, unsigned long addr) { @@ -52003,7 +52208,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c mm->free_area_cache = addr; mm->cached_hole_size = ~0UL; } -@@ -1338,7 +1492,7 @@ arch_get_unmapped_area_topdown(struct fi +@@ -1338,7 +1488,7 @@ arch_get_unmapped_area_topdown(struct fi { struct vm_area_struct *vma; struct mm_struct *mm = current->mm; @@ -52012,7 +52217,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* requested length too big for entire address space */ if (len > TASK_SIZE) -@@ -1347,6 +1501,10 @@ arch_get_unmapped_area_topdown(struct fi +@@ -1347,6 +1497,10 @@ arch_get_unmapped_area_topdown(struct fi if (flags & MAP_FIXED) return addr; @@ -52023,7 +52228,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* requesting a specific address */ if (addr) { addr = PAGE_ALIGN(addr); -@@ -1404,13 +1562,21 @@ bottomup: +@@ -1404,13 +1558,21 @@ bottomup: * can happen with large stack limits and large mmap() * allocations. */ @@ -52047,7 +52252,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c mm->cached_hole_size = ~0UL; return addr; -@@ -1419,6 +1585,12 @@ bottomup: +@@ -1419,6 +1581,12 @@ bottomup: void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) { @@ -52060,7 +52265,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * Is this a new hole at the highest possible address? */ -@@ -1426,8 +1598,10 @@ void arch_unmap_area_topdown(struct mm_s +@@ -1426,8 +1594,10 @@ void arch_unmap_area_topdown(struct mm_s mm->free_area_cache = addr; /* dont allow allocations above current base */ @@ -52072,7 +52277,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c } unsigned long -@@ -1535,6 +1709,27 @@ out: +@@ -1535,6 +1705,27 @@ out: return prev ? prev->vm_next : vma; } @@ -52100,7 +52305,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * Verify that the stack growth is acceptable and * update accounting. This is shared with both the -@@ -1551,6 +1746,7 @@ static int acct_stack_growth(struct vm_a +@@ -1551,6 +1742,7 @@ static int acct_stack_growth(struct vm_a return -ENOMEM; /* Stack limit test */ @@ -52108,7 +52313,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (size > rlim[RLIMIT_STACK].rlim_cur) return -ENOMEM; -@@ -1560,6 +1756,7 @@ static int acct_stack_growth(struct vm_a +@@ -1560,6 +1752,7 @@ static int acct_stack_growth(struct vm_a unsigned long limit; locked = mm->locked_vm + grow; limit = rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT; @@ -52116,7 +52321,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (locked > limit && !capable(CAP_IPC_LOCK)) return -ENOMEM; } -@@ -1595,35 +1792,40 @@ static +@@ -1595,35 +1788,40 @@ static #endif int expand_upwards(struct vm_area_struct *vma, unsigned long address) { @@ -52167,7 +52372,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c unsigned long size, grow; size = address - vma->vm_start; -@@ -1633,6 +1835,8 @@ int expand_upwards(struct vm_area_struct +@@ -1633,6 +1831,8 @@ int expand_upwards(struct vm_area_struct if (!error) vma->vm_end = address; } @@ -52176,7 +52381,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c anon_vma_unlock(vma); return error; } -@@ -1644,7 +1848,8 @@ int expand_upwards(struct vm_area_struct +@@ -1644,7 +1844,8 @@ int expand_upwards(struct vm_area_struct static int expand_downwards(struct vm_area_struct *vma, unsigned long address) { @@ -52186,7 +52391,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * We must make sure the anon_vma is allocated -@@ -1658,6 +1863,15 @@ static int expand_downwards(struct vm_ar +@@ -1658,6 +1859,15 @@ static int expand_downwards(struct vm_ar if (error) return error; @@ -52202,7 +52407,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c anon_vma_lock(vma); /* -@@ -1667,9 +1881,15 @@ static int expand_downwards(struct vm_ar +@@ -1667,9 +1877,15 @@ static int expand_downwards(struct vm_ar */ /* Somebody else might have raced and expanded it already */ @@ -52219,7 +52424,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c size = vma->vm_end - address; grow = (vma->vm_start - address) >> PAGE_SHIFT; -@@ -1677,9 +1897,20 @@ static int expand_downwards(struct vm_ar +@@ -1677,9 +1893,20 @@ static int expand_downwards(struct vm_ar if (!error) { vma->vm_start = address; vma->vm_pgoff -= grow; @@ -52240,7 +52445,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return error; } -@@ -1755,6 +1986,13 @@ static void remove_vma_list(struct mm_st +@@ -1755,6 +1982,13 @@ static void remove_vma_list(struct mm_st do { long nrpages = vma_pages(vma); @@ -52254,7 +52459,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c mm->total_vm -= nrpages; vm_stat_account(mm, vma->vm_flags, vma->vm_file, -nrpages); vma = remove_vma(vma); -@@ -1799,6 +2037,16 @@ detach_vmas_to_be_unmapped(struct mm_str +@@ -1799,6 +2033,16 @@ detach_vmas_to_be_unmapped(struct mm_str insertion_point = (prev ? &prev->vm_next : &mm->mmap); do { @@ -52271,7 +52476,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c rb_erase(&vma->vm_rb, &mm->mm_rb); mm->map_count--; tail_vma = vma; -@@ -1824,10 +2072,25 @@ int split_vma(struct mm_struct * mm, str +@@ -1824,10 +2068,25 @@ int split_vma(struct mm_struct * mm, str struct mempolicy *pol; struct vm_area_struct *new; @@ -52297,7 +52502,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (mm->map_count >= sysctl_max_map_count) return -ENOMEM; -@@ -1835,6 +2098,16 @@ int split_vma(struct mm_struct * mm, str +@@ -1835,6 +2094,16 @@ int split_vma(struct mm_struct * mm, str if (!new) return -ENOMEM; @@ -52314,7 +52519,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* most fields are the same, copy all, and then fixup */ *new = *vma; -@@ -1845,8 +2118,29 @@ int split_vma(struct mm_struct * mm, str +@@ -1845,8 +2114,29 @@ int split_vma(struct mm_struct * mm, str new->vm_pgoff += ((addr - vma->vm_start) >> PAGE_SHIFT); } @@ -52344,7 +52549,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c kmem_cache_free(vm_area_cachep, new); return PTR_ERR(pol); } -@@ -1867,6 +2161,28 @@ int split_vma(struct mm_struct * mm, str +@@ -1867,6 +2157,28 @@ int split_vma(struct mm_struct * mm, str else vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -52373,13 +52578,13 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return 0; } -@@ -1875,11 +2191,30 @@ int split_vma(struct mm_struct * mm, str +@@ -1875,11 +2187,30 @@ int split_vma(struct mm_struct * mm, str * work. This now handles partial unmappings. * Jeremy Fitzhardinge <jeremy@goop.org> */ +#ifdef CONFIG_PAX_SEGMEXEC - int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) - { ++int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) ++{ + int ret = __do_munmap(mm, start, len); + if (ret || !(mm->pax_flags & MF_PAX_SEGMEXEC)) + return ret; @@ -52389,9 +52594,9 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c + +int __do_munmap(struct mm_struct *mm, unsigned long start, size_t len) +#else -+int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) + int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) +#endif -+{ + { unsigned long end; struct vm_area_struct *vma, *prev, *last; @@ -52404,7 +52609,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if ((start & ~PAGE_MASK) || start > TASK_SIZE || len > TASK_SIZE-start) return -EINVAL; -@@ -1943,6 +2278,8 @@ int do_munmap(struct mm_struct *mm, unsi +@@ -1943,6 +2274,8 @@ int do_munmap(struct mm_struct *mm, unsi /* Fix up all other VM information */ remove_vma_list(mm, vma); @@ -52413,7 +52618,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return 0; } -@@ -1955,22 +2292,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, a +@@ -1955,22 +2288,18 @@ SYSCALL_DEFINE2(munmap, unsigned long, a profile_munmap(addr); @@ -52442,7 +52647,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * this is really a simplified "do_mmap". it only handles * anonymous maps. eventually we may be able to do some -@@ -1984,6 +2317,7 @@ unsigned long do_brk(unsigned long addr, +@@ -1984,6 +2313,7 @@ unsigned long do_brk(unsigned long addr, struct rb_node ** rb_link, * rb_parent; pgoff_t pgoff = addr >> PAGE_SHIFT; int error; @@ -52450,7 +52655,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c len = PAGE_ALIGN(len); if (!len) -@@ -1995,16 +2329,30 @@ unsigned long do_brk(unsigned long addr, +@@ -1995,16 +2325,30 @@ unsigned long do_brk(unsigned long addr, flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -52482,7 +52687,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>= PAGE_SHIFT; -@@ -2021,22 +2369,22 @@ unsigned long do_brk(unsigned long addr, +@@ -2021,22 +2365,22 @@ unsigned long do_brk(unsigned long addr, /* * Clear old maps. this also does some error checking for us */ @@ -52509,7 +52714,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return -ENOMEM; /* Can we just expand an old private anonymous mapping? */ -@@ -2050,7 +2398,7 @@ unsigned long do_brk(unsigned long addr, +@@ -2050,7 +2394,7 @@ unsigned long do_brk(unsigned long addr, */ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL); if (!vma) { @@ -52518,7 +52723,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return -ENOMEM; } -@@ -2062,11 +2410,12 @@ unsigned long do_brk(unsigned long addr, +@@ -2062,11 +2406,12 @@ unsigned long do_brk(unsigned long addr, vma->vm_page_prot = vm_get_page_prot(flags); vma_link(mm, vma, prev, rb_link, rb_parent); out: @@ -52533,7 +52738,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return addr; } -@@ -2113,8 +2462,10 @@ void exit_mmap(struct mm_struct *mm) +@@ -2113,8 +2458,10 @@ void exit_mmap(struct mm_struct *mm) * Walk the list again, actually closing and freeing it, * with preemption enabled, without holding any MM locks. */ @@ -52545,7 +52750,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c BUG_ON(mm->nr_ptes > (FIRST_USER_ADDRESS+PMD_SIZE-1)>>PMD_SHIFT); } -@@ -2128,6 +2479,10 @@ int insert_vm_struct(struct mm_struct * +@@ -2128,6 +2475,10 @@ int insert_vm_struct(struct mm_struct * struct vm_area_struct * __vma, * prev; struct rb_node ** rb_link, * rb_parent; @@ -52556,7 +52761,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * The vm_pgoff of a purely anonymous vma should be irrelevant * until its first write fault, when page's anon_vma and index -@@ -2150,7 +2505,22 @@ int insert_vm_struct(struct mm_struct * +@@ -2150,7 +2501,22 @@ int insert_vm_struct(struct mm_struct * if ((vma->vm_flags & VM_ACCOUNT) && security_vm_enough_memory_mm(mm, vma_pages(vma))) return -ENOMEM; @@ -52579,7 +52784,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c return 0; } -@@ -2168,6 +2538,8 @@ struct vm_area_struct *copy_vma(struct v +@@ -2168,6 +2534,8 @@ struct vm_area_struct *copy_vma(struct v struct rb_node **rb_link, *rb_parent; struct mempolicy *pol; @@ -52588,7 +52793,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * If anonymous vma has not yet been faulted, update new pgoff * to match new location, to increase its chance of merging. -@@ -2211,6 +2583,35 @@ struct vm_area_struct *copy_vma(struct v +@@ -2211,6 +2579,35 @@ struct vm_area_struct *copy_vma(struct v return new_vma; } @@ -52624,7 +52829,7 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c /* * Return true if the calling process may expand its vm space by the passed * number of pages -@@ -2221,7 +2622,7 @@ int may_expand_vm(struct mm_struct *mm, +@@ -2221,7 +2618,7 @@ int may_expand_vm(struct mm_struct *mm, unsigned long lim; lim = current->signal->rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT; @@ -52633,16 +52838,18 @@ diff -urNp linux-2.6.32.16/mm/mmap.c linux-2.6.32.16/mm/mmap.c if (cur + npages > lim) return 0; return 1; -@@ -2290,6 +2691,15 @@ int install_special_mapping(struct mm_st +@@ -2290,6 +2687,17 @@ int install_special_mapping(struct mm_st vma->vm_start = addr; vma->vm_end = addr + len; +#ifdef CONFIG_PAX_MPROTECT + if (mm->pax_flags & MF_PAX_MPROTECT) { -+ if ((vm_flags & (VM_WRITE | VM_EXEC)) != VM_EXEC) -+ vm_flags &= ~(VM_EXEC | VM_MAYEXEC); ++ if ((vm_flags & (VM_WRITE | VM_EXEC)) == (VM_WRITE | VM_EXEC)) ++ return -EPERM; ++ if (!(vm_flags & VM_EXEC)) ++ vm_flags &= ~VM_MAYEXEC; + else -+ vm_flags &= ~(VM_WRITE | VM_MAYWRITE); ++ vm_flags &= ~VM_MAYWRITE; + } +#endif + @@ -53927,6 +54134,57 @@ diff -urNp linux-2.6.32.16/mm/vmalloc.c linux-2.6.32.16/mm/vmalloc.c void *vmalloc_32_user(unsigned long size) { struct vm_struct *area; +diff -urNp linux-2.6.32.16/mm/vmstat.c linux-2.6.32.16/mm/vmstat.c +--- linux-2.6.32.16/mm/vmstat.c 2010-07-05 14:14:00.000000000 -0400 ++++ linux-2.6.32.16/mm/vmstat.c 2010-07-16 21:06:43.000000000 -0400 +@@ -74,7 +74,7 @@ void vm_events_fold_cpu(int cpu) + * + * vm_stat contains the global counters + */ +-atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; ++atomic_long_unchecked_t vm_stat[NR_VM_ZONE_STAT_ITEMS]; + EXPORT_SYMBOL(vm_stat); + + #ifdef CONFIG_SMP +@@ -311,7 +311,7 @@ void refresh_cpu_vm_stats(int cpu) + v = p->vm_stat_diff[i]; + p->vm_stat_diff[i] = 0; + local_irq_restore(flags); +- atomic_long_add(v, &zone->vm_stat[i]); ++ atomic_long_add_unchecked(v, &zone->vm_stat[i]); + global_diff[i] += v; + #ifdef CONFIG_NUMA + /* 3 seconds idle till flush */ +@@ -349,7 +349,7 @@ void refresh_cpu_vm_stats(int cpu) + + for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++) + if (global_diff[i]) +- atomic_long_add(global_diff[i], &vm_stat[i]); ++ atomic_long_add_unchecked(global_diff[i], &vm_stat[i]); + } + + #endif +@@ -940,10 +940,16 @@ static int __init setup_vmstat(void) + start_cpu_timer(cpu); + #endif + #ifdef CONFIG_PROC_FS +- proc_create("buddyinfo", S_IRUGO, NULL, &fragmentation_file_operations); +- proc_create("pagetypeinfo", S_IRUGO, NULL, &pagetypeinfo_file_ops); +- proc_create("vmstat", S_IRUGO, NULL, &proc_vmstat_file_operations); +- proc_create("zoneinfo", S_IRUGO, NULL, &proc_zoneinfo_file_operations); ++ { ++ mode_t gr_mode = S_IRUGO; ++#ifdef CONFIG_GRKERNSEC_PROC_ADD ++ gr_mode = S_IRUSR; ++#endif ++ proc_create("buddyinfo", gr_mode, NULL, &fragmentation_file_operations); ++ proc_create("pagetypeinfo", gr_mode, NULL, &pagetypeinfo_file_ops); ++ proc_create("vmstat", gr_mode, NULL, &proc_vmstat_file_operations); ++ proc_create("zoneinfo", gr_mode, NULL, &proc_zoneinfo_file_operations); ++ } + #endif + return 0; + } diff -urNp linux-2.6.32.16/net/8021q/vlan.c linux-2.6.32.16/net/8021q/vlan.c --- linux-2.6.32.16/net/8021q/vlan.c 2010-07-05 14:14:00.000000000 -0400 +++ linux-2.6.32.16/net/8021q/vlan.c 2010-07-09 14:50:38.000000000 -0400 diff --git a/testing/live-media/APKBUILD b/main/live-media/APKBUILD index 0bd0e1671..58ecbd651 100644 --- a/testing/live-media/APKBUILD +++ b/main/live-media/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=live-media -pkgver=2010.01.22 -pkgrel=1 +pkgver=2010.03.08 +pkgrel=0 pkgdesc="A set of C++ libraries for multimedia streaming" url="http://live555.com/liveMedia" license="LGPL" @@ -41,4 +41,4 @@ package() { done } -md5sums="2964edc82256170ffc874c7d3b0e5b06 live.2010.01.22.tar.gz" +md5sums="2c685c004695afce064ec780e58409cc live.2010.03.08.tar.gz" diff --git a/main/lua-xml/APKBUILD b/main/lua-xml/APKBUILD new file mode 100644 index 000000000..619a4d256 --- /dev/null +++ b/main/lua-xml/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=lua-xml +_name=LuaXML +pkgver=090910 +pkgrel=0 +pkgdesc="a minimal set of functions for the processing of XML data in Lua" +url="http://www.viremo.de/LuaXML" +license="MIT" +depends= +makedepends="lua-dev" +install= +subpackages= +source="http://www.viremo.de/LuaXML/LuaXML_$pkgver.zip" + +_builddir="$srcdir" + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + install -m755 -D LuaXML_lib.so "$pkgdir"/usr/lib/lua/5.1/LuaXML_lib.so\ + || return 1 + install -m755 -D LuaXml.lua "$pkgdir"/usr/share/lua/5.1/LuaXml.lua \ + || return 1 +} + +md5sums="de690d73a34bdc7d3b4f0307a40afd87 LuaXML_090910.zip" diff --git a/main/lvm2/APKBUILD b/main/lvm2/APKBUILD index ffc932c74..49e88413e 100644 --- a/main/lvm2/APKBUILD +++ b/main/lvm2/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=lvm2 -pkgver=2.02.70 +pkgver=2.02.72 pkgrel=0 pkgdesc="Logical Volume Manager 2 utilities" url="http://sourceware.org/lvm2/" @@ -47,6 +47,6 @@ dm() { mv "$pkgdir"/sbin/dm* "$subpkgdir"/sbin/ } -md5sums="39c26d5a821754cc347d7a19e82d4a24 LVM2.2.02.70.tgz +md5sums="a7d0d1235a589869bd13cde0f0d7375d LVM2.2.02.72.tgz 6f65f902cf19f144a42b8d6aceadf395 lvm.initd ec36d5fe4561220304e406c5c797e71f lvm.confd" diff --git a/main/micro-tetris/APKBUILD b/main/micro-tetris/APKBUILD new file mode 100644 index 000000000..80fa5b69b --- /dev/null +++ b/main/micro-tetris/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Natanael Copa <ncopa@alpinepinux.org> +pkgname=micro-tetris +pkgver=1.2.0 +pkgrel=0 +pkgdesc="Micro Tetris, based on 1989 IOCCC Obfuscated Tetris" +url="http://git.vmlinux.org/tetris.git/" +license="ISC" +depends= +makedepends= +install= +subpackages= +source="ftp://ftp.vmlinux.org/pub/People/jocke/micro-tetris/tetris-$pkgver.tar.bz2" + +_builddir="$srcdir"/tetris-$pkgver +prepare() { + cd "$_builddir" + sed -i -e "/install/s:bin/tetris:usr/bin/tetris:" Makefile +} + +build() { + cd "$_builddir" + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="017942718be2760f1b060e63d6799fed tetris-1.2.0.tar.bz2" diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD index 17fe29ee2..af86c94ed 100644 --- a/main/mkinitfs/APKBUILD +++ b/main/mkinitfs/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=mkinitfs -pkgver=2.0_rc8 +pkgver=2.0_rc9 pkgrel=0 pkgdesc="Tool to generate initramfs images for Alpine" url=http://git.alpinelinux.org/cgit/mkinitfs @@ -19,4 +19,4 @@ package() { cd "$srcdir"/$pkgname-$pkgver make install DESTDIR="$pkgdir" || return 1 } -md5sums="ca9280a78f1e712283df2c2f4a0ca41b mkinitfs-2.0_rc8.tar.bz2" +md5sums="54eb3779916b61c91f91c608dc99667a mkinitfs-2.0_rc9.tar.bz2" diff --git a/main/mpd/APKBUILD b/main/mpd/APKBUILD index 214d41c24..4c2bbef66 100644 --- a/main/mpd/APKBUILD +++ b/main/mpd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sebastian Wicki <gandro@gmx.net> # Maintainer: Natanael Copa <natanael.copa@gmail.com> pkgname=mpd -pkgver=0.15.11 +pkgver=0.15.12 pkgrel=0 pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files" url="http://musicpd.org" @@ -47,6 +47,6 @@ package() { "$pkgdir"/var/lib/mpd/playlists \ "$pkgdir"/var/lib/mpd/music } -md5sums="a8f8afc641db6f789281fe14fcc8d8a9 mpd-0.15.11.tar.bz2 +md5sums="b00b289a20ecd9accfd4972d6395135c mpd-0.15.12.tar.bz2 31d1515232d688d610d1664a0fb2a6a0 mpd.initd dbd301041953a5cf9c2b9de8f23eb6bb mpd.confd" diff --git a/main/net-snmp/APKBUILD b/main/net-snmp/APKBUILD index f7cd09875..144fd4e3c 100644 --- a/main/net-snmp/APKBUILD +++ b/main/net-snmp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Carlo Landmeter <clandmeter@gmail.com> pkgname=net-snmp pkgver=5.5 -pkgrel=2 +pkgrel=3 pkgdesc="Simple Network Management Protocol" url="http://www.net-snmp.org/" license="GPL" @@ -27,7 +27,7 @@ build() { LDFLAGS="$LDFLAGS -lpthread" ./configure --prefix=/usr \ - --sysconfdir=/etc/snmp \ + --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --with-default-snmp-version="3" \ diff --git a/main/openldap/APKBUILD b/main/openldap/APKBUILD index 51f06cb6a..adc0e31da 100644 --- a/main/openldap/APKBUILD +++ b/main/openldap/APKBUILD @@ -1,12 +1,13 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=openldap pkgver=2.4.23 -pkgrel=0 +pkgrel=1 pkgdesc="LDAP Server" url="http://www.openldap.org/" license="custom" depends= makedepends="db-dev openssl-dev groff unixodbc-dev libtool" +depends_dev="openssl-dev" subpackages="$pkgname-dev $pkgname-doc libldap $pkgname-back-sql:sql $pkgname-back-bdb:bdb $pkgname-back-hdb:hdb $pkgname-back-ldap:ldap $pkgname-back-meta:meta $pkgname-back-monitor:monitor" diff --git a/main/openssl/0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch b/main/openssl/0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch index 514ed0d83..1c837bccb 100644 --- a/main/openssl/0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch +++ b/main/openssl/0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch @@ -1,7 +1,7 @@ -From 16a40910dd3ae5ab702ee1274f9e2f08362e4474 Mon Sep 17 00:00:00 2001 +From 74e428937523858363f26f89d86db24932447ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Fri, 4 Jun 2010 09:48:39 +0300 -Subject: [PATCH 1/3] crypto/hmac: support EVP_MD_CTX_FLAG_ONESHOT and set it properly +Subject: [PATCH 1/5] crypto/hmac: support EVP_MD_CTX_FLAG_ONESHOT and set it properly Some engines (namely VIA C7 Padlock) work only if EVP_MD_CTX_FLAG_ONESHOT is set before final update. This is because some crypto accelerators cannot @@ -16,7 +16,7 @@ though. 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crypto/hmac/hmac.c b/crypto/hmac/hmac.c -index 45015fe..7ce2a50 100644 +index 45015fe..55ad15c 100644 --- a/crypto/hmac/hmac.c +++ b/crypto/hmac/hmac.c @@ -66,6 +66,7 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, diff --git a/main/openssl/0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch b/main/openssl/0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch index 8859f4060..f12d45a84 100644 --- a/main/openssl/0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch +++ b/main/openssl/0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch @@ -1,7 +1,7 @@ -From de61d5881a12b359dfb1b4fbbb53412460196553 Mon Sep 17 00:00:00 2001 +From ca1f332fbadc20d53d807d542fb37988a5508d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Thu, 3 Jun 2010 09:02:13 +0300 -Subject: [PATCH 2/3] apps/speed: fix digest speed measurement and add hmac-sha1 test +Subject: [PATCH 2/5] apps/speed: fix digest speed measurement and add hmac-sha1 test Merge the common code of testing digest speed, and make it reuse existing context. Context creation can be heavy operation, and it's diff --git a/main/openssl/0003-engines-e_padlock-backport-cvs-head-changes.patch b/main/openssl/0003-engines-e_padlock-backport-cvs-head-changes.patch new file mode 100644 index 000000000..a590269b9 --- /dev/null +++ b/main/openssl/0003-engines-e_padlock-backport-cvs-head-changes.patch @@ -0,0 +1,203 @@ +From 1d27eeb41fbc2e8f36f156d4d66d04486afee742 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> +Date: Wed, 28 Jul 2010 08:29:09 +0300 +Subject: [PATCH 3/5] engines/e_padlock: backport cvs head changes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Includes support for VIA Nano 64-bit mode. + +Signed-off-by: Timo Teräs <timo.teras@iki.fi> +--- + engines/e_padlock.c | 140 ++++++++++++++++++++++++++++++++++++++++++++------- + 1 files changed, 122 insertions(+), 18 deletions(-) + +diff --git a/engines/e_padlock.c b/engines/e_padlock.c +index 381a746..4300f35 100644 +--- a/engines/e_padlock.c ++++ b/engines/e_padlock.c +@@ -101,7 +101,10 @@ + compiler choice is limited to GCC and Microsoft C. */ + #undef COMPILE_HW_PADLOCK + #if !defined(I386_ONLY) && !defined(OPENSSL_NO_INLINE_ASM) +-# if (defined(__GNUC__) && (defined(__i386__) || defined(__i386))) || \ ++# if (defined(__GNUC__) && __GNUC__>=2 && \ ++ (defined(__i386__) || defined(__i386) || \ ++ defined(__x86_64__) || defined(__x86_64)) \ ++ ) || \ + (defined(_MSC_VER) && defined(_M_IX86)) + # define COMPILE_HW_PADLOCK + static ENGINE *ENGINE_padlock (void); +@@ -294,6 +297,7 @@ static volatile struct padlock_cipher_data *padlock_saved_context; + * ======================================================= + */ + #if defined(__GNUC__) && __GNUC__>=2 ++#if defined(__i386__) || defined(__i386) + /* + * As for excessive "push %ebx"/"pop %ebx" found all over. + * When generating position-independent code GCC won't let +@@ -373,21 +377,6 @@ padlock_available(void) + return padlock_use_ace + padlock_use_rng; + } + +-#ifndef OPENSSL_NO_AES +-/* Our own htonl()/ntohl() */ +-static inline void +-padlock_bswapl(AES_KEY *ks) +-{ +- size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]); +- unsigned int *key = ks->rd_key; +- +- while (i--) { +- asm volatile ("bswapl %0" : "+r"(*key)); +- key++; +- } +-} +-#endif +- + /* Force key reload from memory to the CPU microcode. + Loading EFLAGS from the stack clears EFLAGS[30] + which does the trick. */ +@@ -445,12 +434,127 @@ static inline void *name(size_t cnt, \ + : "edx", "cc", "memory"); \ + return iv; \ + } ++#endif ++ ++#elif defined(__x86_64__) || defined(__x86_64) ++ ++/* Load supported features of the CPU to see if ++ the PadLock is available. */ ++static int ++padlock_available(void) ++{ ++ char vendor_string[16]; ++ unsigned int eax, edx; + ++ /* Are we running on the Centaur (VIA) CPU? */ ++ eax = 0x00000000; ++ vendor_string[12] = 0; ++ asm volatile ( ++ "cpuid\n" ++ "movl %%ebx,(%1)\n" ++ "movl %%edx,4(%1)\n" ++ "movl %%ecx,8(%1)\n" ++ : "+a"(eax) : "r"(vendor_string) : "rbx", "rcx", "rdx"); ++ if (strcmp(vendor_string, "CentaurHauls") != 0) ++ return 0; ++ ++ /* Check for Centaur Extended Feature Flags presence */ ++ eax = 0xC0000000; ++ asm volatile ("cpuid" ++ : "+a"(eax) : : "rbx", "rcx", "rdx"); ++ if (eax < 0xC0000001) ++ return 0; ++ ++ /* Read the Centaur Extended Feature Flags */ ++ eax = 0xC0000001; ++ asm volatile ("cpuid" ++ : "+a"(eax), "=d"(edx) : : "rbx", "rcx"); ++ ++ /* Fill up some flags */ ++ padlock_use_ace = ((edx & (0x3<<6)) == (0x3<<6)); ++ padlock_use_rng = ((edx & (0x3<<2)) == (0x3<<2)); ++ ++ return padlock_use_ace + padlock_use_rng; ++} ++ ++/* Force key reload from memory to the CPU microcode. ++ Loading EFLAGS from the stack clears EFLAGS[30] ++ which does the trick. */ ++static inline void ++padlock_reload_key(void) ++{ ++ asm volatile ("pushfq; popfq"); ++} ++ ++#ifndef OPENSSL_NO_AES ++/* ++ * This is heuristic key context tracing. At first one ++ * believes that one should use atomic swap instructions, ++ * but it's not actually necessary. Point is that if ++ * padlock_saved_context was changed by another thread ++ * after we've read it and before we compare it with cdata, ++ * our key *shall* be reloaded upon thread context switch ++ * and we are therefore set in either case... ++ */ ++static inline void ++padlock_verify_context(struct padlock_cipher_data *cdata) ++{ ++ asm volatile ( ++ "pushfq\n" ++" btl $30,(%%rsp)\n" ++" jnc 1f\n" ++" cmpq %2,%1\n" ++" je 1f\n" ++" popfq\n" ++" subq $8,%%rsp\n" ++"1: addq $8,%%rsp\n" ++" movq %2,%0" ++ :"+m"(padlock_saved_context) ++ : "r"(padlock_saved_context), "r"(cdata) : "cc"); ++} ++ ++/* Template for padlock_xcrypt_* modes */ ++/* BIG FAT WARNING: ++ * The offsets used with 'leal' instructions ++ * describe items of the 'padlock_cipher_data' ++ * structure. ++ */ ++#define PADLOCK_XCRYPT_ASM(name,rep_xcrypt) \ ++static inline void *name(size_t cnt, \ ++ struct padlock_cipher_data *cdata, \ ++ void *out, const void *inp) \ ++{ void *iv; \ ++ asm volatile ( "leaq 16(%0),%%rdx\n" \ ++ " leaq 32(%0),%%rbx\n" \ ++ rep_xcrypt "\n" \ ++ : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \ ++ : "0"(cdata), "1"(cnt), "2"(out), "3"(inp) \ ++ : "rbx", "rdx", "cc", "memory"); \ ++ return iv; \ ++} ++#endif ++ ++#endif /* cpu */ ++ ++#ifndef OPENSSL_NO_AES + /* Generate all functions with appropriate opcodes */ + PADLOCK_XCRYPT_ASM(padlock_xcrypt_ecb, ".byte 0xf3,0x0f,0xa7,0xc8") /* rep xcryptecb */ + PADLOCK_XCRYPT_ASM(padlock_xcrypt_cbc, ".byte 0xf3,0x0f,0xa7,0xd0") /* rep xcryptcbc */ + PADLOCK_XCRYPT_ASM(padlock_xcrypt_cfb, ".byte 0xf3,0x0f,0xa7,0xe0") /* rep xcryptcfb */ + PADLOCK_XCRYPT_ASM(padlock_xcrypt_ofb, ".byte 0xf3,0x0f,0xa7,0xe8") /* rep xcryptofb */ ++ ++/* Our own htonl()/ntohl() */ ++static inline void ++padlock_bswapl(AES_KEY *ks) ++{ ++ size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]); ++ unsigned int *key = ks->rd_key; ++ ++ while (i--) { ++ asm volatile ("bswapl %0" : "+r"(*key)); ++ key++; ++ } ++} + #endif + + /* The RNG call itself */ +@@ -481,8 +585,8 @@ padlock_xstore(void *addr, unsigned int edx_in) + static inline unsigned char * + padlock_memcpy(void *dst,const void *src,size_t n) + { +- long *d=dst; +- const long *s=src; ++ size_t *d=dst; ++ const size_t *s=src; + + n /= sizeof(*d); + do { *d++ = *s++; } while (--n); +-- +1.7.0.4 + diff --git a/main/openssl/0003-engine-padlock-implement-sha1-sha224-sha256-accelera.patch b/main/openssl/0004-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch index b25de7c16..d1bb3704b 100644 --- a/main/openssl/0003-engine-padlock-implement-sha1-sha224-sha256-accelera.patch +++ b/main/openssl/0004-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch @@ -1,12 +1,12 @@ -From 11e9d19d7c6c3461cbab5e5670d66974cd7cf819 Mon Sep 17 00:00:00 2001 +From b235a1c0686e5f4f32703c0eb0a75ee9902a7e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Fri, 4 Jun 2010 15:48:16 +0300 -Subject: [PATCH 3/3] engine/padlock: implement sha1/sha224/sha256 acceleration +Date: Wed, 28 Jul 2010 08:37:58 +0300 +Subject: [PATCH 4/5] engines/e_padlock: implement sha1/sha224/sha256 acceleration Limited support for VIA C7 that works only when EVP_MD_CTX_FLAG_ONESHOT is used appropriately (as done by EVP_Digest, and my previous HMAC patch). -Full support for VIA Nano including partial transformation. +Full support for VIA Nano including partial transformation and 64-bit mode. Benchmarks from VIA Nano 1.6GHz, done with including the previous HMAC and apps/speed patches done. From single run, error margin of about 100-200k. @@ -24,11 +24,11 @@ sha1 37713.77k 114562.71k 259637.33k 379907.41k 438818.13k sha256 34262.86k 103233.75k 232476.07k 338386.60k 389860.01k hmac(sha1) 8424.70k 31475.11k 104036.10k 245559.30k 406667.26k --- - engines/e_padlock.c | 596 +++++++++++++++++++++++++++++++++++++++++++++++---- - 1 files changed, 553 insertions(+), 43 deletions(-) + engines/e_padlock.c | 660 +++++++++++++++++++++++++++++++++++++++++++++++---- + 1 files changed, 613 insertions(+), 47 deletions(-) diff --git a/engines/e_padlock.c b/engines/e_padlock.c -index 381a746..2f8c72a 100644 +index 4300f35..3591c59 100644 --- a/engines/e_padlock.c +++ b/engines/e_padlock.c @@ -3,6 +3,9 @@ @@ -41,7 +41,17 @@ index 381a746..2f8c72a 100644 * Big thanks to Andy Polyakov for a help with optimization, * assembler fixes, port to MS Windows and a lot of other * valuable work on this engine! -@@ -74,12 +77,23 @@ +@@ -64,7 +67,9 @@ + + + #include <stdio.h> ++#include <stdint.h> + #include <string.h> ++#include <netinet/in.h> + + #include <openssl/opensslconf.h> + #include <openssl/crypto.h> +@@ -74,12 +79,33 @@ #ifndef OPENSSL_NO_AES #include <openssl/aes.h> #endif @@ -62,10 +72,20 @@ index 381a746..2f8c72a 100644 +#define OPENSSL_NO_SHA +#endif + ++/* 64-bit mode does not need software SHA1 as fallback, we can ++ * do all operations with padlock */ ++#if defined(__x86_64__) || defined(__x86_64) ++#define PADLOCK_NEED_FALLBACK_SHA 0 ++#else ++#define PADLOCK_NEED_FALLBACK_SHA 1 ++#endif ++ ++#define PADLOCK_MAX_FINALIZING_LENGTH 0x1FFFFFFE ++ /* Attempt to have a single source for both 0.9.7 and 0.9.8 :-) */ #if (OPENSSL_VERSION_NUMBER >= 0x00908000L) # ifndef OPENSSL_NO_DYNAMIC_ENGINE -@@ -140,58 +154,40 @@ static int padlock_available(void); +@@ -143,58 +169,40 @@ static int padlock_available(void); static int padlock_init(ENGINE *e); /* RNG Stuff */ @@ -145,7 +165,7 @@ index 381a746..2f8c72a 100644 /* Constructor */ static ENGINE * -@@ -215,7 +211,7 @@ ENGINE_padlock(void) +@@ -218,7 +226,7 @@ ENGINE_padlock(void) static int padlock_init(ENGINE *e) { @@ -154,7 +174,7 @@ index 381a746..2f8c72a 100644 } /* This stuff is needed if this ENGINE is being compiled into a self-contained -@@ -367,10 +363,20 @@ padlock_available(void) +@@ -371,10 +379,20 @@ padlock_available(void) : "+a"(eax), "=d"(edx) : : "ecx"); /* Fill up some flags */ @@ -177,8 +197,27 @@ index 381a746..2f8c72a 100644 + return padlock_flags; } - #ifndef OPENSSL_NO_AES -@@ -1159,6 +1165,454 @@ padlock_aes_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg, + /* Force key reload from memory to the CPU microcode. +@@ -471,10 +489,14 @@ padlock_available(void) + : "+a"(eax), "=d"(edx) : : "rbx", "rcx"); + + /* Fill up some flags */ +- padlock_use_ace = ((edx & (0x3<<6)) == (0x3<<6)); +- padlock_use_rng = ((edx & (0x3<<2)) == (0x3<<2)); +- +- return padlock_use_ace + padlock_use_rng; ++ padlock_flags |= ((edx & (0x3<<3)) ? PADLOCK_RNG : 0); ++ padlock_flags |= ((edx & (0x3<<7)) ? PADLOCK_ACE : 0); ++ padlock_flags |= ((edx & (0x3<<9)) ? PADLOCK_ACE2 : 0); ++ padlock_flags |= ((edx & (0x3<<11)) ? PADLOCK_PHE : 0); ++ padlock_flags |= ((edx & (0x3<<13)) ? PADLOCK_PMM : 0); ++ padlock_flags |= PADLOCK_NANO; ++ ++ return padlock_flags; + } + + /* Force key reload from memory to the CPU microcode. +@@ -1263,6 +1285,496 @@ padlock_aes_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg, #endif /* OPENSSL_NO_AES */ @@ -188,23 +227,39 @@ index 381a746..2f8c72a 100644 +padlock_copy_bswap(void *dst, void *src, size_t count) +{ + uint32_t *udst = dst, *usrc = src; -+ unsigned int reg; + int i = 0; + -+ for (i = 0; i < count; i++) { -+ reg = usrc[i]; -+ asm volatile("bswapl %0" : "+&r"(reg)); -+ udst[i] = reg; -+ } ++ for (i = 0; i < count; i++) ++ udst[i] = htonl(usrc[i]); ++} ++ ++static unsigned long padlock_sha_prepare_padding( ++ EVP_MD_CTX *ctx, ++ unsigned char *padding, ++ unsigned char *data, size_t data_len, ++ uint64_t total) ++{ ++ unsigned int padding_len; ++ ++ padding_len = data_len < 56 ? SHA_CBLOCK : 2 * SHA_CBLOCK; ++ if (data_len) ++ memcpy(padding, data, data_len); ++ ++ memset(padding + data_len, 0, padding_len - data_len); ++ padding[data_len] = 0x80; ++ *(uint32_t *)(padding + padding_len - 8) = htonl(total >> 32); ++ *(uint32_t *)(padding + padding_len - 4) = htonl(total & 0xffffffff); ++ ++ return data_len < 56 ? 1 : 2; +} + +#define PADLOCK_SHA_ALIGN(dd) (uint32_t*)(((uintptr_t)(dd) + 15) & ~15) +#define PADLOCK_SHA_HWCTX (128+16) + +static void -+padlock_sha1(void *hwctx, const void *buf, uint32_t total, uint32_t now) ++padlock_sha1(void *hwctx, const void *buf, unsigned long total, unsigned long now) +{ -+ uint32_t pos = total - now; ++ unsigned long pos = total - now; + + asm volatile ("xsha1" + : "+S"(buf), "+D"(hwctx), "+a"(pos), "+c"(total) @@ -212,11 +267,11 @@ index 381a746..2f8c72a 100644 +} + +static void -+padlock_sha1_partial(void *hwctx, const void *buf, uint32_t blocks) ++padlock_sha1_partial(void *hwctx, const void *buf, unsigned long blocks) +{ + asm volatile ("xsha1" + : "+S"(buf), "+D"(hwctx), "+c"(blocks) -+ : "a"(-1) : "memory"); ++ : "a"(-1L) : "memory"); +} + +static int padlock_sha1_init(EVP_MD_CTX *ctx) @@ -224,22 +279,24 @@ index 381a746..2f8c72a 100644 + return SHA1_Init(ctx->md_data); +} + -+static int padlock_sha1_update(EVP_MD_CTX *ctx, const void *data, -+ size_t len) ++#if PADLOCK_NEED_FALLBACK_SHA ++ ++static int padlock_sha1_update_eden(EVP_MD_CTX *ctx, const void *data, ++ size_t len) +{ + unsigned char hwctx[PADLOCK_SHA_HWCTX]; + uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); + SHA_CTX *c = ctx->md_data; + uint_fast64_t total; + const unsigned char *p = data; -+ unsigned int l = 0; ++ unsigned long l = 0; + + /* Calculate total length (Nl,Nh) is length in bits */ + total = (((uint_fast64_t) c->Nh) << 29) + (c->Nl >> 3); + total += len; + + if ((ctx->flags & EVP_MD_CTX_FLAG_ONESHOT) && -+ (total <= 0xfffffffe)) { ++ (total <= PADLOCK_MAX_FINALIZING_LENGTH)) { + if (c->num != 0) { + l = (len < SHA_CBLOCK) ? len : SHA_CBLOCK; + if (!SHA1_Update(c, data, l)) @@ -260,16 +317,17 @@ index 381a746..2f8c72a 100644 + + return SHA1_Update(c, data, len); +} ++#endif + -+static int padlock_nano_sha1_update(EVP_MD_CTX *ctx, const void *data, -+ size_t len) ++static int padlock_sha1_update(EVP_MD_CTX *ctx, const void *data, ++ size_t len) +{ + unsigned char hwctx[PADLOCK_SHA_HWCTX]; + uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); + SHA_CTX *c = ctx->md_data; + uint_fast64_t total; + unsigned char *p; -+ unsigned int n; ++ unsigned long n; + + /* Calculate total length (Nl,Nh) is length in bits */ + total = (((uint_fast64_t) c->Nh) << 29) + (c->Nl >> 3); @@ -300,7 +358,7 @@ index 381a746..2f8c72a 100644 + + /* Can we finalize straight away? */ + if ((ctx->flags & EVP_MD_CTX_FLAG_ONESHOT) && -+ (total <= 0xfffffffe)) { ++ (total <= PADLOCK_MAX_FINALIZING_LENGTH)) { + padlock_sha1(aligned, data, total, len); + memcpy(&c->h0, aligned, 5 * sizeof(SHA_LONG)); + c->num = -1; @@ -327,8 +385,10 @@ index 381a746..2f8c72a 100644 + +static int padlock_sha1_final(EVP_MD_CTX *ctx, unsigned char *md) +{ ++ unsigned char hwctx[PADLOCK_SHA_HWCTX]; ++ uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); ++ uint64_t total; + SHA_CTX *c = ctx->md_data; -+ uint_fast64_t total; + + if (c->num == -1) { + padlock_copy_bswap(md, &c->h0, 5); @@ -337,18 +397,26 @@ index 381a746..2f8c72a 100644 + } + + total = (((uint_fast64_t) c->Nh) << 29) + (c->Nl >> 3); -+ if (total <= 0xfffffffe) { -+ unsigned char hwctx[PADLOCK_SHA_HWCTX]; -+ uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); ++#if PADLOCK_NEED_FALLBACK_SHA ++ if ((!PADLOCK_HAVE_NANO) && (total > PADLOCK_MAX_FINALIZING_LENGTH)) ++ return SHA1_Final(md, c); ++#endif + -+ memcpy(aligned, &c->h0, 5 * sizeof(SHA_LONG)); ++ memcpy(aligned, &c->h0, 5 * sizeof(SHA_LONG)); ++ if (total > PADLOCK_MAX_FINALIZING_LENGTH) { ++ unsigned char padding[2 * SHA_CBLOCK]; ++ unsigned long n; ++ ++ n = padlock_sha_prepare_padding(ctx, padding, ++ (unsigned char *) c->data, c->num, total << 3); ++ padlock_sha1_partial(aligned, padding, n); ++ } else { + padlock_sha1(aligned, c->data, total, c->num); -+ padlock_copy_bswap(md, aligned, 5); -+ c->num = 0; -+ return 1; + } ++ padlock_copy_bswap(md, aligned, 5); ++ c->num = 0; + -+ return SHA1_Final(md, c); ++ return 1; +} + +static EVP_MD padlock_sha1_md = { @@ -385,9 +453,9 @@ index 381a746..2f8c72a 100644 +#if !defined(OPENSSL_NO_SHA256) + +static void -+padlock_sha256(void *hwctx, const void *buf, uint32_t total, uint32_t now) ++padlock_sha256(void *hwctx, const void *buf, unsigned long total, unsigned long now) +{ -+ uint32_t pos = total - now; ++ unsigned long pos = total - now; + + asm volatile ("xsha256" + : "+S"(buf), "+D"(hwctx), "+a"(pos), "+c"(total) @@ -395,15 +463,17 @@ index 381a746..2f8c72a 100644 +} + +static void -+padlock_sha256_partial(void *hwctx, const void *buf, uint32_t blocks) ++padlock_sha256_partial(void *hwctx, const void *buf, unsigned long blocks) +{ + asm volatile ("xsha256" + : "+S"(buf), "+D"(hwctx), "+c"(blocks) -+ : "a"(-1) : "memory"); ++ : "a"(-1L) : "memory"); +} + -+static int padlock_sha256_update(EVP_MD_CTX *ctx, const void *data, -+ size_t len) ++#if PADLOCK_NEED_FALLBACK_SHA ++ ++static int padlock_sha256_update_eden(EVP_MD_CTX *ctx, const void *data, ++ size_t len) +{ + unsigned char hwctx[PADLOCK_SHA_HWCTX]; + uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); @@ -417,7 +487,7 @@ index 381a746..2f8c72a 100644 + total += len; + + if ((ctx->flags & EVP_MD_CTX_FLAG_ONESHOT) && -+ (total <= 0xfffffffe)) { ++ (total <= PADLOCK_MAX_FINALIZING_LENGTH)) { + if (c->num != 0) { + l = (len < SHA256_CBLOCK) ? len : SHA256_CBLOCK; + if (!SHA256_Update(c, data, l)) @@ -439,15 +509,17 @@ index 381a746..2f8c72a 100644 + return SHA256_Update(c, data, len); +} + -+static int padlock_nano_sha256_update(EVP_MD_CTX *ctx, const void *data, -+ size_t len) ++#endif ++ ++static int padlock_sha256_update(EVP_MD_CTX *ctx, const void *data, ++ size_t len) +{ + unsigned char hwctx[PADLOCK_SHA_HWCTX]; + uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); + SHA256_CTX *c = ctx->md_data; + uint_fast64_t total; + unsigned char *p; -+ unsigned int n; ++ unsigned long n; + + /* Calculate total length (Nl,Nh) is length in bits */ + total = (((uint_fast64_t) c->Nh) << 29) + (c->Nl >> 3); @@ -478,7 +550,7 @@ index 381a746..2f8c72a 100644 + + /* Can we finalize straight away? */ + if ((ctx->flags & EVP_MD_CTX_FLAG_ONESHOT) && -+ (total <= 0xfffffffe)) { ++ (total <= PADLOCK_MAX_FINALIZING_LENGTH)) { + padlock_sha256(aligned, data, total, len); + memcpy(c->h, aligned, sizeof(c->h)); + c->num = -1; @@ -505,8 +577,10 @@ index 381a746..2f8c72a 100644 + +static int padlock_sha256_final(EVP_MD_CTX *ctx, unsigned char *md) +{ ++ unsigned char hwctx[PADLOCK_SHA_HWCTX]; ++ uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); ++ uint64_t total; + SHA256_CTX *c = ctx->md_data; -+ uint_fast64_t total; + + if (c->num == -1) { + padlock_copy_bswap(md, c->h, sizeof(c->h)/sizeof(c->h[0])); @@ -515,18 +589,25 @@ index 381a746..2f8c72a 100644 + } + + total = (((uint_fast64_t) c->Nh) << 29) + (c->Nl >> 3); -+ if (total <= 0xfffffffe) { -+ unsigned char hwctx[PADLOCK_SHA_HWCTX]; -+ uint32_t *aligned = PADLOCK_SHA_ALIGN(hwctx); ++#if PADLOCK_NEED_FALLBACK_SHA ++ if ((!PADLOCK_HAVE_NANO) && (total > PADLOCK_MAX_FINALIZING_LENGTH)) ++ return SHA256_Final(md, c); ++#endif + -+ memcpy(aligned, c->h, sizeof(c->h)); ++ memcpy(aligned, c->h, sizeof(c->h)); ++ if (total > PADLOCK_MAX_FINALIZING_LENGTH) { ++ unsigned char padding[2 * SHA_CBLOCK]; ++ unsigned long n; ++ ++ n = padlock_sha_prepare_padding(ctx, padding, ++ (unsigned char *) c->data, c->num, total << 3); ++ padlock_sha256_partial(aligned, padding, n); ++ } else { + padlock_sha256(aligned, c->data, total, c->num); -+ padlock_copy_bswap(md, aligned, sizeof(c->h)/sizeof(c->h[0])); -+ c->num = 0; -+ return 1; + } -+ -+ return SHA256_Final(md, c); ++ padlock_copy_bswap(md, aligned, sizeof(c->h)/sizeof(c->h[0])); ++ c->num = 0; ++ return 1; +} + +#if !defined(OPENSSL_NO_SHA224) @@ -633,7 +714,7 @@ index 381a746..2f8c72a 100644 /* ===== Random Number Generator ===== */ /* * This code is not engaged. The reason is that it does not comply -@@ -1215,6 +1669,62 @@ static RAND_METHOD padlock_rand = { +@@ -1319,6 +1831,60 @@ static RAND_METHOD padlock_rand = { padlock_rand_status, /* rand status */ }; @@ -649,32 +730,30 @@ index 381a746..2f8c72a 100644 + /* Generate a nice engine name with available features */ + BIO_snprintf(padlock_name, sizeof(padlock_name), + "VIA PadLock: %s%s%s%s%s%s", -+ padlock_flags ? "" : "not supported", -+ PADLOCK_HAVE_RNG ? "RNG " : "", -+ PADLOCK_HAVE_ACE ? (PADLOCK_HAVE_ACE2 ? "ACE2 " : "ACE ") : "", -+ PADLOCK_HAVE_PHE ? "PHE " : "", -+ PADLOCK_HAVE_PMM ? "PMM " : "", -+ PADLOCK_HAVE_NANO ? "NANO " : "" -+ ); -+ -+#ifndef OPENSSL_NO_SHA -+ /* Use Nano SHA acceleration? */ -+ if (PADLOCK_HAVE_NANO) { -+ padlock_sha1_md.update = padlock_nano_sha1_update; -+ padlock_dss1_md.update = padlock_nano_sha1_update; ++ padlock_flags ? "" : "not supported", ++ PADLOCK_HAVE_RNG ? "RNG " : "", ++ PADLOCK_HAVE_ACE ? (PADLOCK_HAVE_ACE2 ? "ACE2 " : "ACE ") : "", ++ PADLOCK_HAVE_PHE ? "PHE " : "", ++ PADLOCK_HAVE_PMM ? "PMM " : "", ++ PADLOCK_HAVE_NANO ? "NANO " : "" ++ ); ++ ++#if PADLOCK_NEED_FALLBACK_SHA && !defined(OPENSSL_NO_SHA) ++ if (!PADLOCK_HAVE_NANO) { ++ padlock_sha1_md.update = padlock_sha1_update_eden; ++ padlock_dss1_md.update = padlock_sha1_update_eden; +#if !defined(OPENSSL_NO_SHA256) +#if !defined(OPENSSL_NO_SHA224) -+ padlock_sha224_md.update = padlock_nano_sha256_update; ++ padlock_sha224_md.update = padlock_sha256_update_eden; +#endif -+ padlock_sha256_md.update = padlock_nano_sha256_update; ++ padlock_sha256_md.update = padlock_sha256_update_eden; +#endif + } -+#endif ++#endif + + /* Register everything or return with an error */ + if (!ENGINE_set_id(e, padlock_id) || + !ENGINE_set_name(e, padlock_name) || -+ + !ENGINE_set_init_function(e, padlock_init) +#ifndef OPENSSL_NO_AES + || (PADLOCK_HAVE_ACE && !ENGINE_set_ciphers (e, padlock_ciphers)) diff --git a/main/openssl/0004-crypto-engine-autoload-padlock-dynamic-engine.patch b/main/openssl/0005-crypto-engine-autoload-padlock-dynamic-engine.patch index c41d860ea..3c72ce26a 100644 --- a/main/openssl/0004-crypto-engine-autoload-padlock-dynamic-engine.patch +++ b/main/openssl/0005-crypto-engine-autoload-padlock-dynamic-engine.patch @@ -1,7 +1,7 @@ -From f6a5204b8dc94d73521f962183ee302533b2a196 Mon Sep 17 00:00:00 2001 +From b96276c8f11e656e4296955bf1a8d0ac2b6094fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> Date: Fri, 4 Jun 2010 18:02:39 +0300 -Subject: [PATCH 4/4] crypto/engine: autoload padlock dynamic engine +Subject: [PATCH 5/5] crypto/engine: autoload padlock dynamic engine --- crypto/engine/eng_all.c | 10 ++++++++++ diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD index eb23f31fc..34eabb072 100644 --- a/main/openssl/APKBUILD +++ b/main/openssl/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=openssl pkgver=1.0.0a -pkgrel=1 +pkgrel=2 pkgdesc="Toolkit for SSL v2/v3 and TLS v1" url="http://openssl.org" depends= @@ -15,11 +15,11 @@ source="http://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz openssl-bb-basename.patch 0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch 0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch - 0003-engine-padlock-implement-sha1-sha224-sha256-accelera.patch - 0004-crypto-engine-autoload-padlock-dynamic-engine.patch + 0003-engines-e_padlock-backport-cvs-head-changes.patch + 0004-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch + 0005-crypto-engine-autoload-padlock-dynamic-engine.patch " -# openssl-0.9.8k-padlock-sha.patch _builddir="$srcdir"/$pkgname-$pkgver prepare() { cd "$_builddir" @@ -69,7 +69,8 @@ libssl() { md5sums="e3873edfffc783624cfbdb65e2249cbd openssl-1.0.0a.tar.gz 115c481cd59b3dba631364e8fb1778f5 fix-manpages.patch c6a9857a5dbd30cead0404aa7dd73977 openssl-bb-basename.patch -ceae7d6166a455ecc41adc8f44f1a07e 0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch -383c0c0305532f471bf583d6e05cbea9 0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch -f687ab90b23587dc445eb0803a6eb1fb 0003-engine-padlock-implement-sha1-sha224-sha256-accelera.patch -f197ac9a2748e64b1cb15a12ddca3d61 0004-crypto-engine-autoload-padlock-dynamic-engine.patch" +1f607b8e11347e56a0906756f3d6928a 0001-crypto-hmac-support-EVP_MD_CTX_FLAG_ONESHOT-and-set-.patch +5ba830cf1e828192c8c40023dc92917d 0002-apps-speed-fix-digest-speed-measurement-and-add-hmac.patch +53fbd01733b488717575e04a5aaf6664 0003-engines-e_padlock-backport-cvs-head-changes.patch +beea8819faeefb9ab19ef90f00c53782 0004-engines-e_padlock-implement-sha1-sha224-sha256-accel.patch +8bc7a427f6005158585386b9837f700c 0005-crypto-engine-autoload-padlock-dynamic-engine.patch" diff --git a/main/php/APKBUILD b/main/php/APKBUILD index f933f01bd..d102fe061 100644 --- a/main/php/APKBUILD +++ b/main/php/APKBUILD @@ -1,9 +1,9 @@ # Contributor: Carlo Landmeter <clandmeter at gmail> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=php -pkgver=5.3.2 -_suhosinver=${pkgver}-0.9.9.1 -pkgrel=8 +pkgver=5.3.3 +_suhosinver=${pkgver}-0.9.10 +pkgrel=0 pkgdesc="The PHP language runtime engine" url="http://www.php.net/" license="PHP-3" @@ -64,19 +64,20 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-cli $pkgname-pear source="http://www.php.net/distributions/${pkgname}-${pkgver}.tar.bz2 http://download.suhosin.org/suhosin-patch-${_suhosinver}.patch.gz php-install-pear-xml.patch - zend_execute_API.c.patch - CVE-2010-2225.patch + php-uclibc.patch " _extdir="/usr/lib/php/20090626" -build() { +prepare() { cd "$srcdir/$pkgname-$pkgver" - # beat the pear installer into using xml.so patch -p1 -i "$srcdir"/php-install-pear-xml.patch || return 1 + patch -p1 -i "$srcdir"/php-uclibc.patch || return 1 +} - patch -p0 -i "$srcdir"/CVE-2010-2225.patch || return 1 +build() { + cd "$srcdir/$pkgname-$pkgver" # apply suhosin patch gunzip -c ${srcdir}/suhosin-patch-${_suhosinver}.patch.gz \ @@ -259,8 +260,7 @@ dev() { mv "$pkgdir"/usr/bin/phpize "$subpkgdir"/usr/bin/ } -md5sums="46f500816125202c48a458d0133254a4 php-5.3.2.tar.bz2 -4647b05330862d6a1fc4469245cc6ade suhosin-patch-5.3.2-0.9.9.1.patch.gz +md5sums="21ceeeb232813c10283a5ca1b4c87b48 php-5.3.3.tar.bz2 +b66b27c43b1332400ef8982944c3b95b suhosin-patch-5.3.3-0.9.10.patch.gz 5111e3be06d391f8772587c675240fab php-install-pear-xml.patch -55f9d24316a57e0c0f6b4b84791a1a17 zend_execute_API.c.patch -373a2705d03a13b77b590026b0ae47aa CVE-2010-2225.patch" +26adfe0e744ec05fa9e368bbdee83176 php-uclibc.patch" diff --git a/main/php/CVE-2010-2225.patch b/main/php/CVE-2010-2225.patch deleted file mode 100644 index 08c71f26b..000000000 --- a/main/php/CVE-2010-2225.patch +++ /dev/null @@ -1,194 +0,0 @@ -Index: ext/spl/tests/SplObjectStorage_unserialize_nested.phpt -=================================================================== ---- ext/spl/tests/SplObjectStorage_unserialize_nested.phpt (revision 0) -+++ ext/spl/tests/SplObjectStorage_unserialize_nested.phpt (revision 300843) -@@ -0,0 +1,47 @@ -+--TEST-- -+SPL: Test unserializing tested & linked storage -+--FILE-- -+<?php -+$o = new StdClass(); -+$a = new StdClass(); -+ -+$o->a = $a; -+ -+$so = new SplObjectStorage(); -+ -+$so[$o] = 1; -+$so[$a] = 2; -+ -+$s = serialize($so); -+echo $s."\n"; -+ -+$so1 = unserialize($s); -+var_dump($so1); -+ -+--EXPECTF-- -+C:16:"SplObjectStorage":76:{x:i:2;O:8:"stdClass":1:{s:1:"a";O:8:"stdClass":0:{}},i:1;;r:2;,i:2;;m:a:0:{}} -+object(SplObjectStorage)#4 (1) { -+ ["storage":"SplObjectStorage":private]=> -+ array(2) { -+ ["%s"]=> -+ array(2) { -+ ["obj"]=> -+ object(stdClass)#5 (1) { -+ ["a"]=> -+ object(stdClass)#6 (0) { -+ } -+ } -+ ["inf"]=> -+ int(1) -+ } -+ ["%s"]=> -+ array(2) { -+ ["obj"]=> -+ object(stdClass)#6 (0) { -+ } -+ ["inf"]=> -+ int(2) -+ } -+ } -+} -+ -Index: ext/spl/tests/SplObjectStorage_unserialize_bad.phpt -=================================================================== ---- ext/spl/tests/SplObjectStorage_unserialize_bad.phpt (revision 0) -+++ ext/spl/tests/SplObjectStorage_unserialize_bad.phpt (revision 300843) -@@ -0,0 +1,45 @@ -+--TEST-- -+SPL: Test that serialized blob contains unique elements (CVE-2010-2225) -+--FILE-- -+<?php -+ -+$badblobs = array( -+'x:i:2;i:0;,i:1;;i:0;,i:2;;m:a:0:{}', -+'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};R:1;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', -+'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};r:1;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', -+); -+foreach($badblobs as $blob) { -+try { -+ $so = new SplObjectStorage(); -+ $so->unserialize($blob); -+ var_dump($so); -+} catch(UnexpectedValueException $e) { -+ echo $e->getMessage()."\n"; -+} -+} -+--EXPECTF-- -+Error at offset 6 of 34 bytes -+Error at offset 46 of 89 bytes -+object(SplObjectStorage)#2 (1) { -+ ["storage":"SplObjectStorage":private]=> -+ array(2) { -+ ["%s"]=> -+ array(2) { -+ ["obj"]=> -+ object(stdClass)#3 (0) { -+ } -+ ["inf"]=> -+ int(1) -+ } -+ ["%s"]=> -+ array(2) { -+ ["obj"]=> -+ object(stdClass)#1 (0) { -+ } -+ ["inf"]=> -+ object(stdClass)#4 (0) { -+ } -+ } -+ } -+} -+ -Index: ext/spl/spl_observer.c -=================================================================== ---- ext/spl/spl_observer.c (revision 300842) -+++ ext/spl/spl_observer.c (revision 300843) -@@ -115,6 +115,7 @@ - zval_ptr_dtor(&element->inf); - } /* }}} */ - -+ - spl_SplObjectStorageElement* spl_object_storage_get(spl_SplObjectStorage *intern, zval *obj TSRMLS_DC) /* {{{ */ - { - spl_SplObjectStorageElement *element; -@@ -632,15 +633,24 @@ - zval_ptr_dtor(&pcount); - - while(count-- > 0) { -+ spl_SplObjectStorageElement *pelement; -+ - if (*p != ';') { - goto outexcept; - } - ++p; -+ if(*p != 'O' && *p != 'C' && *p != 'r') { -+ goto outexcept; -+ } - ALLOC_INIT_ZVAL(pentry); - if (!php_var_unserialize(&pentry, &p, s + buf_len, &var_hash TSRMLS_CC)) { - zval_ptr_dtor(&pentry); - goto outexcept; - } -+ if(Z_TYPE_P(pentry) != IS_OBJECT) { -+ zval_ptr_dtor(&pentry); -+ goto outexcept; -+ } - ALLOC_INIT_ZVAL(pinf); - if (*p == ',') { /* new version has inf */ - ++p; -@@ -649,6 +659,16 @@ - goto outexcept; - } - } -+ -+ pelement = spl_object_storage_get(intern, pentry TSRMLS_CC); -+ if(pelement) { -+ if(pelement->inf) { -+ var_push_dtor(&var_hash, &pelement->inf); -+ } -+ if(pelement->obj) { -+ var_push_dtor(&var_hash, &pelement->obj); -+ } -+ } - spl_object_storage_attach(intern, pentry, pinf TSRMLS_CC); - zval_ptr_dtor(&pentry); - zval_ptr_dtor(&pinf); -Index: ext/standard/var_unserializer.c -=================================================================== ---- ext/standard/var_unserializer.c (revision 300842) -+++ ext/standard/var_unserializer.c (revision 300843) -@@ -56,7 +56,7 @@ - var_hash->data[var_hash->used_slots++] = *rval; - } - --static inline void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval) -+PHPAPI void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval) - { - var_entries *var_hash = var_hashx->first_dtor, *prev = NULL; - -Index: ext/standard/php_var.h -=================================================================== ---- ext/standard/php_var.h (revision 300842) -+++ ext/standard/php_var.h (revision 300843) -@@ -60,6 +60,7 @@ - var_destroy(&(var_hash)) - - PHPAPI void var_replace(php_unserialize_data_t *var_hash, zval *ozval, zval **nzval); -+PHPAPI void var_push_dtor(php_unserialize_data_t *var_hash, zval **val); - PHPAPI void var_destroy(php_unserialize_data_t *var_hash); - - #define PHP_VAR_UNSERIALIZE_ZVAL_CHANGED(var_hash, ozval, nzval) \ -Index: ext/standard/var_unserializer.re -=================================================================== ---- ext/standard/var_unserializer.re (revision 300842) -+++ ext/standard/var_unserializer.re (revision 300843) -@@ -54,7 +54,7 @@ - var_hash->data[var_hash->used_slots++] = *rval; - } - --static inline void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval) -+PHPAPI void var_push_dtor(php_unserialize_data_t *var_hashx, zval **rval) - { - var_entries *var_hash = var_hashx->first_dtor, *prev = NULL; - diff --git a/main/php/curl-flush.patch b/main/php/curl-flush.patch deleted file mode 100644 index 14fc31a0b..000000000 --- a/main/php/curl-flush.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- /repository/php-src/ext/curl/interface.c 2009/06/15 12:38:11 1.62.2.14.2.57 -+++ /repository/php-src/ext/curl/interface.c 2009/06/28 10:00:28 1.62.2.14.2.58 -@@ -1827,6 +1827,14 @@ - if (ch->handlers->write->method == PHP_CURL_RETURN && ch->handlers->write->buf.len > 0) { - smart_str_0(&ch->handlers->write->buf); - RETURN_STRINGL(ch->handlers->write->buf.c, ch->handlers->write->buf.len, 1); -+ } -+ -+ /* flush the file handle, so any remaining data is synched to disk */ -+ if (ch->handlers->write->method == PHP_CURL_FILE && ch->handlers->write->fp) { -+ fflush(ch->handlers->write->fp); -+ } -+ if (ch->handlers->write_header->method == PHP_CURL_FILE && ch->handlers->write_header->fp) { -+ fflush(ch->handlers->write_header->fp); - } - - if (ch->handlers->write->method == PHP_CURL_RETURN) { diff --git a/main/php/gd-info-segfault.patch b/main/php/gd-info-segfault.patch deleted file mode 100644 index 846a19ef7..000000000 --- a/main/php/gd-info-segfault.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: ext/gd/libgd/gd_compat.c -=================================================================== ---- ext/gd/libgd/gd_compat.c (Revision 286947) -+++ ext/gd/libgd/gd_compat.c (Revision 286948) -@@ -14,7 +14,7 @@ - return JPEG_LIB_VERSION; - } - --int gdJpegGetVersionString() -+const char * gdJpegGetVersionString() - { - switch(JPEG_LIB_VERSION) { - case 62: -Index: ext/gd/libgd/gd_compat.h -=================================================================== ---- ext/gd/libgd/gd_compat.h (Revision 286947) -+++ ext/gd/libgd/gd_compat.h (Revision 286948) -@@ -8,7 +8,7 @@ - #endif - - const char * gdPngGetVersionString(); --int gdJpegGetVersionString(); -+const char * gdJpegGetVersionString(); - int gdJpegGetVersionInt(); - int overflow2(int a, int b); - diff --git a/main/php/php-uclibc.patch b/main/php/php-uclibc.patch new file mode 100644 index 000000000..554f66bd5 --- /dev/null +++ b/main/php/php-uclibc.patch @@ -0,0 +1,11 @@ +--- ./ext/standard/php_crypt_r.c.orig ++++ ./ext/standard/php_crypt_r.c +@@ -94,7 +94,7 @@ + if (!initialized) { + #ifdef PHP_WIN32 + InterlockedIncrement(&initialized); +-#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR >= 2)) ++#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR >= 2)) || defined(__UCLIBC__) + __sync_fetch_and_add(&initialized, 1); + #elif defined(HAVE_ATOMIC_H) /* Solaris 10 defines atomic API within */ + membar_producer(); diff --git a/main/php/zend_execute_API.c.patch b/main/php/zend_execute_API.c.patch deleted file mode 100644 index 0976a7b39..000000000 --- a/main/php/zend_execute_API.c.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- PHP_5_3/Zend/zend_execute_API.c 2009/12/18 18:41:53 292294 -+++ PHP_5_3/Zend/zend_execute_API.c 2009/12/18 19:12:11 292295 -@@ -838,6 +838,7 @@ - zval *param; - - if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION -+ && (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0 - && !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1) - && PZVAL_IS_REF(*fci->params[i])) { - SEPARATE_ZVAL(fci->params[i]); diff --git a/main/pidgin/APKBUILD b/main/pidgin/APKBUILD index bccd793c1..4077e8d59 100644 --- a/main/pidgin/APKBUILD +++ b/main/pidgin/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=pidgin -pkgver=2.7.1 +pkgver=2.7.2 pkgrel=0 pkgdesc="graphical multi-protocol instant messaging client for X" url="http://pidgin.im/" @@ -11,12 +11,11 @@ makedepends="gtk+-dev intltool libsm-dev startup-notification-dev gtkspell-dev cyrus-sasl-dev ncurses-dev nss-dev" subpackages="$pkgname-dev $pkgname-doc finch libpurple" source="http://downloads.sourceforge.net/pidgin/$pkgver/pidgin-$pkgver.tar.bz2 - icq_fix.patch" + " _builddir="$srcdir"/$pkgname-$pkgver prepare() { cd "$_builddir" - patch -p0 -i "$srcdir"/icq_fix.patch || return 1 } build() { @@ -60,5 +59,4 @@ libpurple() { mv "$pkgdir"/usr/share/purple "$pkgdir"/usr/share/sounds \ "$subpkgdir"/usr/share/ } -md5sums="0dd2adb9e8214ac960f956823c84e7e2 pidgin-2.7.1.tar.bz2 -2ce887cf36e698282b9241832850defd icq_fix.patch" +md5sums="c23d85bb6a197dd841d1b5585148327d pidgin-2.7.2.tar.bz2" diff --git a/main/pidgin/icq_fix.patch b/main/pidgin/icq_fix.patch deleted file mode 100644 index 8bb87ef86..000000000 --- a/main/pidgin/icq_fix.patch +++ /dev/null @@ -1,19 +0,0 @@ -# -# -# patch "libpurple/protocols/oscar/oscar.c" -# from [b448ff8a14ab7db9b3ad6ce2c8f17cac8159f702] -# to [6b8b45623896204448ac4b212a0c631655822ad1] -# -============================================================ ---- libpurple/protocols/oscar/oscar.c b448ff8a14ab7db9b3ad6ce2c8f17cac8159f702 -+++ libpurple/protocols/oscar/oscar.c 6b8b45623896204448ac4b212a0c631655822ad1 -@@ -4651,7 +4651,8 @@ oscar_send_im(PurpleConnection *gc, cons - tmp2 = purple_markup_strip_html(tmp1); - is_html = FALSE; - } else { -- tmp2 = g_strdup(tmp1); -+ /* ICQ 6 wants its HTML wrapped in these tags. Oblige it. */ -+ tmp2 = g_strdup_printf("<HTML><BODY>%s</BODY></HTML>", tmp1); - is_html = TRUE; - } - g_free(tmp1); diff --git a/main/remmina/APKBUILD b/main/remmina/APKBUILD index cc8ccdf94..f73ba5770 100644 --- a/main/remmina/APKBUILD +++ b/main/remmina/APKBUILD @@ -1,7 +1,7 @@ # Contributor: # Maintainer: pkgname=remmina -pkgver=0.8.0 +pkgver=0.8.1 pkgrel=0 pkgdesc="Remmina is a remote desktop client written in GTK+" url="http://remmina.sourceforge.net/" @@ -42,4 +42,4 @@ package() { # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname } -md5sums="26786dcc8a5e2afc08d58c2583810895 remmina-0.8.0.tar.gz" +md5sums="88905510156d0b71b741cae34e2e46c8 remmina-0.8.1.tar.gz" diff --git a/main/rrdtool/APKBUILD b/main/rrdtool/APKBUILD index ce1f2c6c6..333abc933 100644 --- a/main/rrdtool/APKBUILD +++ b/main/rrdtool/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=rrdtool pkgver=1.2.30 -pkgrel=4 +pkgrel=5 pkgdesc="Data logging and graphing application" url="http://www.rrdtool.org" license="GPL" @@ -17,13 +17,17 @@ build() { --disable-tcl \ --disable-python \ --disable-ruby \ - --enable-rrdcgi + --enable-rrdcgi \ + --enable-perl-site-install \ + --with-perl-options="INSTALLDIRS=vendor" \ + || return 1 make || return 1 } package() { cd "$_builddir" + export INSTALLDIRS=vendor make DESTDIR="$pkgdir" install || return 1 find "$pkgdir" -name '.packlist' -delete find "$pkgdir" -name 'perllocal.pod' -delete @@ -37,8 +41,10 @@ dev() { perl_rrd() { pkgdesc="Perl interface for rrdtool" - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/perl "$subpkgdir"/usr/lib/ + mkdir -p "$subpkgdir"/usr/lib \ + "$pkgdir"/usr/share + mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/perl* "$subpkgdir"/usr/share/ } md5sums="19b24f7184a8dbf7b48c1bbb565ad9fb rrdtool-1.2.30.tar.gz" diff --git a/main/smokeping/APKBUILD b/main/smokeping/APKBUILD new file mode 100644 index 000000000..1838ff598 --- /dev/null +++ b/main/smokeping/APKBUILD @@ -0,0 +1,111 @@ +# Contributor: Jeff Bilyk <jbilyk at gmail> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=smokeping +pkgver=2.4.2 +pkgrel=1 +pkgdesc="Smokeping network latency monitoring" +pkgusers="smokeping" +pkggroups="smokeping" +install="$pkgname.pre-install" +url="http://oss.oetiker.ch/smokeping/" +source="http://oss.oetiker.ch/smokeping/pub/smokeping-$pkgver.tar.gz + smokeping.initd" +depends="perl fping rrdtool perl-rrd + perl-uri-escape + perl-digest-hmac + perl-cgi-session + perl-libwww + perl-snmp-session + perl-net-dns + " +license="GPL" + +_builddir="$srcdir"/$pkgname-$pkgver +_vendorlib=/usr/share/perl5/vendor_perl + +prepare() { + cd "$_builddir" + # provided by perl-digest-hmac + rm -rf lib/Digest + # provided by perl-cgi-session + rm -rf lib/CGI + # provided by perl-snmp-session + rm -r lib/BER.pm lib/SNMP_Session.pm lib/SNMP_util.pm + rm -r qooxdoo/qooxdoolink +} + +build() { + return 0 +} + +package() { + cd "$_builddir" + + # create dirs + mkdir -p "$pkgdir"/etc/smokeping \ + "$pkgdir"/usr/bin \ + "$pkgdir"/usr/share/webapps/smokeping \ + "$pkgdir"/$_vendorlib + + # install libs + cp -ra "$_builddir"/lib/* "$pkgdir"/$_vendorlib + + # install cgi scripts + for i in smokeping.cgi tr.cgi; do + sed -i -e 's:^use lib:#use lib:' \ + -e 's:/home/oetiker.*/config.dist:/etc/smokeping/config:' \ + -e '1s:.*:#!/usr/bin/perl:' \ + htdocs/$i.dist || return 1 + mv htdocs/$i.dist \ + "$pkgdir"/usr/share/webapps/smokeping/$i \ + || return 1 + done + + # install ajax scripts + mv "$_builddir/htdocs"/* "$pkgdir"/usr/share/webapps/smokeping + + # install smokeping executables + for i in smokeping tSmoke; do + sed -e 's:^use lib:#use lib:g' \ + -e 's:etc/config.dist:/etc/smokeping/config:' \ + -i bin/$i.dist + install -m755 bin/$i.dist "$pkgdir"/usr/bin/$i + done + + # config + sed -e '/^imgcache/{s:\(^imgcache[ \t]*=\).*:\1 /var/lib/smokeping/.simg:}' \ + -e '/^imgurl/{s:\(^imgurl[ \t]*=\).*:\1 ../.simg:}' \ + -e '/^datadir/{s:\(^datadir[ \t]*=\).*:\1 /var/lib/smokeping:}' \ + -e '/^piddir/{s:\(^piddir[ \t]*=\).*:\1 /var/run/smokeping:}' \ + -e '/^cgiurl/{s#\(^cgiurl[ \t]*=\).*#\1 http://some.place.xyz/perl/smokeping.pl#}' \ + -e '/^smokemail/{s:\(^smokemail[ \t]*=\).*:\1 /etc/smokeping/smokemail:}' \ + -e '/^tmail/{s:\(^tmail[ \t]*=\).*:\1 /etc/smokeping/tmail:}' \ + -e '/^secrets/{s:\(^secrets[ \t]*=\).*:\1 /etc/smokeping/smokeping_secrets:}' \ + -e '/^template/{s:\(^template[ \t]*=\).*:\1 /etc/smokeping/basepage.html:}' \ + -e '/^sendmail/{s:usr/lib:usr/sbin:}' \ + -i etc/config.dist || return 1 + + sed -e '/^<script/{s:cropper/:/cropper/:}' \ + -i etc/basepage.html.dist \ + || return 1 + + for i in etc/*; do + local f=${i##*/} + install -m644 "$i" "$pkgdir"/etc/smokeping/${f%.dist} + done + + chmod 700 "$pkgdir"/etc/smokeping/smokeping_secrets + + # initscript + install -Dm755 "$srcdir"/smokeping.initd "$pkgdir"/etc/init.d/smokeping\ + || return 1 + + install -d -o smokeping -g smokeping -m755 \ + "$pkgdir"/var/lib/smokeping \ + "$pkgdir"/var/lib/smokeping/.simg \ + "$pkgdir"/var/run/smokeping + +} + +md5sums="eb8e7679fcad35e59d7c51f2328250a2 smokeping-2.4.2.tar.gz +550979e008f49299bf404aceeb81fe61 smokeping.initd" diff --git a/main/smokeping/smokeping.initd b/main/smokeping/smokeping.initd new file mode 100644 index 000000000..068f33ff2 --- /dev/null +++ b/main/smokeping/smokeping.initd @@ -0,0 +1,77 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +opts="${opts} dump reload restore" + +depend() { + need net + use dns +} + +checkconfig() { + if [ ! -f "/etc/smokeping/config" ] ; then + eerror "You need /etc/smokeping/config to run smokeping!" + return 1 + fi +} + +start() { + checkconfig || return 1 + + if [ ! -d /var/run/smokeping/ ]; then + mkdir /var/run/smokeping/ + fi + chown smokeping:smokeping /var/run/smokeping/ + + ebegin "Starting smokeping" + LC_ALL=C \ + start-stop-daemon --start --name smokeping \ + --pidfile /var/run/smokeping/smokeping.pid \ + --exec /usr/bin/smokeping \ + --chuid smokeping:smokeping + eend $? +} + +stop() { + ebegin "Stopping smokeping" + start-stop-daemon --stop \ + --pidfile /var/run/smokeping/smokeping.pid + eend $? +} + +reload() { + ebegin "Reloading smokeping" + /usr/bin/smokeping --reload 1>/dev/null 2>&1 + eend $? +} + +dump() { + ebegin "Dumping smokeping rrd files to XML for backup or upgrade use" + if service_started "${myservice}" ; then + eerror "You need to stop smokeping before dumping files!" + return 1 + fi + for f in `find /var/lib/smokeping -name '*.rrd' -print` ; do + f_xml=`dirname $f`/`basename $f .rrd`.xml + rrdtool dump "$f" > "${f_xml}" + chown root:0 "${f_xml}" + done + eend $? +} + +restore() { + ebegin "Restoring smokeping rrd files from XML dump files" + if service_started "${myservice}" ; then + eerror "You need to stop smokeping before restoring files!" + return 1 + fi + for f in `find /var/lib/smokeping -name '*.xml' -print` ; do + f_rrd=`dirname $f`/`basename $f .xml`.rrd + mv -f "${f_rrd}" "${f_rrd}.bak" + chown root:0 "${f_rrd}.bak" + rrdtool restore "$f" "${f_rrd}" + chown smokeping:smokeping "${f_rrd}" + done + eend $? +} diff --git a/main/smokeping/smokeping.pre-install b/main/smokeping/smokeping.pre-install new file mode 100644 index 000000000..236550f7c --- /dev/null +++ b/main/smokeping/smokeping.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +addgroup smokeping 2>/dev/null +adduser -h /var/lib/smokeping -S -D -G smokeping smokeping 2>/dev/null +exit 0 diff --git a/main/sqlite/APKBUILD b/main/sqlite/APKBUILD index 66aa792e5..2f6fd09e5 100644 --- a/main/sqlite/APKBUILD +++ b/main/sqlite/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Carlo Landmeter <clandmeter at gmail> pkgname=sqlite -pkgver=3.6.22 -pkgrel=2 +pkgver=3.7.0 +pkgrel=0 pkgdesc="A C library that implements an SQL database engine" url="http://www.sqlite.org/" license="custom" @@ -44,5 +44,5 @@ package() { install -Dm644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}/license.txt } -md5sums="a17bd53f1fde11f84adf79c6a1510ce5 sqlite-3.6.22.tar.gz +md5sums="78e94ee3b0d501c4b8ceb5964a32eba3 sqlite-3.7.0.tar.gz c1cdbc5544034d9012e421e75a5e4890 license.txt" diff --git a/main/swig/APKBUILD b/main/swig/APKBUILD index 9be176bf6..c2ecc1f27 100644 --- a/main/swig/APKBUILD +++ b/main/swig/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=swig -pkgver=1.3.40 -pkgrel=1 +pkgver=2.0.0 +pkgrel=0 pkgdesc="SWIG is a compiler that makes it easy to integrate C and C++ code with scripting languages" url="http://www.swig.org/" license="custom" @@ -9,12 +9,15 @@ depends="guile" makedepends="zlib-dev" source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" -build () -{ +build() { cd "$srcdir"/$pkgname-$pkgver ./configure --prefix=/usr make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver make DESTDIR="$pkgdir" install install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } -md5sums="2df766c9e03e02811b1ab4bba1c7b9cc swig-1.3.40.tar.gz" +md5sums="36ee2d9974be46a9f0a36460af928eb9 swig-2.0.0.tar.gz" diff --git a/main/syslinux/APKBUILD b/main/syslinux/APKBUILD index 03c2018b6..0a60f3ce7 100644 --- a/main/syslinux/APKBUILD +++ b/main/syslinux/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=syslinux -pkgver=4.01 +pkgver=4.02 pkgrel=0 pkgdesc="a boot loader for the Linux operating system which operates off an MS-DOS/Windows FAT filesystem." url="http://syslinux.org" @@ -27,4 +27,4 @@ package() { make INSTALLROOT="$pkgdir" MANDIR=/usr/share/man local-install } -md5sums="fbc5b153928d0489e429c7ab4384b0d9 syslinux-4.01.tar.bz2" +md5sums="52912c03f5c275d6c0ac09180ebab81f syslinux-4.02.tar.bz2" diff --git a/testing/tcpflow/APKBUILD b/main/tcpflow/APKBUILD index 244730363..ce3270721 100644 --- a/testing/tcpflow/APKBUILD +++ b/main/tcpflow/APKBUILD @@ -1,12 +1,12 @@ # Contributor: Michael Mason <ms13sp@gmail.com> -# Maintainer: Michael Mason <ms13sp@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=tcpflow pkgver=0.21 -pkgrel=0 +pkgrel=1 pkgdesc="A Tool for monitoring, capturing and storing TCP connections flows" url="http://www.circlemud.org/~jelson/software/tcpflow/" license="GPL" -depends="libpcap" +depends= makedepends="libpcap-dev" install= subpackages="$pkgname-doc" @@ -20,6 +20,10 @@ build() { --mandir=/usr/share/man \ --infodir=/usr/share/info make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver make DESTDIR="$pkgdir" install } diff --git a/main/transmission/APKBUILD b/main/transmission/APKBUILD index 35b5807ff..0a25cb7ce 100644 --- a/main/transmission/APKBUILD +++ b/main/transmission/APKBUILD @@ -1,6 +1,6 @@ # Maintainer:Carlo Landmeter pkgname=transmission -pkgver=2.01 +pkgver=2.03 pkgrel=0 pkgdesc="Lightweight GTK BitTorrent client" url="http://www.tansmissionbt.com" @@ -47,6 +47,6 @@ cli() { "$subpkgdir"/usr/bin/ } -md5sums="2e896b86fd55c3563ef85cd01a2141a3 transmission-2.01.tar.bz2 +md5sums="7296c85673ed767a35de3883cb27b545 transmission-2.03.tar.bz2 f65b8ae46f8ac89b35844109b3aa0c18 transmission-daemon.initd 89478a70fcd93463e1dd8d751da994da transmission-daemon.confd" diff --git a/main/wireshark/APKBUILD b/main/wireshark/APKBUILD index f1ab53087..b0e3c937e 100644 --- a/main/wireshark/APKBUILD +++ b/main/wireshark/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Jeremy Thomerson <jeremy@thomersonfamily.com> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=wireshark -pkgver=1.2.9 +pkgver=1.2.10 pkgrel=0 pkgdesc="network protocol analyzer - GTK version" url="http://www.wireshark.org" @@ -72,7 +72,7 @@ tshark() { mv "$pkgdir"/usr/bin/tshark "$subpkgdir"/usr/bin/tshark } -md5sums="a4240c36f1e668d85b703eacb7c0a95e wireshark-1.2.9.tar.bz2 +md5sums="f8bc926956c13fcddb4df0601011ceef wireshark-1.2.10.tar.bz2 cc87d7eb31f256df751b3371b1c426e9 wireshark-1.1.2--as-needed.patch 504ede44c02b2a52f6cbd3bffdf93b8d wireshark.desktop e771800a8c977fe223583a453bc27397 wireshark.png" diff --git a/main/xf86-video-cirrus/APKBUILD b/main/xf86-video-cirrus/APKBUILD index db531d89d..c2412a6a8 100644 --- a/main/xf86-video-cirrus/APKBUILD +++ b/main/xf86-video-cirrus/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xf86-video-cirrus pkgver=1.3.2 -pkgrel=2 +pkgrel=3 pkgdesc="Cirrus Logic video driver" url="http://xorg.freedesktop.org/" license="custom" @@ -10,7 +10,17 @@ depends= makedepends="pkgconfig xorg-server-dev libxi-dev fontsproto randrproto videoproto renderproto" -source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2" +source="http://xorg.freedesktop.org/releases/individual/driver/$pkgname-$pkgver.tar.bz2 + qemu.patch" + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + for i in $source; do + case $i in + *.patch) patch -p1 -i "$srcdir"/$i || return 1 + esac + done +} build() { cd "$srcdir"/$pkgname-$pkgver @@ -24,4 +34,5 @@ package() { make DESTDIR="$pkgdir" install || return 1 install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } -md5sums="8195d03ed0be0975c03441e66a9f53b3 xf86-video-cirrus-1.3.2.tar.bz2" +md5sums="8195d03ed0be0975c03441e66a9f53b3 xf86-video-cirrus-1.3.2.tar.bz2 +b3bd556766fcd0fee51ae0c286f75f05 qemu.patch" diff --git a/main/xf86-video-cirrus/qemu.patch b/main/xf86-video-cirrus/qemu.patch new file mode 100644 index 000000000..444fb6010 --- /dev/null +++ b/main/xf86-video-cirrus/qemu.patch @@ -0,0 +1,25 @@ +diff -up xf86-video-cirrus-1.2.0/src/alp_driver.c.jx xf86-video-cirrus-1.2.0/src/alp_driver.c +--- xf86-video-cirrus-1.2.0/src/alp_driver.c.jx 2008-03-19 10:29:23.000000000 -0400 ++++ xf86-video-cirrus-1.2.0/src/alp_driver.c 2009-02-27 10:59:27.000000000 -0500 +@@ -812,6 +812,20 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags) + else + xf86SetDDCproperties(pScrn,xf86PrintEDID( + xf86DoEDID_DDC2(pScrn->scrnIndex,pCir->I2CPtr1))); ++#ifdef XSERVER_LIBPCIACCESS ++ if (!pScrn->monitor->DDC && ++ ((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4)) { ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, ++ "Defaulting to 1024x768 for QEMU\n"); ++ pScrn->monitor->nHsync = 1; ++ pScrn->monitor->hsync[0].lo = 31.5; ++ pScrn->monitor->hsync[0].hi = 48.0; ++ pScrn->monitor->nVrefresh = 1; ++ pScrn->monitor->vrefresh[0].lo = 56.0; ++ pScrn->monitor->vrefresh[0].hi = 60.1; ++ pScrn->monitor->maxPixClock = 65000; ++ } ++#endif + + /* Probe the possible LCD display */ + AlpProbeLCD(pScrn); + diff --git a/main/xinit/06_move_serverauthfile_into_tmp.patch b/main/xinit/06_move_serverauthfile_into_tmp.patch new file mode 100644 index 000000000..99e8a6754 --- /dev/null +++ b/main/xinit/06_move_serverauthfile_into_tmp.patch @@ -0,0 +1,20 @@ +Move startx auth files in /tmp so they are removed on reboot. +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=357736 +The trap patch didn't seem to work on reboot. +--- + startx.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: xinit/startx.cpp +=================================================================== +--- xinit.orig/startx.cpp ++++ xinit/startx.cpp +@@ -273,7 +273,7 @@ + dummy=0 + + XCOMM create a file with auth information for the server. ':0' is a dummy. +- xserverauthfile=$HOME/.serverauth.$$ ++ xserverauthfile=`mktemp -p /tmp serverauth.XXXXXXXXXX` + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f "$xserverauthfile" << EOF + add :$dummy . $mcookie diff --git a/main/xinit/APKBUILD b/main/xinit/APKBUILD index 86eb500e5..1ef089884 100644 --- a/main/xinit/APKBUILD +++ b/main/xinit/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xinit -pkgver=1.1.1 -pkgrel=4 +pkgver=1.2.1 +pkgrel=1 pkgdesc="X.Org initialisation program " url="http://xorg.freedesktop.org/" license="GPL" @@ -9,26 +9,39 @@ subpackages="$pkgname-doc" depends="xauth" makedepends="pkgconfig libx11-dev" source="http://xorg.freedesktop.org/releases/individual/app/xinit-$pkgver.tar.bz2 + 06_move_serverauthfile_into_tmp.patch xinitrc xsession xserverrc" +prepare() { + cd "$srcdir"/xinit-$pkgver + for i in $source; do + case $i in + *.patch) patch -p1 -i "$srcdir"/$i + esac + done +} + build() { cd "$srcdir"/xinit-$pkgver - ./configure --prefix=/usr || return 1 - make XINITDIR=/etc/X11/xinit || return 1 + ./configure --prefix=/usr \ + --with-xinitdir=/etc/X11/xinit \ + || return 1 + make || return 1 } package() { cd "$srcdir"/xinit-$pkgver - make XINITDIR=/etc/X11/xinit DESTDIR="$pkgdir" install || return 1 + make DESTDIR="$pkgdir" install || return 1 chmod +x "$pkgdir"/usr/bin/startx install -m755 -d "$pkgdir"/etc/skel install -m755 -D "$srcdir"/xinitrc "$pkgdir"/etc/X11/xinit/xinitrc install -m755 "$srcdir"/xsession "$pkgdir"/etc/skel/.xsession || return 1 install -m755 "$srcdir"/xserverrc "$pkgdir"/etc/X11/xinit/xserverrc || return 1 } -md5sums="93c73705ed9eb1e1a6b6938405672f2b xinit-1.1.1.tar.bz2 +md5sums="56f2d202b3dc10fcd21931a67bb270f7 xinit-1.2.1.tar.bz2 +abd072ec435ce084cf4e89c58f83d45c 06_move_serverauthfile_into_tmp.patch af322d72972d5722b7fc0a9e8f025b15 xinitrc 4f04d2891ea87f50fde518267b7a1154 xsession -bb550d3b9a2d2b6cbe6e2667a3a7cd03 xserverrc" +4d29a1104997609e10206a4c1408237d xserverrc" diff --git a/main/xinit/xserverrc b/main/xinit/xserverrc index 6a636c119..2537aedcb 100644 --- a/main/xinit/xserverrc +++ b/main/xinit/xserverrc @@ -1 +1,2 @@ +#!/bin/sh exec /usr/bin/X -nolisten tcp diff --git a/testing/apache2/APKBUILD b/testing/apache2/APKBUILD new file mode 100644 index 000000000..a072fbab4 --- /dev/null +++ b/testing/apache2/APKBUILD @@ -0,0 +1,160 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=apache2 +pkgver=2.2.16 +pkgrel=1 +pkgdesc="A high performance Unix-based HTTP server" +url="http://httpd.apache.org/" +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" +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 + alpine.layout" + +prepare() { + cd "$srcdir" + cat "$srcdir/alpine.layout" >> httpd-$pkgver/config.layout + + # create symlinks to soruces for prefork and worker + ln -s httpd-$pkgver prefork + ln -s httpd-$pkgver worker + + # make a patched clone of itk sources + cp -ra httpd-$pkgver itk + cd itk + 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 +} + +_buildmpm() { + local mpm=$1 + shift + mkdir "$srcdir"/build-${mpm} + cd "$srcdir"/build-${mpm} + "$srcdir"/$mpm/configure --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 \ + --with-mpm=${mpm} \ + || return 1 + make || return 1 +} + +build () { + local mpm + + # build prefork with everything + _buildmpm prefork \ + --enable-mods-shared=all \ + --enable-ssl --with-ssl --enable-distcache \ + --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 \ + || return 1 + + #build the alternative mpms, but without modules + for mpm in worker itk; do + _buildmpm $mpm --enable-modules=none + done +} + +package() { + cd "$srcdir"/build-prefork + make -j1 DESTDIR="$pkgdir" install || return 1 + for mpm in worker itk; do + install -m755 "$srcdir"/build-$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 + install -d "$pkgdir"/etc/apache2/conf.d + + # 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 + ln -fs /var/log/httpd "$pkgdir/var/www/logs" + ln -fs /var/run/httpd "$pkgdir/var/www/run" + ln -fs /usr/lib/apache2 "$pkgdir/var/www/modules" +} + +utils() { + pkgdesc="Apache utility programs for webservers" + install -d "$subpkgdir"/usr/bin "$subpkgdir"/usr/sbin + cd "$pkgdir"/usr/sbin + mv ab dbmmanage htdbm htdigest htpasswd logresolve "$subpkgdir"/usr/bin + mv checkgid htcacheclean rotatelogs "$subpkgdir"/usr/sbin +} + +md5sums="c8ff2a07c884300bc7766a2e7f662d33 httpd-2.2.16.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 +ea8669bd3b913c4d30f16b5a11c82564 httpd.conf +af943bf52cec8088974084639661ba34 alpine.layout" diff --git a/testing/apache2/alpine.layout b/testing/apache2/alpine.layout new file mode 100644 index 000000000..7146971d2 --- /dev/null +++ b/testing/apache2/alpine.layout @@ -0,0 +1,22 @@ +<Layout Alpine> + prefix: /usr + exec_prefix: ${prefix} + bindir: ${prefix}/bin + sbindir: ${prefix}/sbin + libdir: ${prefix}/lib + libexecdir: ${prefix}/lib+ + mandir: ${prefix}/share/man + sysconfdir: /etc+ + datadir: ${usr}/share+ + installbuilddir: ${datadir}/build + errordir: ${datadir}/error + iconsdir: ${datadir}/icons + htdocsdir: /var/www/localhost/htdocs + manualdir: /usr/share/doc/apache2/manual + cgidir: /var/www/cgi-bin + includedir: /usr/include+ + localstatedir: /var + runtimedir: ${localstatedir}/run+ + logfiledir: ${localstatedir}/log+ + proxycachedir: ${localstatedir}/cache+ +</Layout> diff --git a/testing/apache2/apache2.confd b/testing/apache2/apache2.confd new file mode 100644 index 000000000..faf02fa97 --- /dev/null +++ b/testing/apache2/apache2.confd @@ -0,0 +1,54 @@ +# /etc/conf.d/apache2: config file for /etc/init.d/apache2 + +# +# The default processing model (MPM) is the process-based +# 'prefork' model. A thread-based model, 'worker', is also +# available, but does not work with some modules (such as PHP). +# +#HTTPD=/usr/sbin/httpd.worker + +HTTPD="/usr/sbin/httpd" + +# +# To pass additional options (for instance, -D definitions) to the +# httpd binary at startup, set HTTPD_OPTS here. +# +HTTPD_OPTS= + +# Extended options for advanced uses of Apache ONLY +# You don't need to edit these unless you are doing crazy Apache stuff +# As not having them set correctly, or feeding in an incorrect configuration +# via them will result in Apache failing to start +# YOU HAVE BEEN WARNED. + +# PID file +#PIDFILE=/var/run/apache2/httpd.pid + +# timeout for startup/shutdown checks +#TIMEOUT=10 + +# ServerRoot setting +#SERVERROOT=/var/www + +# Configuration file location +# - If this does NOT start with a '/', then it is treated relative to +# $SERVERROOT by Apache +#CONFIGFILE=/etc/apache2/httpd.conf + +# Location to log startup errors to +# They are normally dumped to your terminal. +#STARTUPERRORLOG="/var/log/apache2/startuperror.log" + +# A command that outputs a formatted text version of the HTML at the URL +# of the command line. Designed for lynx, however other programs may work. +#LYNX="lynx -dump" + +# The URL to your server's mod_status status page. +# Required for status and fullstatus +#STATUSURL="http://localhost/server-status" + +# Method to use when reloading the server +# Valid options are 'restart' and 'graceful' +# See http://httpd.apache.org/docs/2.2/stopping.html for information on +# what they do and how they differ. +#RELOAD_TYPE="graceful" diff --git a/testing/apache2/apache2.initd b/testing/apache2/apache2.initd new file mode 100755 index 000000000..03a6d0303 --- /dev/null +++ b/testing/apache2/apache2.initd @@ -0,0 +1,154 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +opts="configdump configtest fullstatus graceful gracefulstop modules reload virtualhosts" + +depend() { + need net + use mysql dns logger netmount postgresql + after sshd +} + +configtest() { + ebegin "Checking ${SVCNAME} configuration" + checkconfig + eend $? +} + +checkconfd() { + PIDFILE="${PIDFILE:-/var/run/apache2/httpd.pid}" + TIMEOUT=${TIMEOUT:-10} + + SERVERROOT="${SERVERROOT:-/var/www}" + if [ ! -d ${SERVERROOT} ]; then + eerror "SERVERROOT does not exist: ${SERVERROOT}" + return 1 + fi + + CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}" + [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}" + if [ ! -r "${CONFIGFILE}" ]; then + eerror "Unable to read configuration file: ${CONFIGFILE}" + return 1 + fi + + HTTPD_OPTS="${HTTPD_OPTS} -d ${SERVERROOT}" + HTTPD_OPTS="${HTTPD_OPTS} -f ${CONFIGFILE}" + [ -n "${STARTUPERRORLOG}" ] && HTTPD_OPTS="${HTTPD_OPTS} -E ${STARTUPERRORLOG}" + return 0 + +} + +checkconfig() { + checkconfd || return 1 + + ${HTTPD} ${HTTPD_OPTS} -t 1>/dev/null 2>&1 + ret=$? + if [ $ret -ne 0 ]; then + eerror "${SVCNAME} has detected an error in your setup:" + ${HTTPD} ${HTTPD_OPTS} -t + fi + + return $ret +} + +start() { + checkconfig || return 1 + + [ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start \ + --pidfile ${PIDFILE} \ + --exec ${HTTPD} \ + -- ${HTTPD_OPTS} -k start + eend $? +} + +stop() { + checkconfd || return 1 + + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \ + --retry ${TIMEOUT} + eend $? +} + +reload() { + RELOAD_TYPE="${RELOAD_TYPE:-graceful}" + + checkconfig || return 1 + service_started "${SVCNAME}" || return + + if [ "${RELOAD_TYPE}" = "restart" ]; then + ebegin "Restarting ${SVCNAME}" + ${HTTPD} ${HTTPD_OPTS} -k restart + eend $? + elif [ "${RELOAD_TYPE}" = "graceful" ]; then + ebegin "Gracefully restarting ${SVCNAME}" + ${HTTPD} ${HTTPD_OPTS} -k graceful + eend $? + else + eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}" + fi +} + +graceful() { + checkconfig || return 1 + service_started "${SVCNAME}" || return + ebegin "Gracefully restarting ${SVCNAME}" + ${HTTPD} ${HTTPD_OPTS} -k graceful + eend $? +} + +gracefulstop() { + checkconfig || return 1 + ebegin "Gracefully stopping ${SVCNAME}" + start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \ + --retry SIGWINCH/${TIMEOUT} + eend $? +} + +modules() { + checkconfig || return 1 + + ${HTTPD} ${HTTPD_OPTS} -M 2>&1 +} + +fullstatus() { + LYNX="${LYNX:-lynx -dump}" + STATUSURL="${STATUSURL:-http://localhost/server-status}" + + if ! service_started "${SVCNAME}"; then + eerror "${SVCNAME} not started" + elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then + eerror "lynx not found! you need to emerge www-client/lynx" + else + ${LYNX} ${STATUSURL} + fi +} + +virtualhosts() { + checkconfd || return 1 + ${HTTPD} ${HTTPD_OPTS} -S +} + +configdump() { + LYNX="${LYNX:-lynx -dump}" + INFOURL="${INFOURL:-http://localhost/server-info}" + + checkconfd || return 1 + + if ! service_started "${SVCNAME}"; then + eerror "${SVCNAME} not started" + elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then + eerror "lynx not found! you need to emerge www-client/lynx" + else + echo "${HTTPD} started with '${HTTPD_OPTS}'" + for i in config server list; do + ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q' + done + fi +} + diff --git a/testing/apache2/apache2.logrotate b/testing/apache2/apache2.logrotate new file mode 100644 index 000000000..fe19a4381 --- /dev/null +++ b/testing/apache2/apache2.logrotate @@ -0,0 +1,10 @@ +/var/log/apache2/*log { + missingok + notifempty + sharedscripts + delaycompress + postrotate + /sbin/rc-service --quiet apache2 reload > /dev/null 2>/dev/null || true + endscript +} + diff --git a/testing/apache2/httpd.conf b/testing/apache2/httpd.conf new file mode 100644 index 000000000..5e0adee65 --- /dev/null +++ b/testing/apache2/httpd.conf @@ -0,0 +1,1009 @@ +# +# This is the main Apache server configuration file. It contains the +# configuration directives that give the server its instructions. +# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. +# In particular, see +# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> +# for a discussion of each configuration directive. +# +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# The configuration directives are grouped into three basic sections: +# 1. Directives that control the operation of the Apache server process as a +# whole (the 'global environment'). +# 2. Directives that define the parameters of the 'main' or 'default' server, +# which responds to requests that aren't handled by a virtual host. +# These directives also provide default values for the settings +# of all virtual hosts. +# 3. Settings for virtual hosts, which allow Web requests to be sent to +# different IP addresses or hostnames and have them handled by the +# same Apache server process. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" +# with ServerRoot set to "/etc/httpd" will be interpreted by the +# server as "/etc/httpd/logs/foo.log". +# + +### Section 1: Global Environment +# +# The directives in this section affect the overall operation of Apache, +# such as the number of concurrent requests it can handle or where it +# can find its configuration files. +# + +# +# Don't give away too much information about all the subcomponents +# we are running. Comment out this line if you don't mind remote sites +# finding out what major optional modules you are running +ServerTokens OS + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# NOTE! If you intend to place this on an NFS (or otherwise network) +# mounted filesystem then please read the LockFile documentation +# (available at <URL:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#lockfile>); +# you will save yourself a lot of trouble. +# +# Do NOT add a slash at the end of the directory path. +# +ServerRoot "/var/www" + +# +# PidFile: The file in which the server should record its process +# identification number when it starts. Note the PIDFILE variable in +# /etc/conf.d/apache2 must be set appropriately if this location is +# changed. +# +PidFile run/httpd.pid + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 60 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive Off + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 5 + +## +## Server-Pool Size Regulation (MPM specific) +## + +# prefork MPM +# StartServers: number of server processes to start +# MinSpareServers: minimum number of server processes which are kept spare +# MaxSpareServers: maximum number of server processes which are kept spare +# ServerLimit: maximum value for MaxClients for the lifetime of the server +# MaxClients: maximum number of server processes allowed to start +# MaxRequestsPerChild: maximum number of requests a server process serves +<IfModule prefork.c> +StartServers 8 +MinSpareServers 5 +MaxSpareServers 20 +ServerLimit 256 +MaxClients 256 +MaxRequestsPerChild 4000 +</IfModule> + +# worker MPM +# StartServers: initial number of server processes to start +# MaxClients: maximum number of simultaneous client connections +# MinSpareThreads: minimum number of worker threads which are kept spare +# MaxSpareThreads: maximum number of worker threads which are kept spare +# ThreadsPerChild: constant number of worker threads in each server process +# MaxRequestsPerChild: maximum number of requests a server process serves +<IfModule worker.c> +StartServers 4 +MaxClients 300 +MinSpareThreads 25 +MaxSpareThreads 75 +ThreadsPerChild 25 +MaxRequestsPerChild 0 +</IfModule> + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, in addition to the default. See also the <VirtualHost> +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses (0.0.0.0) +# +#Listen 12.34.56.78:80 +Listen 80 + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# +LoadModule auth_basic_module modules/mod_auth_basic.so +LoadModule auth_digest_module modules/mod_auth_digest.so +LoadModule authn_file_module modules/mod_authn_file.so +LoadModule authn_alias_module modules/mod_authn_alias.so +LoadModule authn_anon_module modules/mod_authn_anon.so +LoadModule authn_dbm_module modules/mod_authn_dbm.so +LoadModule authn_default_module modules/mod_authn_default.so +LoadModule authz_host_module modules/mod_authz_host.so +LoadModule authz_user_module modules/mod_authz_user.so +LoadModule authz_owner_module modules/mod_authz_owner.so +LoadModule authz_groupfile_module modules/mod_authz_groupfile.so +LoadModule authz_dbm_module modules/mod_authz_dbm.so +LoadModule authz_default_module modules/mod_authz_default.so +LoadModule ldap_module modules/mod_ldap.so +LoadModule authnz_ldap_module modules/mod_authnz_ldap.so +LoadModule include_module modules/mod_include.so +LoadModule log_config_module modules/mod_log_config.so +LoadModule logio_module modules/mod_logio.so +LoadModule env_module modules/mod_env.so +LoadModule ext_filter_module modules/mod_ext_filter.so +LoadModule mime_magic_module modules/mod_mime_magic.so +LoadModule expires_module modules/mod_expires.so +LoadModule deflate_module modules/mod_deflate.so +LoadModule headers_module modules/mod_headers.so +LoadModule usertrack_module modules/mod_usertrack.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule mime_module modules/mod_mime.so +LoadModule dav_module modules/mod_dav.so +LoadModule status_module modules/mod_status.so +LoadModule autoindex_module modules/mod_autoindex.so +LoadModule info_module modules/mod_info.so +LoadModule dav_fs_module modules/mod_dav_fs.so +LoadModule vhost_alias_module modules/mod_vhost_alias.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule dir_module modules/mod_dir.so +LoadModule actions_module modules/mod_actions.so +LoadModule speling_module modules/mod_speling.so +LoadModule userdir_module modules/mod_userdir.so +LoadModule alias_module modules/mod_alias.so +LoadModule substitute_module modules/mod_substitute.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule proxy_module modules/mod_proxy.so +LoadModule proxy_balancer_module modules/mod_proxy_balancer.so +LoadModule proxy_ftp_module modules/mod_proxy_ftp.so +LoadModule proxy_http_module modules/mod_proxy_http.so +LoadModule proxy_ajp_module modules/mod_proxy_ajp.so +LoadModule proxy_connect_module modules/mod_proxy_connect.so +LoadModule cache_module modules/mod_cache.so +LoadModule suexec_module modules/mod_suexec.so +LoadModule disk_cache_module modules/mod_disk_cache.so +LoadModule cgi_module modules/mod_cgi.so +LoadModule version_module modules/mod_version.so + +# +# The following modules are not loaded by default: +# +#LoadModule asis_module modules/mod_asis.so +#LoadModule authn_dbd_module modules/mod_authn_dbd.so +#LoadModule cern_meta_module modules/mod_cern_meta.so +#LoadModule cgid_module modules/mod_cgid.so +#LoadModule dbd_module modules/mod_dbd.so +#LoadModule dumpio_module modules/mod_dumpio.so +#LoadModule filter_module modules/mod_filter.so +#LoadModule ident_module modules/mod_ident.so +#LoadModule log_forensic_module modules/mod_log_forensic.so +#LoadModule unique_id_module modules/mod_unique_id.so +# + +# +# Load config files from the config directory "/etc/httpd/conf.d". +# +Include conf.d/*.conf + +# +# ExtendedStatus controls whether Apache will generate "full" status +# information (ExtendedStatus On) or just basic information (ExtendedStatus +# Off) when the "server-status" handler is called. The default is Off. +# +#ExtendedStatus On + +# +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. +# +# User/Group: The name (or #number) of the user/group to run httpd as. +# . On SCO (ODT 3) use "User nouser" and "Group nogroup". +# . On HPUX you may not be able to use shared memory as nobody, and the +# suggested workaround is to create a user www and use that user. +# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) +# when the value of (unsigned)Group is above 60000; +# don't use Group #-1 on these systems! +# +User apache +Group apache + +### Section 2: 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# <VirtualHost> definition. These values also provide defaults for +# any <VirtualHost> containers you may define later in the file. +# +# All of these directives may appear inside <VirtualHost> containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin root@localhost + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If this is not set to valid DNS name for your host, server-generated +# redirections will not work. See also the UseCanonicalName directive. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# You will have to access it by its address anyway, and this will make +# redirections work in a sensible way. +# +#ServerName www.example.com:80 + +# +# UseCanonicalName: Determines how Apache constructs self-referencing +# URLs and the SERVER_NAME and SERVER_PORT variables. +# When set "Off", Apache will use the Hostname and Port supplied +# by the client. When set "On", Apache will use the value of the +# ServerName directive. +# +UseCanonicalName Off + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "/var/www/localhost/htdocs" + +# +# Each directory to which Apache has access can be configured with respect +# to which services and features are allowed and/or disabled in that +# directory (and its subdirectories). +# +# First, we configure the "default" to be a very restrictive set of +# features. +# +<Directory /> + Options FollowSymLinks + AllowOverride None +</Directory> + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# This should be changed to whatever you set DocumentRoot to. +# +<Directory "/var/www/localhost/htdocs"> + +# +# Possible values for the Options directive are "None", "All", +# or any combination of: +# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews +# +# Note that "MultiViews" must be named *explicitly* --- "Options All" +# doesn't give it to you. +# +# The Options directive is both complicated and important. Please see +# http://httpd.apache.org/docs/2.2/mod/core.html#options +# for more information. +# + Options Indexes FollowSymLinks + +# +# AllowOverride controls what directives may be placed in .htaccess files. +# It can be "All", "None", or any combination of the keywords: +# Options FileInfo AuthConfig Limit +# + AllowOverride None + +# +# Controls who can get stuff from this server. +# + Order allow,deny + Allow from all + +</Directory> + +# +# UserDir: The name of the directory that is appended onto a user's home +# directory if a ~user request is received. +# +# The path to the end user account 'public_html' directory must be +# accessible to the webserver userid. This usually means that ~userid +# must have permissions of 711, ~userid/public_html must have permissions +# of 755, and documents contained therein must be world-readable. +# Otherwise, the client will only receive a "403 Forbidden" message. +# +# See also: http://httpd.apache.org/docs/misc/FAQ.html#forbidden +# +<IfModule mod_userdir.c> + # + # UserDir is disabled by default since it can confirm the presence + # of a username on the system (depending on home directory + # permissions). + # + UserDir disabled + + # + # To enable requests to /~user/ to serve the user's public_html + # directory, remove the "UserDir disabled" line above, and uncomment + # the following line instead: + # + #UserDir public_html + +</IfModule> + +# +# Control access to UserDir directories. The following is an example +# for a site where these directories are restricted to read-only. +# +#<Directory /home/*/public_html> +# AllowOverride FileInfo AuthConfig Limit +# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec +# <Limit GET POST OPTIONS> +# Order allow,deny +# Allow from all +# </Limit> +# <LimitExcept GET POST OPTIONS> +# Order deny,allow +# Deny from all +# </LimitExcept> +#</Directory> + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# +# The index.html.var file (a type-map) is used to deliver content- +# negotiated documents. The MultiViews Option can be used for the +# same purpose, but it is much slower. +# +DirectoryIndex index.html index.html.var + +# +# AccessFileName: The name of the file to look for in each directory +# for additional configuration directives. See also the AllowOverride +# directive. +# +AccessFileName .htaccess + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# +<Files ~ "^\.ht"> + Order allow,deny + Deny from all + Satisfy All +</Files> + +# +# TypesConfig describes where the mime.types file (or equivalent) is +# to be found. +# +TypesConfig /etc/apache2/mime.types + +# +# DefaultType is the default MIME type the server will use for a document +# if it cannot otherwise determine one, such as from filename extensions. +# If your server contains mostly text or HTML documents, "text/plain" is +# a good value. If most of your content is binary, such as applications +# or images, you may want to use "application/octet-stream" instead to +# keep browsers from trying to display binary files as though they are +# text. +# +DefaultType text/plain + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +<IfModule mod_mime_magic.c> +# MIMEMagicFile /usr/share/magic.mime + MIMEMagicFile conf/magic +</IfModule> + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# +# EnableMMAP: Control whether memory-mapping is used to deliver +# files (assuming that the underlying OS supports it). +# The default is on; turn this off if you serve from NFS-mounted +# filesystems. On some systems, turning it off (regardless of +# filesystem) can improve performance; for details, please see +# http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap +# +#EnableMMAP off + +# +# EnableSendfile: Control whether the sendfile kernel support is +# used to deliver files (assuming that the OS supports it). +# The default is on; turn this off if you serve from NFS-mounted +# filesystems. Please see +# http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile +# +#EnableSendfile off + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a <VirtualHost> +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a <VirtualHost> +# container, that host's errors will be logged there and not here. +# +ErrorLog logs/error.log + +# +# LogLevel: Control the number of messages logged to the error.log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + +# +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). +# +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %b" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent + +# "combinedio" includes actual counts of actual bytes received (%I) and sent (%O); this +# requires the mod_logio module to be loaded. +#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + +# +# The location and format of the access logfile (Common Logfile Format). +# If you do not define any access logfiles within a <VirtualHost> +# container, they will be logged here. Contrariwise, if you *do* +# define per-<VirtualHost> access logfiles, transactions will be +# logged therein and *not* in this file. +# +#CustomLog logs/access.log common + +# +# If you would like to have separate agent and referer logfiles, uncomment +# the following directives. +# +#CustomLog logs/referer.log referer +#CustomLog logs/agent.log agent + +# +# For a single logfile with access, agent, and referer information +# (Combined Logfile Format), use the following directive: +# +CustomLog logs/access.log combined + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (internal error documents, FTP directory +# listings, mod_status and mod_info output etc., but not CGI generated +# documents or custom error documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +# +ServerSignature On + +# +# Aliases: Add here as many aliases as you need (with no limit). The format is +# Alias fakename realname +# +# Note that if you include a trailing / on fakename then the server will +# require it to be present in the URL. So "/icons" isn't aliased in this +# example, only "/icons/". If the fakename is slash-terminated, then the +# realname must also be slash terminated, and if the fakename omits the +# trailing slash, the realname must also omit it. +# +# We include the /icons/ alias for FancyIndexed directory listings. If you +# do not use FancyIndexing, you may comment this out. +# +Alias /icons/ "/usr/share/apache2/icons/" + +<Directory "/usr/share/apache2/icons"> + Options Indexes MultiViews FollowSymLinks + AllowOverride None + Order allow,deny + Allow from all +</Directory> + +# +# WebDAV module configuration section. +# +<IfModule mod_dav_fs.c> + # Location of the WebDAV lock database. + DAVLockDB /var/lib/dav/lockdb +</IfModule> + +# +# ScriptAlias: This controls which directories contain server scripts. +# ScriptAliases are essentially the same as Aliases, except that +# documents in the realname directory are treated as applications and +# run by the server when requested rather than as documents sent to the client. +# The same rules about trailing "/" apply to ScriptAlias directives as to +# Alias. +# +ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" + +# +# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# +<Directory "/var/www/cgi-bin"> + AllowOverride None + Options None + Order allow,deny + Allow from all +</Directory> + +# +# Redirect allows you to tell clients about documents which used to exist in +# your server's namespace, but do not anymore. This allows you to tell the +# clients where to look for the relocated document. +# Example: +# Redirect permanent /foo http://www.example.com/bar + +# +# Directives controlling the display of server-generated directory listings. +# + +# +# IndexOptions: Controls the appearance of server-generated directory +# listings. +# +IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 + +# +# AddIcon* directives tell the server which icon to show for different +# files or filename extensions. These are only displayed for +# FancyIndexed directories. +# +AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip + +AddIconByType (TXT,/icons/text.gif) text/* +AddIconByType (IMG,/icons/image2.gif) image/* +AddIconByType (SND,/icons/sound2.gif) audio/* +AddIconByType (VID,/icons/movie.gif) video/* + +AddIcon /icons/binary.gif .bin .exe +AddIcon /icons/binhex.gif .hqx +AddIcon /icons/tar.gif .tar +AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv +AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip +AddIcon /icons/a.gif .ps .ai .eps +AddIcon /icons/layout.gif .html .shtml .htm .pdf +AddIcon /icons/text.gif .txt +AddIcon /icons/c.gif .c +AddIcon /icons/p.gif .pl .py +AddIcon /icons/f.gif .for +AddIcon /icons/dvi.gif .dvi +AddIcon /icons/uuencoded.gif .uu +AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl +AddIcon /icons/tex.gif .tex +AddIcon /icons/bomb.gif core + +AddIcon /icons/back.gif .. +AddIcon /icons/hand.right.gif README +AddIcon /icons/folder.gif ^^DIRECTORY^^ +AddIcon /icons/blank.gif ^^BLANKICON^^ + +# +# DefaultIcon is which icon to show for files which do not have an icon +# explicitly set. +# +DefaultIcon /icons/unknown.gif + +# +# AddDescription allows you to place a short description after a file in +# server-generated indexes. These are only displayed for FancyIndexed +# directories. +# Format: AddDescription "description" filename +# +#AddDescription "GZIP compressed document" .gz +#AddDescription "tar archive" .tar +#AddDescription "GZIP compressed tar archive" .tgz + +# +# ReadmeName is the name of the README file the server will look for by +# default, and append to directory listings. +# +# HeaderName is the name of a file which should be prepended to +# directory indexes. +ReadmeName README.html +HeaderName HEADER.html + +# +# IndexIgnore is a set of filenames which directory indexing should ignore +# and not include in the listing. Shell-style wildcarding is permitted. +# +IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t + +# +# DefaultLanguage and AddLanguage allows you to specify the language of +# a document. You can then use content negotiation to give a browser a +# file in a language the user can understand. +# +# Specify a default language. This means that all data +# going out without a specific language tag (see below) will +# be marked with this one. You probably do NOT want to set +# this unless you are sure it is correct for all cases. +# +# * It is generally better to not mark a page as +# * being a certain language than marking it with the wrong +# * language! +# +# DefaultLanguage nl +# +# Note 1: The suffix does not have to be the same as the language +# keyword --- those with documents in Polish (whose net-standard +# language code is pl) may wish to use "AddLanguage pl .po" to +# avoid the ambiguity with the common suffix for perl scripts. +# +# Note 2: The example entries below illustrate that in some cases +# the two character 'Language' abbreviation is not identical to +# the two character 'Country' code for its country, +# E.g. 'Danmark/dk' versus 'Danish/da'. +# +# Note 3: In the case of 'ltz' we violate the RFC by using a three char +# specifier. There is 'work in progress' to fix this and get +# the reference data for rfc1766 cleaned up. +# +# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) +# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) +# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) +# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) +# Norwegian (no) - Polish (pl) - Portugese (pt) +# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) +# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) +# +AddLanguage ca .ca +AddLanguage cs .cz .cs +AddLanguage da .dk +AddLanguage de .de +AddLanguage el .el +AddLanguage en .en +AddLanguage eo .eo +AddLanguage es .es +AddLanguage et .et +AddLanguage fr .fr +AddLanguage he .he +AddLanguage hr .hr +AddLanguage it .it +AddLanguage ja .ja +AddLanguage ko .ko +AddLanguage ltz .ltz +AddLanguage nl .nl +AddLanguage nn .nn +AddLanguage no .no +AddLanguage pl .po +AddLanguage pt .pt +AddLanguage pt-BR .pt-br +AddLanguage ru .ru +AddLanguage sv .sv +AddLanguage zh-CN .zh-cn +AddLanguage zh-TW .zh-tw + +# +# LanguagePriority allows you to give precedence to some languages +# in case of a tie during content negotiation. +# +# Just list the languages in decreasing order of preference. We have +# more or less alphabetized them here. You probably want to change this. +# +LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW + +# +# ForceLanguagePriority allows you to serve a result page rather than +# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) +# [in case no accepted languages matched the available variants] +# +ForceLanguagePriority Prefer Fallback + +# +# Specify a default charset for all content served; this enables +# interpretation of all content as UTF-8 by default. To use the +# default browser choice (ISO-8859-1), or to allow the META tags +# in HTML content to override this choice, comment out this +# directive: +# +AddDefaultCharset UTF-8 + +# +# AddType allows you to add to or override the MIME configuration +# file mime.types for specific file types. +# +#AddType application/x-tar .tgz + +# +# AddEncoding allows you to have certain browsers uncompress +# information on the fly. Note: Not all browsers support this. +# Despite the name similarity, the following Add* directives have nothing +# to do with the FancyIndexing customization directives above. +# +#AddEncoding x-compress .Z +#AddEncoding x-gzip .gz .tgz + +# If the AddEncoding directives above are commented-out, then you +# probably should define those extensions to indicate media types: +# +AddType application/x-compress .Z +AddType application/x-gzip .gz .tgz + +# +# MIME-types for downloading Certificates and CRLs +# +AddType application/x-x509-ca-cert .crt +AddType application/x-pkcs7-crl .crl + +# +# AddHandler allows you to map certain file extensions to "handlers": +# actions unrelated to filetype. These can be either built into the server +# or added with the Action directive (see below) +# +# To use CGI scripts outside of ScriptAliased directories: +# (You will also need to add "ExecCGI" to the "Options" directive.) +# +#AddHandler cgi-script .cgi + +# +# For files that include their own HTTP headers: +# +#AddHandler send-as-is asis + +# +# For type maps (negotiated resources): +# (This is enabled by default to allow the Apache "It Worked" page +# to be distributed in multiple languages.) +# +AddHandler type-map var + +# +# Filters allow you to process content before it is sent to the client. +# +# To parse .shtml files for server-side includes (SSI): +# (You will also need to add "Includes" to the "Options" directive.) +# +AddType text/html .shtml +AddOutputFilter INCLUDES .shtml + +# +# Action lets you define media types that will execute a script whenever +# a matching file is called. This eliminates the need for repeated URL +# pathnames for oft-used CGI file processors. +# Format: Action media/type /cgi-script/location +# Format: Action handler-name /cgi-script/location +# + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# Putting this all together, we can internationalize error responses. +# +# We use Alias to redirect any /error/HTTP_<error>.html.var response to +# our collection of by-error message multi-language collections. We use +# includes to substitute the appropriate text. +# +# You can modify the messages' appearance without changing any of the +# default HTTP_<error>.html.var files by adding the line: +# +# Alias /error/include/ "/your/include/path/" +# +# which allows you to create your own set of files by starting with the +# /var/www/error/include/ files and +# copying them to /your/include/path/, even on a per-VirtualHost basis. +# + +Alias /error/ "/usr/share/apache2/error/" + +<IfModule mod_negotiation.c> +<IfModule mod_include.c> + <Directory "/usr/share/apache2/error"> + AllowOverride None + Options IncludesNoExec + AddOutputFilter Includes html + AddHandler type-map var + Order allow,deny + Allow from all + LanguagePriority en es de fr + ForceLanguagePriority Prefer Fallback + </Directory> + +# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var +# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var +# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var +# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var +# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var +# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var +# ErrorDocument 410 /error/HTTP_GONE.html.var +# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var +# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var +# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var +# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var +# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var +# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var +# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var +# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var +# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var +# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var + +</IfModule> +</IfModule> + +# +# The following directives modify normal HTTP response behavior to +# handle known problems with browser implementations. +# +BrowserMatch "Mozilla/2" nokeepalive +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 +BrowserMatch "RealPlayer 4\.0" force-response-1.0 +BrowserMatch "Java/1\.0" force-response-1.0 +BrowserMatch "JDK/1\.0" force-response-1.0 + +# +# The following directive disables redirects on non-GET requests for +# a directory that does not include the trailing slash. This fixes a +# problem with Microsoft WebFolders which does not appropriately handle +# redirects for folders with DAV methods. +# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. +# +BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully +BrowserMatch "MS FrontPage" redirect-carefully +BrowserMatch "^WebDrive" redirect-carefully +BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully +BrowserMatch "^gnome-vfs/1.0" redirect-carefully +BrowserMatch "^XML Spy" redirect-carefully +BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully + +# +# Allow server status reports generated by mod_status, +# with the URL of http://servername/server-status +# Change the ".example.com" to match your domain to enable. +# +#<Location /server-status> +# SetHandler server-status +# Order deny,allow +# Deny from all +# Allow from .example.com +#</Location> + +# +# Allow remote server configuration reports, with the URL of +# http://servername/server-info (requires that mod_info.c be loaded). +# Change the ".example.com" to match your domain to enable. +# +#<Location /server-info> +# SetHandler server-info +# Order deny,allow +# Deny from all +# Allow from .example.com +#</Location> + +# +# Proxy Server directives. Uncomment the following lines to +# enable the proxy server: +# +#<IfModule mod_proxy.c> +#ProxyRequests On +# +#<Proxy *> +# Order deny,allow +# Deny from all +# Allow from .example.com +#</Proxy> + +# +# Enable/disable the handling of HTTP/1.1 "Via:" headers. +# ("Full" adds the server version; "Block" removes all outgoing Via: headers) +# Set to one of: Off | On | Full | Block +# +#ProxyVia On + +# +# To enable a cache of proxied content, uncomment the following lines. +# See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details. +# +#<IfModule mod_disk_cache.c> +# CacheEnable disk / +# CacheRoot "/var/cache/mod_proxy" +#</IfModule> +# + +#</IfModule> +# End of proxy directives. + +### Section 3: Virtual Hosts +# +# VirtualHost: If you want to maintain multiple domains/hostnames on your +# machine you can setup VirtualHost containers for them. Most configurations +# use only name-based virtual hosts so the server doesn't need to worry about +# IP addresses. This is indicated by the asterisks in the directives below. +# +# Please see the documentation at +# <URL:http://httpd.apache.org/docs/2.2/vhosts/> +# for further details before you try to setup virtual hosts. +# +# You may use the command line option '-S' to verify your virtual host +# configuration. + +# +# Use name-based virtual hosting. +# +#NameVirtualHost *:80 +# +# NOTE: NameVirtualHost cannot be used without a port specifier +# (e.g. :80) if mod_ssl is being used, due to the nature of the +# SSL protocol. +# + +# +# VirtualHost example: +# Almost any Apache directive may go into a VirtualHost container. +# The first VirtualHost section is used for requests without a known +# server name. +# +#<VirtualHost *:80> +# ServerAdmin webmaster@dummy-host.example.com +# DocumentRoot /var/www/dummy-host.example.com/htdocs +# ServerName dummy-host.example.com +# ErrorLog logs/dummy-host.example.com-error.log +# CustomLog logs/dummy-host.example.com-access.log common +#</VirtualHost> diff --git a/testing/bluez/APKBUILD b/testing/bluez/APKBUILD index b8a18a350..6ccd95931 100644 --- a/testing/bluez/APKBUILD +++ b/testing/bluez/APKBUILD @@ -1,14 +1,15 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=bluez -pkgver=4.64 -pkgrel=1 +pkgver=4.69 +pkgrel=2 pkgdesc="Tools for the Bluetooth protocol stack" url="http://www.bluez.org/" license="GPL2" depends= -makedepends="dbus-dev gstreamer-dev alsa-lib-dev libusb-dev libnl-dev" +makedepends="dbus-dev gst-plugins-base-dev alsa-lib-dev libusb-compat-dev + libnl-dev" subpackages="$pkgname-dev $pkgname-doc libbluetooth $pkgname-alsa $pkgname-cups - $pkgname-netlink" + $pkgname-netlink $pkgname-gstreamer" source="http://www.kernel.org/pub/linux/bluetooth/$pkgname-$pkgver.tar.bz2 bluetooth.initd bluetooth.confd @@ -44,6 +45,7 @@ package() { make install DESTDIR="$pkgdir" install -Dm755 "$srcdir"/bluetooth.initd "$pkgdir"/etc/init.d/bluetooth install -Dm644 "$srcdir"/bluetooth.confd "$pkgdir"/etc/conf.d/bluetooth + install -Dm755 test/simple-agent "$pkgdir"/usr/bin/bluez-simple-agent } libbluetooth() { @@ -72,6 +74,12 @@ netlink() { "$subpkgdir"/usr/lib/bluetooth/plugins } -md5sums="d6e60bad937fe72b0bc77e327ee470b0 bluez-4.64.tar.bz2 +gstreamer() { + pkgdesc="Bluez plugin for gstreamer" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/gstreamer* \ + "$subpkgdir"/usr/lib/ +} +md5sums="350568aa11a95eac6e56e9289ff1f91d bluez-4.69.tar.bz2 66408fb89b05e7ce7e61c4c3c356d2c6 bluetooth.initd a159d897a057f4675548327329c4cc22 bluetooth.confd" diff --git a/testing/libusb-compat/APKBUILD b/testing/libusb-compat/APKBUILD index d36933b66..daffca273 100644 --- a/testing/libusb-compat/APKBUILD +++ b/testing/libusb-compat/APKBUILD @@ -1,12 +1,13 @@ # Maintainer: Leonardo Arena <rnalrd@gmail.com> pkgname=libusb-compat pkgver=0.1.3 -pkgrel=0 +pkgrel=1 pkgdesc="Compatibility library for use by user level applications to access USB devices regardless of OS" url="http://www.libusb.org/" license="LGPL v2.1" depends= makedepends="libusb-dev" +depends_dev="libusb-dev" install= subpackages="$pkgname-dev" source="http://downloads.sourceforge.net/project/libusb/libusb-compat-0.1/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2" diff --git a/testing/mdocml/APKBUILD b/testing/mdocml/APKBUILD index 03ede31f4..539ef29e6 100644 --- a/testing/mdocml/APKBUILD +++ b/testing/mdocml/APKBUILD @@ -1,7 +1,7 @@ # Contributor: # Maintainer: pkgname=mdocml -pkgver=1.10.4 +pkgver=1.10.5 pkgrel=0 pkgdesc="Roff implementation" url="http://mdocml.bsd.lv/" @@ -30,4 +30,4 @@ package() { EXAMPLEDIR=/usr/share/doc/mdocml/examples install } -md5sums="f23e40cd64f4312b0c4e2d72e7999298 mdocml-1.10.4.tar.gz" +md5sums="c563967a5d44ab7c423ea0b3ebb09ae5 mdocml-1.10.5.tar.gz" diff --git a/testing/perl-cgi-session/APKBUILD b/testing/perl-cgi-session/APKBUILD new file mode 100644 index 000000000..9fbe2d92d --- /dev/null +++ b/testing/perl-cgi-session/APKBUILD @@ -0,0 +1,26 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=perl-cgi-session +_name=CGI-Session +pkgver=4.42 +pkgrel=0 +pkgdesc="perl module for persistent session data in CGI applications" +url="http://search.cpan.org/~markstos/CGI-Session-4.42/" +license="PerlArtistic" +depends="perl" +makedepends="perl-dev" +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/M/MA/MARKSTOS/CGI-Session-$pkgver.tar.gz" + +build () { + cd "$srcdir"/$_name-$pkgver + perl Makefile.PL INSTALLDIRS=vendor || return 1 + make MAN1EXT=1p MAN3EXT=3pm || return 1 +} + +package() { + cd "$srcdir"/$_name-$pkgver + make install MAN1EXT=1p MAN3EXT=3pm DESTDIR="$pkgdir" || return 1 + find "$pkgdir" -name perllocal.pod -delete + find "$pkgdir" -name .packlist -delete +} +md5sums="6544261a6aae66410188520b27e10699 CGI-Session-4.42.tar.gz" diff --git a/testing/perl-snmp-session/APKBUILD b/testing/perl-snmp-session/APKBUILD new file mode 100644 index 000000000..dc8572ff1 --- /dev/null +++ b/testing/perl-snmp-session/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=perl-snmp-session +_name=SNMP_Session +pkgver=1.13 +pkgrel=0 +pkgdesc="A SNMP Perl Module" +url="http://code.google.com/p/snmp-session/" +license="PerlArtistic" +depends="perl" +makedepends="perl-dev" +source="http://snmp-session.googlecode.com/files/$_name-$pkgver.tar.gz" + +build () { + cd "$srcdir"/$_name-$pkgver + perl Makefile.PL INSTALLDIRS=vendor || return 1 + make MAN1EXT=1p MAN3EXT=3pm || return 1 +} + +package() { + cd "$srcdir"/$_name-$pkgver + make install MAN1EXT=1p MAN3EXT=3pm DESTDIR="$pkgdir" || return 1 + find "$pkgdir" -name perllocal.pod -delete + find "$pkgdir" -name .packlist -delete +} +md5sums="055e1065babf55f1f8606329c6bdb947 SNMP_Session-1.13.tar.gz" diff --git a/testing/py-cairo/APKBUILD b/testing/py-cairo/APKBUILD new file mode 100644 index 000000000..b6f621d8a --- /dev/null +++ b/testing/py-cairo/APKBUILD @@ -0,0 +1,35 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-cairo +pkgver=1.8.10 +pkgrel=0 +pkgdesc="Python bindings for the cairo graphics library" +url="http://cairographics.org/pycairo/" +license="GPL" +depends= +makedepends="python-dev cairo-dev" +install= +subpackages="$pkgname-dev" +source="http://cairographics.org/releases/py2cairo-$pkgver.tar.gz" + + +_builddir="$srcdir"/pycairo-$pkgver + +prepare() { + cd "$_builddir" +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="87421a6a70304120555ba7ba238f3dc3 py2cairo-1.8.10.tar.gz" diff --git a/testing/py-dbus/APKBUILD b/testing/py-dbus/APKBUILD new file mode 100644 index 000000000..64e1d5418 --- /dev/null +++ b/testing/py-dbus/APKBUILD @@ -0,0 +1,25 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-dbus +pkgver=0.83.1 +pkgrel=0 +pkgdesc="Python bindings for DBUS" +url="http://www.freedesktop.org/wiki/Software/DBusBindings" +license="GPL LGPL" +depends="python>=2.6.5" +makedepends="pkgconfig dbus-glib-dev python-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="http://dbus.freedesktop.org/releases/dbus-python/dbus-python-$pkgver.tar.gz" + +_builddir="$srcdir"/dbus-python-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="5fdf3970aa0c00020289de7ba8f3be18 dbus-python-0.83.1.tar.gz" diff --git a/testing/py-gobject/APKBUILD b/testing/py-gobject/APKBUILD new file mode 100644 index 000000000..fe758d3c9 --- /dev/null +++ b/testing/py-gobject/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-gobject +pkgver=2.20.0 +pkgrel=0 +pkgdesc="Python bindings for the GObject library" +url="http://www.pygtk.org/" +license="GPL" +depends= +makedepends="python-dev glib-dev" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.20/pygobject-$pkgver.tar.bz2" + +_builddir="$srcdir"/pygobject-$pkgver +prepare() { + cd "$_builddir" + # apply patches here +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install +} + +md5sums="10e1fb79be3d698476a28b1e1b0c5640 pygobject-2.20.0.tar.bz2" diff --git a/testing/py-gtk/APKBUILD b/testing/py-gtk/APKBUILD new file mode 100644 index 000000000..d7b65c14c --- /dev/null +++ b/testing/py-gtk/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=py-gtk +pkgver=2.17.0 +pkgrel=0 +pkgdesc="Python bindings for the GTK widget set" +url="http://www.pygtk.org/" +license="LGPL" +depends= +makedepends="libglade-dev py-cairo-dev py-gobject-dev python-dev" +source="http://ftp.gnome.org/pub/gnome/sources/pygtk/2.17/pygtk-$pkgver.tar.bz2" +subpackages="$pkgname-dev $pkgname-doc $pkgname-demo" + +_builddir="$srcdir"/pygtk-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + install -m644 gtk/gtk-extrafuncs.defs ""$pkgdir"/usr/share/pygtk/2.0/defs/" || return 1 +} + +demo() { + pkgdesc="Demonstration of pygtk" + depends="py-gtk" + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/pygtk/2.0 + mv "$pkgdir"/usr/bin/pygtk-demo "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/lib/pygtk/2.0/*demo* \ + "$subpkgdir"/usr/lib/pygtk/2.0/ +} +md5sums="43d704343d7ca04a6e4ddd4fa73a3c55 pygtk-2.17.0.tar.bz2" diff --git a/testing/sems/APKBUILD b/testing/sems/APKBUILD index 9d16fc833..c587cae82 100644 --- a/testing/sems/APKBUILD +++ b/testing/sems/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Francesco Colista <francesco.colista@gmail.com> pkgname=sems pkgver=1.2.1 -pkgrel=0 +pkgrel=1 pkgdesc="High performance, extensible media server for SIP (RFC3261) based VoIP services" url="http://iptel.org/sems/" license="GPL-2" diff --git a/unstable/vlc/APKBUILD b/testing/vlc/APKBUILD index d28ddf074..8b0f6ceec 100644 --- a/unstable/vlc/APKBUILD +++ b/testing/vlc/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=vlc -pkgver=1.0.0 +pkgver=1.1.2 pkgrel=0 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" url="http://www.videolan.org/vlc/" @@ -14,8 +14,13 @@ depends="ttf-dejavu" makedepends=" a52dec-dev alsa-lib-dev + automake + autoconf + libtool dbus-dev + faad2-dev ffmpeg-dev + flac-dev fribidi-dev gtk+-dev libgcrypt-dev @@ -26,10 +31,12 @@ makedepends=" libnotify-dev libogg-dev libsm-dev + libtheora-dev libx11-dev libxext-dev libxv-dev lua-dev + ncurses-dev mesa-dev pkgconfig sdl-dev @@ -37,15 +44,30 @@ makedepends=" x264-dev " source="http://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 - uclibc.patch + uclibc3.patch + uclibc-libcompat.patch + uclibc-inhibit-spawn.patch " +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac; + done + ./bootstrap +} + build () { - cd "$srcdir"/$pkgname-$pkgver + cd "$_builddir" sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c - patch -p1 < ../uclibc.patch || return 1 export CFLAGS="$CFLAGS -D_GNU_SOURCE" ./configure --prefix=/usr \ @@ -54,37 +76,46 @@ build () --disable-optimizations \ --disable-qt4 --disable-skins2 \ --disable-rpath \ + --enable-dbus \ + --enable-dbus-control \ + --enable-faad \ + --enable-flac \ --enable-httpd \ + --enable-ncurses \ --enable-realrtsp \ + --enable-sdl \ --enable-sout \ + --enable-theora \ --enable-vlm \ + --enable-xvideo \ || return 1 # --enable-dvdread \ # --enable-dvdnav \ # --enable-qt4 \ -# --enable-faad \ # --enable-skins2 \ # --enable-dvb \ # --enable-v4l \ -# --enable-theora \ -# --enable-flac \ # --enable-snapshot \ # --enable-hal \ -# --enable-dbus \ -# --enable-dbus-control \ # --enable-lirc \ # --enable-shout \ # --enable-pvr \ make || return 1 +} + +package() { + cd "$_builddir" make DESTDIR="$pkgdir"/ install || return 1 - for res in 16 32 48 128; do - install -D -m644 share/vlc${res}x${res}.png \ - "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1 - done +# for res in 16 32 48 128; do +# install -D -m644 share/vlc${res}x${res}.png \ +# "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1 +# done rm -rf "$pkgdir"/usr/lib/mozilla } -md5sums="fc78904ab5fa73f518d8fe4e852e7f67 vlc-1.0.0.tar.bz2 -2a16bf6c14a94f41490872aa189db755 uclibc.patch" +md5sums="dec11ed850e044c518aee6fef7e7f893 vlc-1.1.2.tar.bz2 +4f74dcde9ce51c15d80c3876b85c05f2 uclibc3.patch +d718e22a7de9f38579f276f720b2f36a uclibc-libcompat.patch +361d6ae9d7b846833ed31e8454074158 uclibc-inhibit-spawn.patch" diff --git a/testing/vlc/uclibc-inhibit-spawn.patch b/testing/vlc/uclibc-inhibit-spawn.patch new file mode 100644 index 000000000..9a6be5bd6 --- /dev/null +++ b/testing/vlc/uclibc-inhibit-spawn.patch @@ -0,0 +1,35 @@ +diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c +index 01decac..134c5c9 100644 +--- a/modules/misc/inhibit/xdg.c ++++ b/modules/misc/inhibit/xdg.c +@@ -25,7 +25,12 @@ + #include <vlc_common.h> + #include <vlc_plugin.h> + #include <vlc_inhibit.h> +-#include <spawn.h> ++#if !defined(_POSIX_SPAWN) ++# define _POSIX_SPAWN -1 ++#else ++# include <spawn.h> ++#endif ++ + #include <sys/wait.h> + + static int Open (vlc_object_t *); +@@ -125,8 +130,15 @@ static void *Thread (void *data) + }; + pid_t pid; + int canc = vlc_savecancel (); +- ++#if (_POSIX_SPAWN >= 0) + if (!posix_spawnp (&pid, "xdg-screensaver", NULL, NULL, argv, environ)) ++#else ++ pid = fork(); ++ if (pid == 0) { ++ execvp("xdg-screensaver", argv); ++ exit(1); ++ } else if (pid > 0) ++#endif + { + int status; + diff --git a/testing/vlc/uclibc-libcompat.patch b/testing/vlc/uclibc-libcompat.patch new file mode 100644 index 000000000..e4008002f --- /dev/null +++ b/testing/vlc/uclibc-libcompat.patch @@ -0,0 +1,81 @@ +commit c605c09bbc29d88619264c55c371c9dcbc839eda +Author: Natanael Copa <ncopa@alpinelinux.org> +Date: Thu Jul 29 19:20:17 2010 +0000 + + build: libcompat fix in case there are no functions to replace + + If the libc provides all the funcs in libcompat the libcompat.a will + never be created due to LIBOBJS is empty (normally it contains whatever + AC_REPLACE_FUNCS detects). This happens on uclibc. + + Since Makefile.am have a hardcoded LDADD to ../compat/libcompat.la things + goes bad when there is no libcompat.a at all. We solve this by checking + if LIBOBJS is set by AC_REPLACE_FUNCS and add libcompat via LTLIBCOMPAT. + + For alternative fixes see http://www.gnu.org/software/hello/manual/automake/LIBOBJS.html + +diff --git a/bin/Makefile.am b/bin/Makefile.am +index 92e6879..a941d99 100644 +--- a/bin/Makefile.am ++++ b/bin/Makefile.am +@@ -60,5 +60,5 @@ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc + vlc_cache_gen_SOURCES = cachegen.c + vlc_cache_gen_LDADD = \ + $(GNUGETOPT_LIBS) \ +- ../compat/libcompat.la \ ++ $(LTLIBCOMPAT) \ + ../src/libvlc.la ../src/libvlccore.la +diff --git a/configure.ac b/configure.ac +index 52e4830..b385100 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -547,6 +547,14 @@ need_libc=false + dnl Check for usual libc functions + AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale]) + AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf]) ++ ++dnl Check that we actually need libcompat ++LTLIBCOMPAT="" ++if test "x${LIBOBJS}" != "x"; then ++ LTLIBCOMPAT="\$(top_builddir)/compat/libcompat.la" ++fi ++AC_SUBST(LTLIBCOMPAT) ++ + AC_CHECK_FUNCS(fdatasync,, + [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) + ]) +diff --git a/modules/common.am b/modules/common.am +index 5e4d65f..9e2c739 100644 +--- a/modules/common.am ++++ b/modules/common.am +@@ -24,7 +24,7 @@ AM_LDFLAGS = -rpath '$(libvlcdir)' \ + -no-undefined \ + `$(VLC_CONFIG) --ldflags plugin $@` + AM_LIBADD = `$(VLC_CONFIG) -libs plugin $@` \ +- $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la ++ $(LTLIBVLCCORE) $(LTLIBCOMPAT) + + include $(srcdir)/Modules.am + +diff --git a/src/Makefile.am b/src/Makefile.am +index f46a154..6aad884 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -201,7 +201,7 @@ libvlccore_la_LDFLAGS = `$(VLC_CONFIG) --ldflags libvlccore` $(AM_LDFLAGS) \ + -export-symbols $(srcdir)/libvlccore.sym \ + -version-info 5:0:0 + libvlccore_la_LIBADD = `$(VLC_CONFIG) -libs libvlccore` $(AM_LIBADD) \ +- $(LTLIBINTL) ../compat/libcompat.la ++ $(LTLIBINTL) $(LTLIBCOMPAT) + libvlccore_la_DEPENDENCIES = libvlccore.sym + if HAVE_WIN32 + libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT) +@@ -214,7 +214,7 @@ libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc + libvlc_la_SOURCES = $(SOURCES_libvlc_control) + nodist_libvlc_la_SOURCES = revision.c + libvlc_la_LIBADD = `$(VLC_CONFIG) -libs libvlc` \ +- libvlccore.la ../compat/libcompat.la ++ libvlccore.la $(LTLIBCOMPAT) + libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc` + libvlc_la_LDFLAGS = $(AM_LDFLAGS) `$(VLC_CONFIG) --ldflags libvlc` \ + -version-info 6:0:1 \ diff --git a/testing/vlc/uclibc3.patch b/testing/vlc/uclibc3.patch new file mode 100644 index 000000000..04154f35b --- /dev/null +++ b/testing/vlc/uclibc3.patch @@ -0,0 +1,49 @@ +diff --git a/src/control/vlm.c b/src/control/vlm.c +index 05417e5..46fa957 100644 +--- a/src/control/vlm.c ++++ b/src/control/vlm.c +@@ -25,6 +25,10 @@ + # include <config.h> + #endif + ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ + #include <vlc/libvlc.h> + #include <vlc/libvlc_vlm.h> + #include <vlc_es.h> +diff --git a/src/misc/linux_specific.c b/src/misc/linux_specific.c +index 1644ce6..1440e1c 100644 +--- a/src/misc/linux_specific.c ++++ b/src/misc/linux_specific.c +@@ -83,14 +83,14 @@ static struct + unsigned refs; + } once = { VLC_STATIC_MUTEX, 0 }; + +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + # include <gnu/libc-version.h> + # include <stdlib.h> + #endif + + void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[]) + { +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + const char *glcv = gnu_get_libc_version (); + + /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing, +diff --git a/src/misc/mtime.c b/src/misc/mtime.c +index 1cc787d..985aa3a 100644 +--- a/src/misc/mtime.c ++++ b/src/misc/mtime.c +@@ -78,7 +78,7 @@ int nanosleep(struct timespec *, struct timespec *); + # define _POSIX_CLOCK_SELECTION (-1) + #endif + +-# if (_POSIX_CLOCK_SELECTION < 0) ++# if (_POSIX_CLOCK_SELECTION < 0) || defined(__UCLIBC__) + /* + * We cannot use the monotonic clock if clock selection is not available, + * as it would screw vlc_cond_timedwait() completely. Instead, we have to diff --git a/unstable/vlc/uclibc.patch b/unstable/vlc/uclibc.patch deleted file mode 100644 index f71b189a4..000000000 --- a/unstable/vlc/uclibc.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/src/misc/linux_specific.c 2009-07-08 09:29:41.000000000 +0000 -+++ b/src/misc/linux_specific.c 2009-07-08 09:30:47.000000000 +0000 -@@ -72,14 +72,14 @@ - } - #endif - --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - # include <gnu/libc-version.h> - # include <stdlib.h> - #endif - - void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[]) - { --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && !defined(__UCLIBC__) - const char *glcv = gnu_get_libc_version (); - - /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing, ---- a/src/control/vlm.c 2009-07-09 09:21:55.000000000 +0000 -+++ b/src/control/vlm.c 2009-07-09 09:22:24.000000000 +0000 -@@ -21,6 +21,10 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -+#ifdef HAVE_CONFIG_H -+# include "config.h" -+#endif -+ - #include <vlc/libvlc.h> - #include <vlc/libvlc_vlm.h> - #include <vlc_es.h> ---- a/src/misc/mtime.c 2009-07-09 11:57:46.000000000 +0000 -+++ b/src/misc/mtime.c 2009-07-09 13:48:16.000000000 +0000 -@@ -78,7 +78,7 @@ - # define _POSIX_CLOCK_SELECTION (-1) - #endif - --# if (_POSIX_CLOCK_SELECTION < 0) -+# if (_POSIX_CLOCK_SELECTION < 0) || defined(__UCLIBC__) - /* - * We cannot use the monotonic clock is clock selection is not available, - * as it would screw vlc_cond_timedwait() completely. Instead, we have to ---- a/src/misc/threads.c 2009-07-09 13:54:08.000000000 +0000 -+++ b/src/misc/threads.c 2009-07-09 13:54:32.000000000 +0000 -@@ -474,7 +474,7 @@ - /* Fairly outdated POSIX support (that was defined in 2001) */ - # define _POSIX_CLOCK_SELECTION (-1) - # endif --# if (_POSIX_CLOCK_SELECTION >= 0) -+# if (_POSIX_CLOCK_SELECTION >= 0) && !defined(__UCLIBC__) - /* NOTE: This must be the same clock as the one in mtime.c */ - pthread_condattr_setclock (&attr, CLOCK_MONOTONIC); - # endif ---- a/modules/stream_filter/decomp.c 2009-07-09 14:10:09.000000000 +0000 -+++ b/modules/stream_filter/decomp.c 2009-07-09 14:11:37.000000000 +0000 -@@ -28,7 +28,7 @@ - #include <vlc_network.h> - #include <assert.h> - #include <unistd.h> --#ifndef _POSIX_SPAWN -+#if !defined(_POSIX_SPAWN) || defined(__UCLIBC__) - # define _POSIX_SPAWN (-1) - #endif - #include <fcntl.h> |