summaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/aalib/APKBUILD35
-rw-r--r--testing/asterisk/100-uclibc-daemon.patch44
-rw-r--r--testing/asterisk/101-caps-uclibc.patch17
-rw-r--r--testing/asterisk/102-gsm-pic.patch54
-rw-r--r--testing/asterisk/400-bug-227.patch15
-rw-r--r--testing/asterisk/APKBUILD176
-rw-r--r--testing/asterisk/ASTERISK-18976.patch142
-rw-r--r--testing/asterisk/ASTERISK-18977.patch63
-rw-r--r--testing/asterisk/ASTERISK-18994.patch28
-rw-r--r--testing/asterisk/ASTERISK-18995.patch358
-rw-r--r--testing/asterisk/asterisk.confd91
-rw-r--r--testing/asterisk/asterisk.initd251
-rw-r--r--testing/asterisk/asterisk.logrotate17
-rw-r--r--testing/asterisk/asterisk.post-install11
-rw-r--r--testing/asterisk/asterisk.pre-install12
-rw-r--r--testing/asterisk/asterisk.pre-upgrade12
-rw-r--r--testing/audacity/APKBUILD48
-rw-r--r--testing/celt/APKBUILD44
-rw-r--r--testing/cgdb/APKBUILD38
-rw-r--r--testing/cherokee/APKBUILD13
-rwxr-xr-xtesting/cherokee/cherokee.initd2
-rw-r--r--testing/chromium/APKBUILD134
-rw-r--r--testing/chromium/chromium-breakpad.patch11
-rw-r--r--testing/chromium/chromium-malloc.patch19
-rw-r--r--testing/chromium/chromium-no-mit-screensaver.patch51
-rw-r--r--testing/chromium/chromium-no-sbrk.patch19
-rw-r--r--testing/chromium/chromium-tcmalloc.patch60
-rw-r--r--testing/chromium/chromium-uclibc-resolv.patch103
-rw-r--r--testing/chromium/chromium-webrtc.patch10
-rw-r--r--testing/cifs-utils/APKBUILD41
-rw-r--r--testing/cluster-glue/1.0.7-fix_configure.patch13
-rw-r--r--testing/cluster-glue/APKBUILD65
-rw-r--r--testing/cluster-glue/cluster-glue.post-install7
-rw-r--r--testing/cluster-glue/cluster-glue.pre-install11
-rw-r--r--testing/cluster-glue/ha_logd.initd46
-rw-r--r--testing/core-iscsi-tools/APKBUILD33
-rw-r--r--testing/core-iscsi-tools/Makefile-fix-DESTDIR.patch279
-rw-r--r--testing/corosync/APKBUILD64
-rw-r--r--testing/corosync/corosync.initd23
-rw-r--r--testing/cvechecker/APKBUILD31
-rw-r--r--testing/dbmail/APKBUILD57
-rw-r--r--testing/dbmail/code-cleanups.patch64
-rw-r--r--testing/dbmail/dbmail-httpd.initd19
-rw-r--r--testing/dbmail/dbmail-imapd.initd19
-rw-r--r--testing/dbmail/dbmail-lmtpd.initd8
-rw-r--r--testing/dbmail/dbmail-pop3d.initd19
-rw-r--r--testing/dbmail/dbmail-timsieved.initd21
-rw-r--r--testing/dbmail/dbmail.conf408
-rw-r--r--testing/dbmail/dbmail.pre-install5
-rw-r--r--testing/dbmail/post-rc3.patch635
-rw-r--r--testing/dc3dd/APKBUILD46
-rw-r--r--testing/drbd/APKBUILD59
-rw-r--r--testing/drbd/drbd.initd158
-rw-r--r--testing/drizzle/APKBUILD7
-rw-r--r--testing/drizzle/drizzle.initd2
-rw-r--r--testing/etherdump/APKBUILD28
-rw-r--r--testing/fabric/APKBUILD29
-rw-r--r--testing/flawfinder/APKBUILD40
-rw-r--r--testing/freealut/APKBUILD3
-rw-r--r--testing/geany-plugins/APKBUILD5
-rw-r--r--testing/gmime/APKBUILD8
-rw-r--r--testing/gpgme/APKBUILD7
-rw-r--r--testing/hdparm/APKBUILD39
-rw-r--r--testing/httpry/APKBUILD29
-rw-r--r--testing/inotify-tools/APKBUILD2
-rw-r--r--testing/iotop/APKBUILD38
-rw-r--r--testing/ipgrab/APKBUILD34
-rw-r--r--testing/kbd/APKBUILD97
-rw-r--r--testing/kbd/kbd-1.15-resizecon-x86_64.patch11
-rw-r--r--testing/kbd/kbd-1.15.3-loadkeys-d.patch20
-rw-r--r--testing/libewf/APKBUILD43
-rw-r--r--testing/libquvi-scripts/APKBUILD41
-rw-r--r--testing/libquvi/APKBUILD41
-rw-r--r--testing/libuniso/APKBUILD47
-rw-r--r--testing/libyaml/APKBUILD46
-rw-r--r--testing/libzdb/APKBUILD6
-rw-r--r--testing/lightdm/APKBUILD60
-rw-r--r--testing/lightdm/disallow-guest.patch22
-rw-r--r--testing/lightdm/lightdm-x11-configure.patch122
-rwxr-xr-xtesting/lightdm/lightdm.initd11
-rw-r--r--testing/lightdm/lightdm.pre-install6
-rw-r--r--testing/lua-file_slurp/APKBUILD27
-rw-r--r--testing/lua-lgi/APKBUILD40
-rw-r--r--testing/lua-stringy/0001-use-memcmp-for-startswith-endswith.patch78
-rw-r--r--testing/lua-stringy/APKBUILD42
-rw-r--r--testing/lua-stringy/stringy-memcmp.patch64
-rw-r--r--testing/lua-zmq/APKBUILD41
-rw-r--r--testing/luajit/APKBUILD32
-rw-r--r--testing/mac-robber/APKBUILD28
-rw-r--r--testing/memtest86+/APKBUILD2
-rw-r--r--testing/mplayer2/APKBUILD8
-rw-r--r--testing/mplayer2/c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch216
-rw-r--r--testing/mplayer2/mplayer-gcc-4.6-audio-fix.patch22
-rw-r--r--testing/mytop/APKBUILD35
-rw-r--r--testing/nbtscan/APKBUILD43
-rw-r--r--testing/nbtscan/nbtscan-1.5.1-makefile.patch20
-rw-r--r--testing/ncdu/APKBUILD33
-rw-r--r--testing/ncmpcpp/APKBUILD4
-rw-r--r--testing/ncrack/APKBUILD46
-rw-r--r--testing/nebula/APKBUILD51
-rw-r--r--testing/netdiscover/APKBUILD33
-rw-r--r--testing/openlldp/APKBUILD2
-rw-r--r--testing/pacemaker/APKBUILD57
-rw-r--r--testing/pacemaker/pacemaker.initd39
-rw-r--r--testing/partimage/APKBUILD2
-rw-r--r--testing/pcapy/APKBUILD28
-rw-r--r--testing/perl-async-mergepoint/APKBUILD38
-rw-r--r--testing/perl-bit-vector/APKBUILD31
-rw-r--r--testing/perl-class-gomor/APKBUILD31
-rw-r--r--testing/perl-cps/APKBUILD38
-rw-r--r--testing/perl-dbd-odbc/APKBUILD33
-rw-r--r--testing/perl-extutils-depends/APKBUILD37
-rw-r--r--testing/perl-extutils-pkgconfig/APKBUILD37
-rw-r--r--testing/perl-glib/APKBUILD37
-rw-r--r--testing/perl-heap/APKBUILD37
-rw-r--r--testing/perl-io-async-loop-glib/APKBUILD39
-rw-r--r--testing/perl-io-async-ssl/APKBUILD38
-rw-r--r--testing/perl-io-async/APKBUILD38
-rw-r--r--testing/perl-net-async-http/APKBUILD38
-rw-r--r--testing/perl-net-ipv4addr/APKBUILD31
-rw-r--r--testing/perl-sub-uplevel/APKBUILD31
-rw-r--r--testing/perl-test-fatal/APKBUILD37
-rw-r--r--testing/perl-test-identity/APKBUILD38
-rw-r--r--testing/perl-test-refcount/APKBUILD38
-rw-r--r--testing/perl-test-simple/APKBUILD31
-rw-r--r--testing/perl-test-warn/APKBUILD37
-rw-r--r--testing/perl-tree-dag_node/APKBUILD37
-rw-r--r--testing/perl-try-tiny/APKBUILD37
-rw-r--r--testing/perl-uri-find-simple/APKBUILD37
-rw-r--r--testing/perl-uri-find/APKBUILD38
-rw-r--r--testing/perl-xml-xpath/APKBUILD37
-rw-r--r--testing/php-phpmailer/APKBUILD40
-rw-r--r--testing/pnp4nagios/APKBUILD76
-rw-r--r--testing/pnp4nagios/npcd21
-rw-r--r--testing/pnp4nagios/npcd.cfg195
-rw-r--r--testing/poppler-qt4/APKBUILD2
-rw-r--r--testing/proftpd/APKBUILD17
-rw-r--r--testing/proftpd/mempcpy.patch13
-rw-r--r--testing/prosody/APKBUILD6
-rw-r--r--testing/prosody/prosody.initd2
-rw-r--r--testing/protobuf/APKBUILD6
-rw-r--r--testing/psmisc/APKBUILD4
-rw-r--r--testing/pure-ftpd/APKBUILD6
-rw-r--r--testing/py-crypto/APKBUILD28
-rw-r--r--testing/py-curl/APKBUILD38
-rw-r--r--testing/py-distutils-extra/APKBUILD8
-rw-r--r--testing/py-gnome/APKBUILD85
-rw-r--r--testing/py-libacl/APKBUILD29
-rw-r--r--testing/py-logilab-astng/APKBUILD30
-rw-r--r--testing/py-logilab-common/APKBUILD45
-rw-r--r--testing/py-m2crypto/APKBUILD28
-rw-r--r--testing/py-newt_syrup/APKBUILD38
-rw-r--r--testing/py-paramiko/APKBUILD41
-rw-r--r--testing/py-tftpy/APKBUILD28
-rw-r--r--testing/py-urlgrabber/APKBUILD38
-rw-r--r--testing/py-xattr/APKBUILD29
-rw-r--r--testing/py-yaml/APKBUILD29
-rw-r--r--testing/pylint/APKBUILD34
-rw-r--r--testing/quvi/APKBUILD13
-rw-r--r--testing/rats/APKBUILD51
-rw-r--r--testing/resource-agents/APKBUILD48
-rw-r--r--testing/rpmlint/APKBUILD28
-rw-r--r--testing/rrdbot/APKBUILD4
-rw-r--r--testing/rrdbot/rrdbotd.initd2
-rw-r--r--testing/sarg/APKBUILD55
-rw-r--r--testing/scrub/APKBUILD45
-rw-r--r--testing/sdparm/APKBUILD45
-rw-r--r--testing/shed/APKBUILD33
-rw-r--r--testing/sipsak/APKBUILD2
-rw-r--r--testing/squidguard/APKBUILD2
-rw-r--r--testing/strongswan/APKBUILD10
-rw-r--r--testing/thunar-media-tags-plugin/01_port-to-thunarx-2.patch98
-rw-r--r--testing/thunar-media-tags-plugin/02_port-to-exo-1.patch175
-rw-r--r--testing/thunar-media-tags-plugin/03_fix-crash-with-ogg-video-files.patch28
-rw-r--r--testing/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch13
-rw-r--r--testing/thunar-media-tags-plugin/APKBUILD52
-rw-r--r--testing/thunderbird/0002-Use-C99-math-isfinite.patch43
-rw-r--r--testing/thunderbird/0004-xulrunner-malloc_usable_size.patch25
-rw-r--r--testing/thunderbird/APKBUILD100
-rw-r--r--testing/thunderbird/finite.patch26
-rw-r--r--testing/thunderbird/jemalloc-libs.patch11
-rw-r--r--testing/thunderbird/mozalloc_usable_size.patch11
-rw-r--r--testing/thunderbird/mozconfig40
-rw-r--r--testing/thunderbird/thunderbird.desktop13
-rw-r--r--testing/thunderbird/xpt.py.patch11
-rw-r--r--testing/totem-pl-parser/APKBUILD3
-rw-r--r--testing/truecrypt/APKBUILD54
-rw-r--r--testing/truecrypt/execstack-fix.patch60
-rw-r--r--testing/truecrypt/truecrypt-arch-detection.patch15
-rw-r--r--testing/truecrypt/truecrypt.desktop9
-rw-r--r--testing/ttf-liberation/APKBUILD25
-rw-r--r--testing/tvheadend/APKBUILD45
-rw-r--r--testing/tvheadend/tvheadend-git.confd2
-rw-r--r--testing/tvheadend/tvheadend-git.initd18
-rw-r--r--testing/tvheadend/tvheadend-git.post-deinstall4
-rw-r--r--testing/tvheadend/tvheadend-git.pre-install5
-rw-r--r--testing/usb-modeswitch/APKBUILD2
-rw-r--r--testing/v8/APKBUILD60
-rw-r--r--testing/virt-manager/APKBUILD9
-rw-r--r--testing/weechat/APKBUILD43
-rw-r--r--testing/wput/APKBUILD47
-rw-r--r--testing/wxgtk/APKBUILD72
-rw-r--r--testing/xonotic-data/APKBUILD37
-rw-r--r--testing/xonotic/APKBUILD71
-rw-r--r--testing/xonotic/xonotic-moncontrol.patch21
-rw-r--r--testing/zeromq/APKBUILD44
206 files changed, 8246 insertions, 1047 deletions
diff --git a/testing/aalib/APKBUILD b/testing/aalib/APKBUILD
new file mode 100644
index 000000000..0b5872de1
--- /dev/null
+++ b/testing/aalib/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=aalib
+pkgver=1.4.0
+_pkgver=1.4
+pkgrel=0.rc4
+pkgdesc="An portable ascii art GFX library"
+url="http://aa-project.sourceforge.net/aalib/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/aa-project/$pkgname-"$_pkgver"rc4.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="d5aa8e9eae07b7441298b5c30490f6a6 aalib-1.4rc4.tar.gz"
diff --git a/testing/asterisk/100-uclibc-daemon.patch b/testing/asterisk/100-uclibc-daemon.patch
new file mode 100644
index 000000000..4956791d4
--- /dev/null
+++ b/testing/asterisk/100-uclibc-daemon.patch
@@ -0,0 +1,44 @@
+diff -Nru asterisk-1.6.1-beta4.org/main/asterisk.c asterisk-1.6.1-beta4/main/asterisk.c
+--- asterisk-1.6.1-beta4.org/main/asterisk.c 2008-12-12 23:05:58.000000000 +0100
++++ asterisk-1.6.1-beta4/main/asterisk.c 2008-12-23 15:28:21.000000000 +0100
+@@ -3295,9 +3295,40 @@
+ #if HAVE_WORKING_FORK
+ if (ast_opt_always_fork || !ast_opt_no_fork) {
+ #ifndef HAVE_SBIN_LAUNCHD
++#ifndef __UCLIBC__
+ if (daemon(1, 0) < 0) {
+ ast_log(LOG_ERROR, "daemon() failed: %s\n", strerror(errno));
+ }
++#else
++ /*
++ * workaround for uClibc-0.9.29 mipsel bug:
++ * recursive mutexes do not work if uClibc daemon() function has been called,
++ * if parent thread locks a mutex
++ * the child thread cannot acquire a lock with the same name
++ * (same code works if daemon() is not called)
++ * but duplication of uClibc daemon.c code in here does work.
++ */
++ int fd;
++ switch (fork()) {
++ case -1:
++ exit(1);
++ case 0:
++ break;
++ default:
++ _exit(0);
++ }
++ if (setsid() == -1)
++ exit(1);
++ if (fork())
++ _exit(0);
++ if ((fd = open("/dev/null", O_RDWR, 0)) != -1) {
++ dup2(fd, STDIN_FILENO);
++ dup2(fd, STDOUT_FILENO);
++ dup2(fd, STDERR_FILENO);
++ if (fd > 2)
++ close(fd);
++ }
++#endif
+ ast_mainpid = getpid();
+ /* Blindly re-write pid file since we are forking */
+ unlink(ast_config_AST_PID);
diff --git a/testing/asterisk/101-caps-uclibc.patch b/testing/asterisk/101-caps-uclibc.patch
new file mode 100644
index 000000000..bb32d1ece
--- /dev/null
+++ b/testing/asterisk/101-caps-uclibc.patch
@@ -0,0 +1,17 @@
+--- asterisk-1.6.0.18/configure.ac.orig Mon Oct 26 23:13:28 2009
++++ asterisk-1.6.0.18/configure.ac Fri Nov 27 21:42:36 2009
+@@ -627,9 +627,11 @@
+
+ AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h])
+
+-if test "x${OSARCH}" = "xlinux-gnu" ; then
+- AST_EXT_LIB_CHECK([CAP], [cap], [cap_from_text], [sys/capability.h])
+-fi
++case "${OSARCH}" in
++ linux*)
++ AST_EXT_LIB_CHECK([CAP], [cap], [cap_from_text], [sys/capability.h])
++ ;;
++esac
+
+ AST_C_DEFINE_CHECK([DAHDI], [DAHDI_CODE], [dahdi/user.h])
+
diff --git a/testing/asterisk/102-gsm-pic.patch b/testing/asterisk/102-gsm-pic.patch
new file mode 100644
index 000000000..71370ec0b
--- /dev/null
+++ b/testing/asterisk/102-gsm-pic.patch
@@ -0,0 +1,54 @@
+--- a/codecs/gsm/Makefile.org 2008-03-29 11:33:09.000000000 +0100
++++ b/codecs/gsm/Makefile 2008-03-29 11:44:40.000000000 +0100
+@@ -37,23 +37,6 @@
+ ######### ppro's, etc, as well as the AMD K6 and K7. The compile will
+ ######### probably require gcc.
+
+-ifeq (, $(findstring $(OSARCH) , Darwin SunOS ))
+-ifeq (, $(findstring $(PROC) , x86_64 amd64 ultrasparc sparc64 arm armv5b armeb ppc powerpc ppc64 ia64 s390 bfin mipsel mips))
+-ifeq (, $(findstring $(shell uname -m) , ppc ppc64 alpha armv4l s390 ))
+-OPTIMIZE+=-march=$(PROC)
+-endif
+-endif
+-endif
+-
+-#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
+-#This works for even old (2.96) versions of gcc and provides a small boost either way.
+-#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
+-#So we go lowest common available by gcc and go a step down, still a step up from
+-#the default as we now have a better instruction set to work with. - Belgarath
+-ifeq ($(PROC),ultrasparc)
+-OPTIMIZE+=-mcpu=v8 -mtune=$(PROC) -O3
+-endif
+-
+ PG =
+ #PG = -g -pg
+ ######### Profiling flags. If you don't know what that means, leave it blank.
+@@ -208,12 +191,10 @@
+ # XXX Keep a space after each findstring argument
+ # XXX should merge with GSM_OBJECTS
+ ifeq ($(OSARCH),linux-gnu)
+-ifeq (,$(findstring $(shell uname -m) , x86_64 amd64 ppc ppc64 alpha armv4l sparc64 parisc s390 ))
+-ifeq (,$(findstring $(PROC) , arm armv5b armeb powerpc ia64 s390 bfin mipsel mips ))
++ifneq ($(K6OPT),)
+ GSM_SOURCES+= $(SRC)/k6opt.s
+ endif
+ endif
+-endif
+
+ TOAST_SOURCES = $(SRC)/toast.c \
+ $(SRC)/toast_lin.c \
+@@ -260,12 +241,10 @@
+ $(SRC)/table.o
+
+ ifeq ($(OSARCH),linux-gnu)
+-ifeq (,$(findstring $(shell uname -m) , x86_64 amd64 ppc ppc64 alpha armv4l sparc64 parisc ))
+-ifeq (,$(findstring $(PROC) , arm armv5b armeb powerpc ia64 bfin mipsel mips ))
++ifneq ($(K6OPT),)
+ GSM_OBJECTS+= $(SRC)/k6opt.o
+ endif
+ endif
+-endif
+
+ TOAST_OBJECTS = $(SRC)/toast.o \
+ $(SRC)/toast_lin.o \
diff --git a/testing/asterisk/400-bug-227.patch b/testing/asterisk/400-bug-227.patch
new file mode 100644
index 000000000..f8187379e
--- /dev/null
+++ b/testing/asterisk/400-bug-227.patch
@@ -0,0 +1,15 @@
+Index: channels/chan_sip.c
+===================================================================
+--- a/channels/chan_sip.c (revision 212243)
++++ b/channels/chan_sip.c (working copy)
+@@ -3675,8 +3675,8 @@
+ char method_str[31];
+ ast_debug(3, "Re-scheduled destruction of SIP call %s\n", p->callid ? p->callid : "<unknown>");
+ append_history(p, "ReliableXmit", "timeout");
+- if (sscanf(p->lastmsg, "Tx: %30s", method_str) == 1 || sscanf(p->lastmsg, "Rx: %30s", method_str) == 1) {
+- if (method_match(SIP_CANCEL, method_str) || method_match(SIP_BYE, method_str)) {
++ if (sscanf(p->lastmsg, "Tx: %30s", method_str) == 1 || sscanf(p->lastmsg, "Rx: %30s", method_str) == 1 || sscanf(p->lastmsg, "Init: %30s", method_str) == 1) {
++ if (method_match(SIP_CANCEL, method_str) || method_match(SIP_BYE, method_str) || method_match(SIP_INVITE, method_str)) {
+ pvt_set_needdestroy(p, "autodestruct");
+ }
+ }
diff --git a/testing/asterisk/APKBUILD b/testing/asterisk/APKBUILD
new file mode 100644
index 000000000..4a258fb40
--- /dev/null
+++ b/testing/asterisk/APKBUILD
@@ -0,0 +1,176 @@
+# Contributor: Timo Teras <timo.teras@iki.fi>
+# Maintainer: Timo Teras <timo.teras@iki.fi>
+pkgname=asterisk
+pkgver=10.0.0_rc3
+pkgrel=0
+pkgdesc="Asterisk: A Module Open Source PBX System"
+url="http://www.asterisk.org/"
+arch="all"
+license="GPL"
+depends=
+makedepends="autoconf automake libtool ncurses-dev popt-dev newt-dev zlib-dev
+ postgresql-dev unixodbc-dev dahdi-tools-dev libpri-dev tar
+ freetds-dev openssl-dev lua-dev alsa-lib-dev spandsp-dev tiff-dev
+ libresample sqlite-dev wget speex-dev libogg-dev"
+install="$pkgname.pre-install $pkgname.pre-upgrade $pkgname.post-install"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-odbc
+ $pkgname-tds $pkgname-fax $pkgname-sample-config:sample $pkgname-sqlite
+ $pkgname-sounds-moh:sound_moh $pkgname-sounds-en:sound_en"
+source="http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${pkgver/_/-}.tar.gz
+ 100-uclibc-daemon.patch
+ 101-caps-uclibc.patch
+ 400-bug-227.patch
+ ASTERISK-18976.patch
+ ASTERISK-18977.patch
+ ASTERISK-18994.patch
+ ASTERISK-18995.patch
+ asterisk.initd
+ asterisk.confd
+ asterisk.logrotate"
+
+_builddir="$srcdir/$pkgname-${pkgver/_/-}"
+
+prepare() {
+ cd "$_builddir"
+ for i in ../[1-9A]*.patch; do
+ msg "Apply $i"
+ patch -p1 < $i || return 1
+ done
+
+ sed -i -e 's:lua5.1/::' pbx/pbx_lua.c
+ sed -i -e 's/PBX_ICONV=1/PBX_ICONV=0/g' configure.ac
+
+ ./bootstrap.sh
+}
+
+build() {
+ cd "$_builddir"
+ SHA1SUM="$PWD"/build_tools/sha1sum-sh ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-xmldoc --with-gsm=internal \
+ --without-iconv --with-popt --with-z --with-newt \
+ --with-odbc --with-postgres --with-tds \
+ --with-dahdi --with-pri --with-tonezone \
+ --with-resample \
+ --with-sqlite3 \
+ --with-speex \
+ --with-asound \
+ --without-x11 \
+ --with-spandsp \
+ || return 1
+
+ # and figure out which modules to build
+ rm menuselect.makeopts
+ make menuselect.makeopts
+ make ASTLDFLAGS="$LDFLAGS" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir"/var/run/asterisk
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.logrotate \
+ "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+_move_dir() {
+ for DIR in "$@"; do
+ local dest=`dirname "$subpkgdir/$DIR"`
+ echo mkdir -p $dest
+ mkdir -p "$dest"
+ echo mv "$pkgdir"/$DIR $dest
+ mv "$pkgdir"/"$DIR" "$dest"
+ done
+}
+
+_find_and_move() {
+ local pattern="$1"
+ cd "$pkgdir" || return 1
+ find -name "$pattern" -type f | while read f; do
+ local dest="$subpkgdir/${f%/*}"
+ mkdir -p "$dest"
+ mv "$f" "$dest"
+ done
+}
+
+doc() {
+ default_doc
+}
+
+dev() {
+ default_dev
+ depends="asterisk"
+}
+
+pgsql() {
+ depends=
+ install=
+ _find_and_move '*_pgsql*'
+}
+
+sqlite() {
+ depends=
+ install=
+ _find_and_move '*_sqlite*'
+}
+
+odbc() {
+ depends=
+ install=
+ _find_and_move '*odbc*'
+}
+
+tds() {
+ depends=
+ install=
+ _find_and_move '*_tds*'
+}
+
+fax() {
+ depends=
+ install=
+ _find_and_move '*_fax*'
+}
+
+sample() {
+ arch="noarch"
+ pkgdesc="Sample configuration files for asterisk"
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/var/lib/asterisk/phoneprov
+ make -j1 samples DESTDIR="$subpkgdir"
+}
+
+sound_moh() {
+ arch="noarch"
+ pkgdesc="Default on-hold music files for asterisk"
+ depends=
+ install=
+ _move_dir var/lib/asterisk/moh
+}
+
+sound_en() {
+ arch="noarch"
+ pkgdesc="English sound files for asterisk"
+ depends=
+ install=
+ _move_dir var/lib/asterisk/sounds/en
+}
+
+md5sums="c0cfc71a26d56487ffa570fd3169919c asterisk-10.0.0-rc3.tar.gz
+b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch
+6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch
+79e9634b5054bceb3b8dc246654bb243 400-bug-227.patch
+da5a3c500192dee4275aae5235d25f97 ASTERISK-18976.patch
+1ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch
+0af5e797f0a99d0f81f95e3710baf5b6 ASTERISK-18994.patch
+bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch
+0ce3219e05f55af884a7dc6b99c2b276 asterisk.initd
+ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
+3e65172275684373e1a25c8a11224411 asterisk.logrotate"
diff --git a/testing/asterisk/ASTERISK-18976.patch b/testing/asterisk/ASTERISK-18976.patch
new file mode 100644
index 000000000..36c613ff4
--- /dev/null
+++ b/testing/asterisk/ASTERISK-18976.patch
@@ -0,0 +1,142 @@
+--- a/pbx/pbx_lua.c.orig 2011-12-08 08:28:31.000000000 +0200
++++ b/pbx/pbx_lua.c 2011-12-08 08:54:22.000000000 +0200
+@@ -94,7 +94,6 @@
+ static void lua_create_application_metatable(lua_State *L);
+ static void lua_create_autoservice_functions(lua_State *L);
+ static void lua_create_hangup_function(lua_State *L);
+-static void lua_detect_goto(lua_State *L);
+ static void lua_concat_args(lua_State *L, int start, int nargs);
+
+ static void lua_state_destroy(void *data);
+@@ -213,19 +212,10 @@
+ chan = lua_touserdata(L, -1);
+ lua_pop(L, 1);
+
++ context = ast_strdupa(chan->context);
++ exten = ast_strdupa(chan->exten);
++ priority = chan->priority;
+
+- lua_getfield(L, LUA_REGISTRYINDEX, "context");
+- context = ast_strdupa(lua_tostring(L, -1));
+- lua_pop(L, 1);
+-
+- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
+- exten = ast_strdupa(lua_tostring(L, -1));
+- lua_pop(L, 1);
+-
+- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
+- priority = lua_tointeger(L, -1);
+- lua_pop(L, 1);
+-
+ lua_concat_args(L, 2, nargs);
+ data = lua_tostring(L, -1);
+
+@@ -256,75 +246,51 @@
+ return lua_error(L);
+ }
+
+- lua_detect_goto(L);
+-
+- return 0;
+-}
+-
+-/*!
+- * \brief Detect if a Goto or other dialplan jump has been executed and return
+- * control to the pbx engine.
+- */
+-static void lua_detect_goto(lua_State *L)
+-{
+- struct ast_channel *chan;
+-
+- lua_getfield(L, LUA_REGISTRYINDEX, "channel");
+- chan = lua_touserdata(L, -1);
+- lua_pop(L, 1);
+-
+- /* check context */
+- lua_getfield(L, LUA_REGISTRYINDEX, "context");
+- lua_pushstring(L, chan->context);
+- if (!lua_equal(L, -1, -2)) {
++ if (strcmp(context, chan->context)) {
++ lua_pushstring(L, context);
++ lua_pushstring(L, chan->context);
+ lua_pushliteral(L, "context");
+- goto e_goto_detected;
+- }
+- lua_pop(L, 2);
+-
+- /* check exten */
+- lua_getfield(L, LUA_REGISTRYINDEX, "exten");
+- lua_pushstring(L, chan->exten);
+- if (!lua_equal(L, -1, -2)) {
++ } else if (strcmp(exten, chan->exten)) {
++ lua_pushstring(L, exten);
++ lua_pushstring(L, chan->exten);
+ lua_pushliteral(L, "exten");
+- goto e_goto_detected;
+- }
+- lua_pop(L, 2);
+-
+- /* check priority */
+- lua_getfield(L, LUA_REGISTRYINDEX, "priority");
+- lua_pushinteger(L, chan->priority);
+- if (!lua_equal(L, -1, -2)) {
++ } else if (priority != chan->priority) {
++ lua_pushinteger(L, priority);
++ lua_pushinteger(L, chan->priority);
+ lua_pushliteral(L, "priority");
+- goto e_goto_detected;
++ } else {
++ /* no goto - restore the original position back
++ * to lua state, in case this was a recursive dialplan
++ * call (a dialplan application re-entering dialplan) */
++ lua_update_registry(L, context, exten, priority);
++ return 0;
+ }
+- lua_pop(L, 2);
+- return;
+-
+-e_goto_detected:
+- /* format our debug message */
+- lua_insert(L, -3);
+
+- lua_pushliteral(L, " changed from ");
++ /* goto detected - construct error message */
+ lua_insert(L, -3);
+-
+- lua_pushliteral(L, " to ");
+- lua_insert(L, -2);
+-
+- lua_concat(L, 5);
+-
+- ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
+- lua_pop(L, 1);
+-
+- /* let the lua engine know it needs to return control to the pbx */
+- lua_pushinteger(L, LUA_GOTO_DETECTED);
++
++ lua_pushliteral(L, " changed from ");
++ lua_insert(L, -3);
++
++ lua_pushliteral(L, " to ");
++ lua_insert(L, -2);
++
++ lua_concat(L, 5);
++
++ ast_debug(2, "Goto detected: %s\n", lua_tostring(L, -1));
++ lua_pop(L, 1);
++
++ /* let the lua engine know it needs to return control to the pbx */
++ lua_pushinteger(L, LUA_GOTO_DETECTED);
+ lua_error(L);
++
++ return 0;
+ }
+
+ /*!
+ * \brief [lua_CFunction] Used to get the value of a variable or dialplan
+ * function (for access from lua, don't call directly)
+- *
++ *
+ * The value of the variable or function is returned. This function is the
+ * 'get()' function in the following example as would be seen in
+ * extensions.lua.
diff --git a/testing/asterisk/ASTERISK-18977.patch b/testing/asterisk/ASTERISK-18977.patch
new file mode 100644
index 000000000..fffce032c
--- /dev/null
+++ b/testing/asterisk/ASTERISK-18977.patch
@@ -0,0 +1,63 @@
+--- a/res/res_musiconhold.c.orig
++++ b/res/res_musiconhold.c
+@@ -158,6 +158,7 @@
+ char name[MAX_MUSICCLASS];
+ struct ast_format origwfmt;
+ struct ast_format mohwfmt;
++ int announcement;
+ int samples;
+ int sample_queue;
+ int pos;
+@@ -173,6 +174,7 @@
+ #define MOH_SORTALPHA (1 << 4)
+
+ #define MOH_CACHERTCLASSES (1 << 5) /*!< Should we use a separate instance of MOH for each user or not */
++#define MOH_ANNOUNCEMENT (1 << 6)
+
+ /* Custom astobj2 flag */
+ #define MOH_NOTDELETED (1 << 30) /*!< Find only records that aren't deleted? */
+@@ -183,6 +185,7 @@
+ char name[MAX_MUSICCLASS];
+ char dir[256];
+ char args[256];
++ char announcement[80];
+ char mode[80];
+ char digit;
+ /*! A dynamically sized array to hold the list of filenames in "files" mode */
+@@ -278,6 +281,7 @@
+ }
+
+ state->save_pos = state->pos;
++ state->announcement = 0;
+
+ state->class = mohclass_unref(state->class, "Unreffing channel's music class upon deactivation of generator");
+ }
+@@ -293,6 +297,16 @@
+ chan->stream = NULL;
+ }
+
++ if (ast_test_flag(state->class, MOH_ANNOUNCEMENT) && state->announcement == 0) {
++ state->announcement = 1;
++ if (ast_openstream_full(chan, state->class->announcement, chan->language, 1)) {
++ ast_debug(1, "%s Opened announcement '%s'\n", chan->name, state->class->announcement);
++ return 0;
++ }
++ } else {
++ state->announcement = 0;
++ }
++
+ if (!state->class->total_files) {
+ ast_log(LOG_WARNING, "No files available for class '%s'\n", state->class->name);
+ return -1;
+@@ -1731,7 +1745,10 @@
+ ast_copy_string(class->dir, var->value, sizeof(class->dir));
+ else if (!strcasecmp(var->name, "application"))
+ ast_copy_string(class->args, var->value, sizeof(class->args));
+- else if (!strcasecmp(var->name, "digit") && (isdigit(*var->value) || strchr("*#", *var->value)))
++ else if (!strcasecmp(var->name, "announcement")) {
++ ast_copy_string(class->announcement, var->value, sizeof(class->announcement));
++ ast_set_flag(class, MOH_ANNOUNCEMENT);
++ } else if (!strcasecmp(var->name, "digit") && (isdigit(*var->value) || strchr("*#", *var->value)))
+ class->digit = *var->value;
+ else if (!strcasecmp(var->name, "random"))
+ ast_set2_flag(class, ast_true(var->value), MOH_RANDOMIZE);
diff --git a/testing/asterisk/ASTERISK-18994.patch b/testing/asterisk/ASTERISK-18994.patch
new file mode 100644
index 000000000..702e91375
--- /dev/null
+++ b/testing/asterisk/ASTERISK-18994.patch
@@ -0,0 +1,28 @@
+--- a/main/file.c.orig 2011-12-09 11:32:05.000000000 +0200
++++ b/main/file.c 2011-12-09 11:35:22.000000000 +0200
+@@ -1005,6 +1005,7 @@
+ struct ast_filestream *fs;
+ struct ast_filestream *vfs=NULL;
+ char fmt[256];
++ off_t pos;
+ int seekattempt;
+ int res;
+
+@@ -1017,12 +1018,14 @@
+ /* check to see if there is any data present (not a zero length file),
+ * done this way because there is no where for ast_openstream_full to
+ * return the file had no data. */
+- seekattempt = fseek(fs->f, -1, SEEK_END);
++ pos = ftello(fs->f);
++ seekattempt = fseeko(fs->f, -1, SEEK_END);
+ if (seekattempt && errno == EINVAL) {
+ /* Zero-length file, as opposed to a pipe */
+ return 0;
+- } else {
+- ast_seekstream(fs, 0, SEEK_SET);
++ }
++ if (seekattempt == 0) {
++ fseeko(fs->f, pos, SEEK_SET);
+ }
+
+ vfs = ast_openvstream(chan, filename, preflang);
diff --git a/testing/asterisk/ASTERISK-18995.patch b/testing/asterisk/ASTERISK-18995.patch
new file mode 100644
index 000000000..cd144847b
--- /dev/null
+++ b/testing/asterisk/ASTERISK-18995.patch
@@ -0,0 +1,358 @@
+--- /dev/null 2011-11-29 09:02:40.279581283 +0200
++++ b/formats/format_ogg_speex.c 2011-12-08 15:57:12.000000000 +0200
+@@ -0,0 +1,355 @@
++/*
++ * Asterisk -- An open source telephony toolkit.
++ *
++ * Copyright (C) 2011, Timo Teräs
++ *
++ * See http://www.asterisk.org for more information about
++ * the Asterisk project. Please do not directly contact
++ * any of the maintainers of this project for assistance;
++ * the project provides a web site, mailing lists and IRC
++ * channels for your use.
++ *
++ * This program is free software, distributed under the terms of
++ * the GNU General Public License Version 2. See the LICENSE file
++ * at the top of the source tree.
++ */
++
++/*! \file
++ *
++ * \brief OGG/Speex streams.
++ * \arg File name extension: spx
++ * \ingroup formats
++ */
++
++/*** MODULEINFO
++ <depend>speex</depend>
++ <depend>ogg</depend>
++ <support_level>extended</support_level>
++ ***/
++
++#include "asterisk.h"
++
++ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
++
++#include "asterisk/mod_format.h"
++#include "asterisk/module.h"
++
++#include <speex/speex_header.h>
++#include <ogg/ogg.h>
++
++#define BLOCK_SIZE 4096 /* buffer size for feeding OGG routines */
++#define BUF_SIZE 200
++
++struct speex_desc { /* format specific parameters */
++ /* structures for handling the Ogg container */
++ ogg_sync_state oy;
++ ogg_stream_state os;
++ ogg_page og;
++ ogg_packet op;
++
++ int format_id;
++ int serialno;
++
++ /*! \brief Indicates whether an End of Stream condition has been detected. */
++ int eos;
++};
++
++static int read_packet(struct ast_filestream *fs)
++{
++ struct speex_desc *s = (struct speex_desc *)fs->_private;
++ char *buffer;
++ int result;
++ size_t bytes;
++
++ while (1) {
++ /* Get one packet */
++ result = ogg_stream_packetout(&s->os, &s->op);
++ if (result > 0) {
++ if (s->op.bytes>=5 && !memcmp(s->op.packet, "Speex", 5))
++ s->serialno = s->os.serialno;
++ if (s->serialno == -1 || s->os.serialno != s->serialno)
++ continue;
++ return 0;
++ }
++
++ if (result < 0)
++ ast_log(LOG_WARNING,
++ "Corrupt or missing data at this page position; continuing...\n");
++
++ /* No more packets left in the current page... */
++ if (s->eos) {
++ /* No more pages left in the stream */
++ return -1;
++ }
++
++ while (!s->eos) {
++ /* See if OGG has any pages in it's internal buffers */
++ result = ogg_sync_pageout(&s->oy, &s->og);
++ if (result > 0) {
++ /* Read all streams. */
++ if (ogg_page_serialno(&s->og) != s->os.serialno)
++ ogg_stream_reset_serialno(&s->os, ogg_page_serialno(&s->og));
++ /* Yes, OGG has more pages in it's internal buffers,
++ add the page to the stream state */
++ result = ogg_stream_pagein(&s->os, &s->og);
++ if (result == 0) {
++ /* Yes, got a new,valid page */
++ if (ogg_page_eos(&s->og) &&
++ ogg_page_serialno(&s->og) == s->serialno)
++ s->eos = 1;
++ break;
++ }
++ ast_log(LOG_WARNING,
++ "Invalid page in the bitstream; continuing...\n");
++ }
++
++ if (result < 0)
++ ast_log(LOG_WARNING,
++ "Corrupt or missing data in bitstream; continuing...\n");
++
++ /* No, we need to read more data from the file descrptor */
++ /* get a buffer from OGG to read the data into */
++ buffer = ogg_sync_buffer(&s->oy, BLOCK_SIZE);
++ bytes = fread(buffer, 1, BLOCK_SIZE, fs->f);
++ ogg_sync_wrote(&s->oy, bytes);
++ if (bytes == 0)
++ s->eos = 1;
++ }
++ }
++}
++
++/*!
++ * \brief Create a new OGG/Speex filestream and set it up for reading.
++ * \param fs File that points to on disk storage of the OGG/Speex data.
++ * \param expected_rate The expected Speex format (sampling rate).
++ * \return The new filestream.
++ */
++static int ogg_speex_open(struct ast_filestream *fs, int format_id, int expected_rate)
++{
++ char *buffer;
++ size_t bytes;
++ struct speex_desc *s = (struct speex_desc *)fs->_private;
++ SpeexHeader *hdr = NULL;
++ int i, result;
++
++ s->format_id = format_id;
++ s->serialno = -1;
++ ogg_sync_init(&s->oy);
++
++ buffer = ogg_sync_buffer(&s->oy, BLOCK_SIZE);
++ bytes = fread(buffer, 1, BLOCK_SIZE, fs->f);
++ ogg_sync_wrote(&s->oy, bytes);
++
++ result = ogg_sync_pageout(&s->oy, &s->og);
++ if (result != 1) {
++ if(bytes < BLOCK_SIZE) {
++ ast_log(LOG_ERROR, "Run out of data...\n");
++ } else {
++ ast_log(LOG_ERROR, "Input does not appear to be an Ogg bitstream.\n");
++ }
++ ogg_sync_clear(&s->oy);
++ return -1;
++ }
++
++ ogg_stream_init(&s->os, ogg_page_serialno(&s->og));
++ if (ogg_stream_pagein(&s->os, &s->og) < 0) {
++ ast_log(LOG_ERROR, "Error reading first page of Ogg bitstream data.\n");
++ goto error;
++ }
++
++ if (read_packet(fs) < 0) {
++ ast_log(LOG_ERROR, "Error reading initial header packet.\n");
++ goto error;
++ }
++
++ hdr = speex_packet_to_header((char*)s->op.packet, s->op.bytes);
++ if (memcmp(hdr->speex_string, "Speex ", 8)) {
++ ast_log(LOG_ERROR, "OGG container does not contain Speex audio!\n");
++ goto error;
++ }
++ if (hdr->frames_per_packet != 1) {
++ ast_log(LOG_ERROR, "Only one frame-per-packet OGG/Speex files are currently supported!\n");
++ goto error;
++ }
++ if (hdr->nb_channels != 1) {
++ ast_log(LOG_ERROR, "Only monophonic OGG/Speex files are currently supported!\n");
++ goto error;
++ }
++ if (hdr->rate != expected_rate) {
++ ast_log(LOG_ERROR, "Unexpected sampling rate (%d != %d)!\n",
++ hdr->rate, expected_rate);
++ goto error;
++ }
++
++ /* this packet is the comment */
++ if (read_packet(fs) < 0) {
++ ast_log(LOG_ERROR, "Error reading comment packet.\n");
++ goto error;
++ }
++ for (i = 0; i < hdr->extra_headers; i++) {
++ if (read_packet(fs) < 0) {
++ ast_log(LOG_ERROR, "Error reading extra header packet %d.\n", i+1);
++ goto error;
++ }
++ }
++ free(hdr);
++
++ return 0;
++error:
++ if (hdr)
++ free(hdr);
++ ogg_stream_clear(&s->os);
++ ogg_sync_clear(&s->oy);
++ return -1;
++}
++
++/*!
++ * \brief Close a OGG/Speex filestream.
++ * \param fs A OGG/Speex filestream.
++ */
++static void ogg_speex_close(struct ast_filestream *fs)
++{
++ struct speex_desc *s = (struct speex_desc *)fs->_private;
++
++ ogg_stream_clear(&s->os);
++ ogg_sync_clear(&s->oy);
++}
++
++/*!
++ * \brief Read a frame full of audio data from the filestream.
++ * \param fs The filestream.
++ * \param whennext Number of sample times to schedule the next call.
++ * \return A pointer to a frame containing audio data or NULL ifthere is no more audio data.
++ */
++static struct ast_frame *ogg_speex_read(struct ast_filestream *fs,
++ int *whennext)
++{
++ struct speex_desc *s = (struct speex_desc *)fs->_private;
++
++ if (read_packet(fs) < 0)
++ return NULL;
++
++ fs->fr.frametype = AST_FRAME_VOICE;
++ ast_format_set(&fs->fr.subclass.format, s->format_id, 0);
++ fs->fr.mallocd = 0;
++ AST_FRAME_SET_BUFFER(&fs->fr, fs->buf, AST_FRIENDLY_OFFSET, BUF_SIZE);
++ memcpy(fs->fr.data.ptr, s->op.packet, s->op.bytes);
++ fs->fr.datalen = s->op.bytes;
++ fs->fr.samples = *whennext = ast_codec_get_samples(&fs->fr);
++
++ return &fs->fr;
++}
++
++/*!
++ * \brief Trucate an OGG/Speex filestream.
++ * \param s The filestream to truncate.
++ * \return 0 on success, -1 on failure.
++ */
++
++static int ogg_speex_trunc(struct ast_filestream *s)
++{
++ ast_log(LOG_WARNING, "Truncation is not supported on OGG/Speex streams!\n");
++ return -1;
++}
++
++/*!
++ * \brief Seek to a specific position in an OGG/Speex filestream.
++ * \param s The filestream to truncate.
++ * \param sample_offset New position for the filestream, measured in 8KHz samples.
++ * \param whence Location to measure
++ * \return 0 on success, -1 on failure.
++ */
++static int ogg_speex_seek(struct ast_filestream *s, off_t sample_offset, int whence)
++{
++ ast_log(LOG_WARNING, "Seeking is not supported on OGG/Speex streams!\n");
++ return -1;
++}
++
++static off_t ogg_speex_tell(struct ast_filestream *s)
++{
++ ast_log(LOG_WARNING, "Telling is not supported on OGG/Speex streams!\n");
++ return -1;
++}
++
++static int ogg_speex_open_nb(struct ast_filestream *fs)
++{
++ return ogg_speex_open(fs, AST_FORMAT_SPEEX, 8000);
++}
++
++static struct ast_format_def speex_f = {
++ .name = "ogg_speex",
++ .exts = "spx",
++ .open = ogg_speex_open_nb,
++ .seek = ogg_speex_seek,
++ .trunc = ogg_speex_trunc,
++ .tell = ogg_speex_tell,
++ .read = ogg_speex_read,
++ .close = ogg_speex_close,
++ .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
++ .desc_size = sizeof(struct speex_desc),
++};
++
++static int ogg_speex_open_wb(struct ast_filestream *fs)
++{
++ return ogg_speex_open(fs, AST_FORMAT_SPEEX16, 16000);
++}
++
++static struct ast_format_def speex16_f = {
++ .name = "ogg_speex16",
++ .exts = "spx16",
++ .open = ogg_speex_open_wb,
++ .seek = ogg_speex_seek,
++ .trunc = ogg_speex_trunc,
++ .tell = ogg_speex_tell,
++ .read = ogg_speex_read,
++ .close = ogg_speex_close,
++ .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
++ .desc_size = sizeof(struct speex_desc),
++};
++
++static int ogg_speex_open_uwb(struct ast_filestream *fs)
++{
++ return ogg_speex_open(fs, AST_FORMAT_SPEEX32, 32000);
++}
++
++static struct ast_format_def speex32_f = {
++ .name = "ogg_speex32",
++ .exts = "spx32",
++ .open = ogg_speex_open_uwb,
++ .seek = ogg_speex_seek,
++ .trunc = ogg_speex_trunc,
++ .tell = ogg_speex_tell,
++ .read = ogg_speex_read,
++ .close = ogg_speex_close,
++ .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
++ .desc_size = sizeof(struct speex_desc),
++};
++
++static int load_module(void)
++{
++ ast_format_set(&speex_f.format, AST_FORMAT_SPEEX, 0);
++ ast_format_set(&speex16_f.format, AST_FORMAT_SPEEX16, 0);
++ ast_format_set(&speex32_f.format, AST_FORMAT_SPEEX32, 0);
++
++ if (ast_format_def_register(&speex_f) ||
++ ast_format_def_register(&speex16_f) ||
++ ast_format_def_register(&speex32_f))
++ return AST_MODULE_LOAD_FAILURE;
++
++ return AST_MODULE_LOAD_SUCCESS;
++}
++
++static int unload_module(void)
++{
++ int res = 0;
++ res |= ast_format_def_unregister(speex_f.name);
++ res |= ast_format_def_unregister(speex16_f.name);
++ res |= ast_format_def_unregister(speex32_f.name);
++ return res;
++}
++
++AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "OGG/Speex audio",
++ .load = load_module,
++ .unload = unload_module,
++ .load_pri = AST_MODPRI_APP_DEPEND
++);
diff --git a/testing/asterisk/asterisk.confd b/testing/asterisk/asterisk.confd
new file mode 100644
index 000000000..fe9f138ab
--- /dev/null
+++ b/testing/asterisk/asterisk.confd
@@ -0,0 +1,91 @@
+#
+# Additional options for asterisk
+#
+# see "asterisk -h" for a list of options
+#
+ASTERISK_OPTS=""
+
+#
+# User and group to run asterisk as
+#
+# Value: double-colon separated list of user and group, or empty to run as root:
+#
+#
+# "asterisk:asterisk" to run as user "asterisk" and group "asterisk"
+# "asterisk" to run as user "asterisk" and all groups that user "asterisk" is a member of
+# ":asterisk" to run as user "root" and group "asterisk"
+# "" to run as user "root" and group "root"
+#
+ASTERISK_USER="asterisk"
+
+#
+# Nicelevel
+#
+# Set the priority of the asterisk process
+#
+# Value: (highest) -20..19 (lowest)
+#
+#ASTERISK_NICE="19"
+
+#
+# Wrapper script
+#
+# Value: yes or no/empty
+#
+ASTERISK_WRAPPER="no"
+
+############# Wrapper script settings #############
+
+#
+# Send crash notifications emails to this address
+# (needs a working mail service and /usr/sbin/sendmail to do so (e.g. ssmtp))
+#
+# Value: Email address or empty to disable
+#
+#ASTERISK_NOTIFY_EMAIL="root"
+
+#
+# Send asterisk's output to this terminal
+#
+# Value: Full path to device node or a number
+#
+#ASTERISK_TTY="/dev/tty9"
+
+#
+# Start an asterisk console on the terminal specified by ASTERISK_TTY
+#
+# Warning! Use only for debugging, this is a potential security issue!
+#
+# Value: yes or no/empty
+#
+ASTERISK_CONSOLE="no"
+
+#
+# Maximum size of core files.
+#
+# Value: Size in bytes, unlimited for no limit or empty to disable.
+#
+#ASTERISK_CORE_SIZE="unlimited"
+
+#
+# ASTERISK_CORE_DIR
+#
+# Value: Directory (will be created if non-existant), default is /tmp
+#
+ASTERISK_CORE_DIR="/var/lib/asterisk/coredump"
+
+#
+# Max number of filedescriptors
+#
+# Value: Number of descriptors
+#
+#ASTERISK_MAX_FD="1024"
+
+#
+# Kill these tasks after asterisk crashed (ASTERISK_WRAPPER=yes only!)
+#
+# Warning! This will kill _ALL_ tasks with the specified names!
+#
+# Value: Space separated list of names in double quotes (e.g. "mpg123 mad")
+#
+#ASTERISK_CLEANUP_ON_CRASH="mpg123 asterisk-mpg123 mad"
diff --git a/testing/asterisk/asterisk.initd b/testing/asterisk/asterisk.initd
new file mode 100644
index 000000000..284898ae2
--- /dev/null
+++ b/testing/asterisk/asterisk.initd
@@ -0,0 +1,251 @@
+#!/sbin/runscript
+
+opts="${opts} forcestop reload"
+
+depend() {
+ need net
+ after firewall
+ use nscd dns zaptel mysql postgresql slapd capi
+}
+
+is_running() {
+ if [ -z "$(pidof asterisk)" ]; then
+ return 1
+ else
+ PID="$(cat /var/run/asterisk/asterisk.pid 2>/dev/null)"
+ for x in $(pidof asterisk); do
+ if [ "${x}" = "${PID}" ]; then
+ return 0
+ fi
+ done
+ fi
+
+ return 1
+}
+
+asterisk_run_loop() {
+ local OPTS ARGS MSG NICE=""
+ local result=0 signal=0
+
+ # default options
+ OPTS="-f" # don't fork / detach breaks wrapper script...
+
+ # filter (redundant) arguments
+ ARGS="$(echo "${@}" | sed -e "s:-c\|-f::g")"
+
+ # mangle yes/no options
+ ASTERISK_CONSOLE="$(echo ${ASTERISK_CONSOLE} | tr '[:lower:]' '[:upper:]')"
+
+ if [ -n "${ASTERISK_CORE_SIZE}" ] &&
+ [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
+ ulimit -c ${ASTERISK_CORE_SIZE}
+
+ if [ -n "${ASTERISK_CORE_DIR}" ] && \
+ [ ! -d "${ASTERISK_CORE_DIR}" ]
+ then
+ mkdir -m750 -p "${ASTERISK_CORE_DIR}"
+
+ if [ -n "${ASTERISK_USER}" ]; then
+ chown -R "${ASTERISK_USER}" "${ASTERISK_CORE_DIR}"
+ fi
+ fi
+ ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
+
+ cd "${ASTERISK_CORE_DIR}"
+ echo " Core dump size : ${ASTERISK_CORE_SIZE}"
+ echo " Core dump location : ${ASTERISK_CORE_DIR}"
+ fi
+
+ if [ -n "${ASTERISK_MAX_FD}" ]; then
+ ulimit -n ${ASTERISK_MAX_FD}
+ echo " Max open filedescriptors : ${ASTERISK_MAX_FD}"
+ fi
+
+ if [ -n "${ASTERISK_NICE}" ]; then
+ echo " Nice level : ${ASTERISK_NICE}"
+ NICE="nice -n ${ASTERISK_NICE} --"
+ fi
+
+ if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then
+ if [ -x /usr/sbin/sendmail ]; then
+ echo " Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
+ else
+ echo " Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
+ unset ASTERISK_NOTIFY_EMAIL
+ fi
+ fi
+
+ if [ -n "${ASTERISK_TTY}" ]; then
+ for x in ${ASTERISK_TTY} \
+ /dev/tty${ASTERISK_TTY} \
+ /dev/vc/${ASTERISK_TTY}
+ do
+ if [ -c "${x}" ]; then
+ TTY="${x}"
+ fi
+ done
+ [ -n "${TTY}" ] && \
+ echo " Messages are sent to : ${TTY}"
+ fi
+
+ if [ "${ASTERISK_CONSOLE}" = "YES" ] && [ -n "${TTY}" ]; then
+ echo " Starting Asterisk console : ${ASTERISK_CONSOLE}"
+ OPTS="${OPTS} -c"
+ fi
+
+ OPTS="${OPTS} ${ARGS}"
+
+ while :; do
+
+ if [ -n "${TTY}" ]; then
+ /usr/bin/stty -F ${TTY} sane
+ ${NICE} /usr/sbin/asterisk ${OPTS} >${TTY} 2>&1 <${TTY}
+ result=$?
+ else
+ ${NICE} /usr/sbin/asterisk ${OPTS} &>/dev/null
+ result=$?
+ fi
+
+ if [ $result -eq 0 ]; then
+ echo "Asterisk terminated normally"
+ break
+ else
+ if [ $result -gt 128 ]; then
+ signal=$((result - 128))
+ MSG="Asterisk terminated with Signal: $signal"
+
+ CORE_TARGET="core-$(date "+%Y%m%d-%h%M%s")"
+
+ local CORE_DUMPED=0
+ if [ -f "${ASTERISK_CORE_DIR}/core" ]; then
+ mv "${ASTERISK_CORE_DIR}/core" \
+ "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
+ CORE_DUMPED=1
+
+ elif [ -f "${ASTERISK_CORE_DIR}/core.${PID}" ]; then
+ mv "${ASTERISK_CORE_DIR}/core.${PID}" \
+ "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
+ CORE_DUMPED=1
+
+ fi
+
+ [ $CORE_DUMPED -eq 1 ] && \
+ MSG="${MSG}\n\rCore dumped: ${ASTERISK_CORE_DIR}/${CORE_TARGET}"
+ else
+ MSG="Asterisk terminated with return code: $result"
+ fi
+
+ # kill left-over tasks
+ for X in ${ASTERISK_CLEANUP_ON_CRASH}; do
+ kill -9 $(pidof ${X});
+ done
+ fi
+
+ [ -n "${TTY}" ] \
+ && echo "${MSG}" >${TTY} \
+ || echo "${MSG}"
+
+
+ if [ -n "${ASTERISK_NOTIFY_EMAIL}" ] && \
+ [ -x /usr/sbin/sendmail ]; then
+ echo -e -n "Subject: Asterisk crashed\n\r${MSG}\n\r" |\
+ /usr/sbin/sendmail "${ASTERISK_NOTIFY_EMAIL}"
+ fi
+ sleep 5
+ echo "Restarting Asterisk..."
+ done
+ return 0
+}
+
+start() {
+ local OPTS USER GROUP PID
+ local tmp x
+
+ if [ -n "${ASTERISK_NICE}" ]; then
+ if [ ${ASTERISK_NICE} -ge -20 ] && \
+ [ ${ASTERISK_NICE} -le 19 ]; then
+ OPTS="--nicelevel ${ASTERISK_NICE}"
+ else
+ eerror "Nice value must be between -20 and 19"
+ return 1
+ fi
+ fi
+
+ if [ -n "${ASTERISK_USER}" ]; then
+ USER=$(echo $ASTERISK_USER | sed 's/:.*//')
+ GROUP=$(echo $ASTERISK_USER | awk -F: '/.*:.*/ { print $2 }')
+ if [ -n "${USER}" ]; then
+ ASTERISK_OPTS="${ASTERISK_OPTS} -U ${USER}"
+ fi
+ if [ -n "${GROUP}" ]; then
+ ASTERISK_OPTS="${ASTERISK_OPTS} -G ${GROUP}"
+ GROUP=":${GROUP}" # make it look nice...
+ fi
+ ebegin "Starting asterisk PBX (as ${USER}${GROUP})"
+ else
+ ebegin "Starting asterisk PBX (as root)"
+ fi
+
+ if [ "$(echo ${ASTERISK_WRAPPER} | tr '[:upper:]' '[:lower:]')" != "yes" ]; then
+ start-stop-daemon --start --exec /usr/sbin/asterisk \
+ ${OPTS} -- ${ASTERISK_OPTS}
+ result=$?
+ else
+ asterisk_run_loop ${ASTERISK_OPTS} 2>/dev/null &
+ result=$?
+ fi
+
+ if [ $result -eq 0 ]; then
+ # 2 seconds should be enough for asterisk to start
+ sleep 2
+ is_running
+ result=$?
+ fi
+
+ eend $result
+}
+
+forcestop() {
+ ebegin "Stopping asterisk PBX"
+ start-stop-daemon --stop --pidfile /var/run/asterisk/asterisk.pid
+ eend $?
+}
+
+stop() {
+ if ! is_running; then
+ eerror "Asterisk is not running!"
+ return 0
+ fi
+
+ ebegin "Stopping asterisk PBX now"
+ /usr/sbin/asterisk -r -x "core stop now" &>/dev/null
+ # Now we have to wait until asterisk has _really_ stopped.
+ sleep 1
+ if is_running; then
+ einfon "Waiting for asterisk to shutdown ."
+ local cnt=0
+ while is_running; do
+ cnt=`expr $cnt + 1`
+ if [ $cnt -gt 60 ] ; then
+ # Waited 120 seconds now. Fail.
+ echo
+ eend 1 "Failed."
+ return
+ fi
+ sleep 2
+ echo -n "."
+ done
+ echo
+ fi
+ eend 0
+}
+
+reload() {
+ if is_running; then
+ ebegin "Forcing asterisk to reload configuration"
+ /usr/sbin/asterisk -r -x "modules reload" &>/dev/null
+ eend $?
+ else
+ eerror "Asterisk is not running!"
+ fi
+}
diff --git a/testing/asterisk/asterisk.logrotate b/testing/asterisk/asterisk.logrotate
new file mode 100644
index 000000000..30836c5c1
--- /dev/null
+++ b/testing/asterisk/asterisk.logrotate
@@ -0,0 +1,17 @@
+/var/log/asterisk/messages /var/log/asterisk/*log {
+ missingok
+ rotate 5
+ weekly
+ create 0640 asterisk asterisk
+ postrotate
+ /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
+ endscript
+}
+
+/var/log/asterisk/cdr-csv/*csv {
+ missingok
+ rotate 5
+ monthly
+ create 0640 asterisk asterisk
+}
+
diff --git a/testing/asterisk/asterisk.post-install b/testing/asterisk/asterisk.post-install
new file mode 100644
index 000000000..fd51c7fa5
--- /dev/null
+++ b/testing/asterisk/asterisk.post-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+chown -R asterisk:asterisk /var/*/asterisk
+chown -R asterisk:asterisk /etc/asterisk
+chmod -R u=rwX,g=rX,o= /etc/asterisk
+
+# set IP ToS
+# iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x28
+#iptables -A OUTPUT -t mangle -p udp -m udp --sport 10000:20000 -j DSCP --set-dscp 0x28
+# more info: http://www.voip-info.org/wiki-Asterisk+non-root
+
diff --git a/testing/asterisk/asterisk.pre-install b/testing/asterisk/asterisk.pre-install
new file mode 100644
index 000000000..09985d7cd
--- /dev/null
+++ b/testing/asterisk/asterisk.pre-install
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+user=asterisk
+home=/var/lib/asterisk
+adduser -h $home -s /bin/false -D $user 2>/dev/null
+mkdir -p $home
+chown $user:$user $home
+
+addgroup dialout 2>/dev/null
+addgroup $user dialout 2>/dev/null
+exit 0
+
diff --git a/testing/asterisk/asterisk.pre-upgrade b/testing/asterisk/asterisk.pre-upgrade
new file mode 100644
index 000000000..09985d7cd
--- /dev/null
+++ b/testing/asterisk/asterisk.pre-upgrade
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+user=asterisk
+home=/var/lib/asterisk
+adduser -h $home -s /bin/false -D $user 2>/dev/null
+mkdir -p $home
+chown $user:$user $home
+
+addgroup dialout 2>/dev/null
+addgroup $user dialout 2>/dev/null
+exit 0
+
diff --git a/testing/audacity/APKBUILD b/testing/audacity/APKBUILD
new file mode 100644
index 000000000..7b9615349
--- /dev/null
+++ b/testing/audacity/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=audacity
+pkgver=1.3.13
+pkgrel=0
+pkgdesc="Multitrack audio editor"
+url="http://audacity.sourceforge.net"
+arch="all"
+license="GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev wxgtk-dev alsa-lib-dev libsndfile-dev flac-dev
+ libogg-dev libvorbis-dev libsamplerate-dev expat-dev libmad-dev
+ libid3tag-dev taglib-dev"
+install=""
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://downloads.sf.net/sourceforge/audacity/audacity-minsrc-$pkgver-beta.tar.bz2"
+
+_builddir="$srcdir"/audacity-src-$pkgver-beta
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --with-libsndfile=system \
+ --with-libsamplerate=system \
+ --without-libresample \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="57be7fadb8c8dd17b8462c7ac1561d03 audacity-minsrc-1.3.13-beta.tar.bz2"
diff --git a/testing/celt/APKBUILD b/testing/celt/APKBUILD
new file mode 100644
index 000000000..1f0dbc8bd
--- /dev/null
+++ b/testing/celt/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=celt
+pkgver=0.11.1
+pkgrel=0
+pkgdesc="An audio codec for use in low-delay speech and audio communication"
+url="http://www.celt-codec.org/"
+arch="all"
+license="BSD"
+depends=""
+makedepends="libogg-dev"
+install=""
+subpackages="$pkgname-dev"
+source="http://downloads.us.xiph.org/releases/celt/celt-$pkgver.tar.gz"
+
+_builddir="$srcdir"/celt-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="94fe4acd241da8702c295bcd13a555e6 celt-0.11.1.tar.gz"
diff --git a/testing/cgdb/APKBUILD b/testing/cgdb/APKBUILD
deleted file mode 100644
index d3981d964..000000000
--- a/testing/cgdb/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Harry
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-
-pkgname=cgdb
-pkgver=0.6.6
-pkgrel=0
-pkgdesc="The Curses Debugger"
-arch="all"
-license=GPL
-url="http://cgdb.sourceforge.net/"
-depends="ncurses-dev readline-dev gdb"
-source="http://downloads.sourceforge.net/project/cgdb/cgdb/cgdb-$pkgver/cgdb-$pkgver.tar.gz"
-subpackages="$pkgname-doc"
-
-_builddir="$srcdir/$pkgname-$pkgver"
-prepare() {
- cd "$_builddir"
-}
-
-build() {
- cd "$_builddir"
- ./configure --prefix=/usr \
- --libdir=/usr/lib || return 1
- make || return 1
-}
-
-package() {
- cd "$_builddir"
- make install \
- pkgconfigdir="/usr/lib/pkgconfig" \
- DESTDIR="$pkgdir" || return 1
- mkdir -p "$pkgdir"/usr/share/doc
- mv "$pkgdir"/usr/share/cgdb "$pkgdir"/usr/share/doc/
-}
-
-md5sums="394b542b495755ab8392b7e88dace744 cgdb-0.6.6.tar.gz"
-
-
diff --git a/testing/cherokee/APKBUILD b/testing/cherokee/APKBUILD
index a4ab7f7d4..53e585b49 100644
--- a/testing/cherokee/APKBUILD
+++ b/testing/cherokee/APKBUILD
@@ -1,8 +1,8 @@
-# Contributor: Mika Havela <mika.havela@gmail.com>
+# Contributor: Mika Havela <mika.havela@gmail.com>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=cherokee
pkgver=1.2.98
-pkgrel=1
+pkgrel=3
pkgdesc="A very fast, flexible and easy to configure Web Server"
url="http://www.cherokee-project.com/"
arch="all"
@@ -11,7 +11,7 @@ depends="pcre rrdtool python"
depends_dev="openssl-dev gettext-dev ffmpeg-dev geoip-dev"
makedepends="$depends_dev"
install=
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="http://www.cherokee-project.com/download/${pkgver%.*}/${pkgver}/${pkgname}-${pkgver}.tar.gz
cherokee.initd
cherokee.confd
@@ -31,9 +31,10 @@ build() {
package() {
cd "$_builddir"
-
+
make -j1 DESTDIR="$pkgdir" install || return 1
-
+ rm "$pkgdir"/usr/lib/*.la "$pkgdir"/usr/lib/cherokee/*.la || return 1
+
install -m755 -D "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname || return 1
install -m644 -D "$srcdir"/$pkgname.confd \
@@ -41,5 +42,5 @@ package() {
}
md5sums="21b01e7d45c0e82ecc0c4257a9c27feb cherokee-1.2.98.tar.gz
-4180dbb6701f928054079aa1e3bd5ebc cherokee.initd
+8cc44726585fa04a2772a0c3faa6a72d cherokee.initd
bd6a840f72c630ce1eaabe058097584f cherokee.confd"
diff --git a/testing/cherokee/cherokee.initd b/testing/cherokee/cherokee.initd
index 6aed337b6..5e88e069c 100755
--- a/testing/cherokee/cherokee.initd
+++ b/testing/cherokee/cherokee.initd
@@ -15,7 +15,7 @@ start() {
ebegin "Starting ${NAME}"
start-stop-daemon --start --quiet \
--pidfile /var/run/${NAME}.pid \
- --chuid ${DAEMON_USER}:${DAEMON_GROUP} \
+ --user ${DAEMON_USER}:${DAEMON_GROUP} \
--exec ${DAEMON} -- ${OPTS}
eend $?
}
diff --git a/testing/chromium/APKBUILD b/testing/chromium/APKBUILD
index b19ee388f..1372d9e1d 100644
--- a/testing/chromium/APKBUILD
+++ b/testing/chromium/APKBUILD
@@ -1,33 +1,43 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Unmaintained <unmaintained@alpinelinux.org>
pkgname=chromium
-pkgver=13.0.754.0
+pkgver=17.0.942.0
pkgrel=0
pkgdesc="chromium web browser"
url="http://www.chromium.org/"
-arch=""
-#arch="x86 x86_64"
+arch="x86 x86_64 arm"
license="BSD"
-depends=
+depends="xdg-utils"
depends_dev="alsa-lib-dev libevent-dev libpng-dev jpeg-dev cairo-dev cups-dev mesa-dev
dbus-glib-dev gtk+-dev libxml2-dev freetype-dev
libxslt-dev libxtst-dev icu-dev flac-dev speex-dev
- hunspell-dev libxinerama-dev"
-makedepends="$depends_dev xdg-utils yasm gperf"
+ hunspell-dev libxinerama-dev ffmpeg-dev nss-dev
+ libwebp-dev v8-dev bzip2-dev libevent-dev libvpx-dev
+ sqlite-dev libelf-dev libgcrypt-dev gnutls-dev"
+makedepends="$depends_dev xdg-utils yasm gperf bison flex perl python"
install=""
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://build.chromium.org/official/chromium-$pkgver.tar.bz2
+subpackages="$pkgname-doc"
+source="http://gsdview.appspot.com/chromium-browser-official/chromium-$pkgver.tar.bz2
chromium-c99math.patch
chromium-futimens.patch
- chromium-uclibc-resolv.patch
chromium-dlfcn.patch
chromium-yasm.patch
chromium-no-mit-screensaver.patch
- chromium-tcmalloc.patch
- chromium-no-sbrk.patch
- chromium-stdstring.patch"
+ chromium-uclibc-resolv.patch
+ chromium-breakpad.patch
+ chromium-webrtc.patch
+ chromium-malloc.patch"
_builddir="$srcdir"/chromium-$pkgver
+
+CHROMIUM_HOME="/usr/lib/${pkgname}"
+CHROMIUM_IMAGE="${_builddir}/out/Release"
+
+# ugly hack to deal with google shipping weird tarballs
+unpack() {
+ default_unpack || return 0
+}
+
prepare() {
local i
cd "$_builddir"
@@ -36,6 +46,55 @@ prepare() {
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
+
+ msg "Stripping Google cruft..."
+ find third_party -type f \! -iname '*.gyp*' \
+ \! -path 'third_party/WebKit/*' \
+ \! -path 'third_party/angle/*' \
+ \! -path 'third_party/cacheinvalidation/*' \
+ \! -path 'third_party/cld/*' \
+ \! -path 'third_party/expat/*' \
+ \! -path 'third_party/ffmpeg/*' \
+ \! -path 'third_party/flac/flac.h' \
+ \! -path 'third_party/gpsd/*' \
+ \! -path 'third_party/harfbuzz/*' \
+ \! -path 'third_party/hunspell/*' \
+ \! -path 'third_party/iccjpeg/*' \
+ \! -path 'third_party/jsoncpp/*' \
+ \! -path 'third_party/launchpad_translations/*' \
+ \! -path 'third_party/leveldb/*' \
+ \! -path 'third_party/leveldatabase/*' \
+ \! -path 'third_party/libjingle/*' \
+ \! -path 'third_party/libphonenumber/*' \
+ \! -path 'third_party/libvpx/*' \
+ \! -path 'third_party/lss/*' \
+ \! -path 'third_party/mesa/*' \
+ \! -path 'third_party/modp_b64/*' \
+ \! -path 'third_party/mongoose/*' \
+ \! -path 'third_party/npapi/*' \
+ \! -path 'third_party/openmax/*' \
+ \! -path 'third_party/ots/*' \
+ \! -path 'third_party/protobuf/*' \
+ \! -path 'third_party/scons-2.0.1/*' \
+ \! -path 'third_party/sfntly/*' \
+ \! -path 'third_party/skia/*' \
+ \! -path 'third_party/smhasher/*' \
+ \! -path 'third_party/speex/speex.h' \
+ \! -path 'third_party/sqlite/*' \
+ \! -path 'third_party/tcmalloc/*' \
+ \! -path 'third_party/tlslite/*' \
+ \! -path 'third_party/undoview/*' \
+ \! -path 'third_party/v8-i18n/*' \
+ \! -path 'third_party/webdriver/*' \
+ \! -path 'third_party/webgl_conformance/*' \
+ \! -path 'third_party/webrtc/*' \
+ \! -path 'third_party/zlib/contrib/minizip/*' \
+ -delete || return 1
+
+ msg "Hacking source tree to use system V8 headers..."
+ find v8 -type f \! -iname '*.gyp*' -delete || return 1
+ rmdir v8/include || return 1
+ ln -s /usr/include v8/include || return 1
}
build() {
@@ -44,12 +103,15 @@ build() {
chromium_arch=ia32
test ${CARCH} = x86_64 && chromium_arch=x64
+ # enabling SSE2 causes psABI breakage.
msg "chromium architecture is ${chromium_arch}"
GYP_DEFINES="\
werror= \
+ disable_sse2=1 \
no_strict_aliasing=1 \
- linux_sandbox_path=/usr/lib/${pkgname}/chromium-sandbox \
- linux_sandbox_chrome_path=/usr/lib/${pkgname}/chromium \
+ linux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox \
+ linux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome \
+ linux_use_tcmalloc=0 \
release_extra_cflags='${CFLAGS}' \
proprietary_codecs=1 \
use_system_libjpeg=1 \
@@ -59,11 +121,23 @@ build() {
use_system_zlib=1 \
use_system_libpng=1 \
use_system_yasm=1 \
+ use_system_flac=1 \
use_system_libevent=1 \
use_system_icu=1 \
+ use_system_v8=1 \
+ use_system_libwebp=1 \
+ use_system_ffmpeg=1 \
+ use_system_vpx=1 \
use_system_ssl=0 \
+ use_system_sqlite=0 \
+ use_system_speex=1 \
+ use_system_xdg_utils=1 \
+ use_cups=1 \
use_gconf=0 \
use_gnome_keyring=0 \
+ use_kerberos=0 \
+ linux_link_kerberos=0 \
+ disable_nacl=1 \
remoting=0 \
target_arch=${chromium_arch}"
export GYP_DEFINES
@@ -72,20 +146,38 @@ build() {
python build/gyp_chromium -f make --depth=. build/all.gyp
msg "building chrome and chrome_sandbox targets"
- make BUILDTYPE=Release chrome chrome_sandbox || return 1
+ make V=1 BUILDTYPE=Release -j$JOBS chrome chrome_sandbox chromedriver || return 1
}
package() {
cd "$_builddir"
+
+ mkdir -p "$pkgdir"/${CHROMIUM_HOME}
+
+ install -m755 -c "${CHROMIUM_IMAGE}/chrome" "${pkgdir}/${CHROMIUM_HOME}/chrome"
+ install -m755 -c "${CHROMIUM_IMAGE}/chromedriver" "${pkgdir}/${CHROMIUM_HOME}/chromedriver"
+ install -m755 -c "${CHROMIUM_IMAGE}/chrome_sandbox" "${pkgdir}/${CHROMIUM_HOME}/chrome_sandbox"
+ install -m644 -c "${CHROMIUM_IMAGE}/chrome.pak" "${pkgdir}/${CHROMIUM_HOME}/chrome.pak"
+ install -m644 -c "${CHROMIUM_IMAGE}/resources.pak" "${pkgdir}/${CHROMIUM_HOME}/resources.pak"
+
+ mkdir -p "$pkgdir"/usr/share/man/man1
+ install -m644 -c "${CHROMIUM_IMAGE}/chrome.1" "${pkgdir}/usr/share/man/man1/chrome.1"
+ ln -sf "chrome.1" "${pkgdir}/usr/share/man/man1/chrome-browser.1"
+
+ install -d "${pkgdir}"/usr/bin
+ ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chrome"
+ ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chrome-browser"
+ ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chromium"
+ ln -sf "${CHROMIUM_HOME}/chrome" "${pkgdir}/usr/bin/chromium-browser"
}
-md5sums="85d73864cc3b78dab29f8851965fc5fa chromium-13.0.754.0.tar.bz2
+md5sums="5660529559b1845217b679a883160873 chromium-17.0.942.0.tar.bz2
320d611dba59a881a4f178df743c4912 chromium-c99math.patch
1328245f1f21cf3abf54223ed06a70f4 chromium-futimens.patch
-4a391028c9d1b8930fc299b6af0767d8 chromium-uclibc-resolv.patch
768d2ca4daa2db611fd4aeb561701f4e chromium-dlfcn.patch
76cb0975e631d54fb57bd298041cec05 chromium-yasm.patch
-f8c8711a358d43ecbd8e1859aa71cfa0 chromium-no-mit-screensaver.patch
-014dd7f7a9decb1d89c0d72f0258ca96 chromium-tcmalloc.patch
-e6302ae2635dc4d0c75c32e97a4bd3b0 chromium-no-sbrk.patch
-eb05d2763beaa02e20ddeaf51dadf327 chromium-stdstring.patch"
+327850010ae407477083b91a4e04af51 chromium-no-mit-screensaver.patch
+441bcd9fc987e290c610e2f1bbfb75f8 chromium-uclibc-resolv.patch
+f6531589ce894fcd9b6f4917e83cd3aa chromium-breakpad.patch
+6257d567f83ad591360c3de4f9073725 chromium-webrtc.patch
+42f0beecf6a9e4e65c88b5acb77d8a51 chromium-malloc.patch"
diff --git a/testing/chromium/chromium-breakpad.patch b/testing/chromium/chromium-breakpad.patch
new file mode 100644
index 000000000..deb3af8cf
--- /dev/null
+++ b/testing/chromium/chromium-breakpad.patch
@@ -0,0 +1,11 @@
+--- chromium-17.0.942.0.orig/breakpad/src/client/linux/handler/exception_handler.cc
++++ chromium-17.0.942.0/breakpad/src/client/linux/handler/exception_handler.cc
+@@ -474,7 +474,7 @@
+ }
+
+ bool ExceptionHandler::WriteMinidump() {
+-#if !defined(__ARM_EABI__)
++#if !defined(__ARM_EABI__) && !defined(__UCLIBC__)
+ // Allow ourselves to be dumped.
+ sys_prctl(PR_SET_DUMPABLE, 1);
+
diff --git a/testing/chromium/chromium-malloc.patch b/testing/chromium/chromium-malloc.patch
new file mode 100644
index 000000000..2fe5bfda8
--- /dev/null
+++ b/testing/chromium/chromium-malloc.patch
@@ -0,0 +1,19 @@
+--- chromium-17.0.942.0.orig/base/process_util_linux.cc
++++ chromium-17.0.942.0/base/process_util_linux.cc
+@@ -640,7 +640,7 @@
+
+ extern "C" {
+ #if !defined(USE_TCMALLOC) && !defined(ADDRESS_SANITIZER) && \
+- !defined(OS_ANDROID)
++ !defined(OS_ANDROID) && !defined(__UCLIBC__)
+
+ extern "C" {
+ void* __libc_malloc(size_t size);
+@@ -700,6 +700,7 @@
+ OnNoMemorySize(size); \
+ return ret; \
+ }
++
+
+ DIE_ON_OOM_1(malloc)
+ DIE_ON_OOM_1(valloc)
diff --git a/testing/chromium/chromium-no-mit-screensaver.patch b/testing/chromium/chromium-no-mit-screensaver.patch
index e6061e26c..25ca29ac9 100644
--- a/testing/chromium/chromium-no-mit-screensaver.patch
+++ b/testing/chromium/chromium-no-mit-screensaver.patch
@@ -1,11 +1,11 @@
---- chromium-13.0.754.0.orig/chrome/browser/idle_query_linux.cc
-+++ chromium-13.0.754.0/chrome/browser/idle_query_linux.cc
-@@ -4,35 +4,12 @@
+--- chromium-17.0.942.0.orig/chrome/browser/idle_query_linux.cc
++++ chromium-17.0.942.0/chrome/browser/idle_query_linux.cc
+@@ -4,30 +4,12 @@
#include "chrome/browser/idle_query_linux.h"
--#include <X11/Xlib.h>
-#include <X11/extensions/scrnsaver.h>
+-#include "ui/base/x/x11_util.h"
-
namespace browser {
@@ -14,8 +14,8 @@
- IdleData() {
- int event_base;
- int error_base;
-- display = XOpenDisplay(NULL);
-- if (XScreenSaverQueryExtension(display, &event_base, &error_base)) {
+- if (XScreenSaverQueryExtension(ui::GetXDisplay(), &event_base,
+- &error_base)) {
- mit_info = XScreenSaverAllocInfo();
- } else {
- mit_info = NULL;
@@ -23,30 +23,25 @@
- }
-
- ~IdleData() {
-- if (display) {
-- XCloseDisplay(display);
-- display = NULL;
-- }
- if (mit_info)
- XFree(mit_info);
- }
-
- XScreenSaverInfo *mit_info;
-- Display *display;
+ IdleData() {}
+ ~IdleData() {}
};
IdleQueryLinux::IdleQueryLinux() : idle_data_(new IdleData()) {}
-@@ -40,16 +17,7 @@
+@@ -35,16 +17,7 @@
IdleQueryLinux::~IdleQueryLinux() {}
int IdleQueryLinux::IdleTime() {
-- if (!idle_data_->mit_info || !idle_data_->display)
+- if (!idle_data_->mit_info)
- return 0;
-
-- if (XScreenSaverQueryInfo(idle_data_->display,
-- RootWindow(idle_data_->display, 0),
+- if (XScreenSaverQueryInfo(ui::GetXDisplay(),
+- RootWindow(ui::GetXDisplay(), 0),
- idle_data_->mit_info)) {
- return (idle_data_->mit_info->idle) / 1000;
- } else {
@@ -56,9 +51,9 @@
}
} // namespace browser
---- chromium-13.0.754.0.orig/chrome/chrome.gyp
-+++ chromium-13.0.754.0/chrome/chrome.gyp
-@@ -673,11 +673,6 @@
+--- chromium-17.0.942.0.orig/chrome/chrome.gyp
++++ chromium-17.0.942.0/chrome/chrome.gyp
+@@ -530,11 +530,6 @@
'dependencies': [
'../build/linux/system.gyp:gtk',
],
@@ -70,9 +65,9 @@
}],
['OS=="linux" and chromeos==1', {
'include_dirs': [
---- chromium-13.0.754.0.orig/chrome/chrome_common.gypi
-+++ chromium-13.0.754.0/chrome/chrome_common.gypi
-@@ -262,7 +262,6 @@
+--- chromium-17.0.942.0.orig/chrome/chrome_common.gypi
++++ chromium-17.0.942.0/chrome/chrome_common.gypi
+@@ -257,7 +257,6 @@
'libraries': [
'-lX11',
'-lXrender',
@@ -80,3 +75,17 @@
'-lXext',
],
},
+--- chromium-17.0.942.0.orig/chrome/chrome_browser.gypi
++++ chromium-17.0.942.0/chrome/chrome_browser.gypi
+@@ -4260,11 +4260,6 @@
+ ],
+ }],
+ ['os_posix == 1 and OS != "mac"', {
+- 'link_settings': {
+- 'libraries': [
+- '-lXss',
+- ],
+- },
+ 'conditions': [
+ ['linux_breakpad==1', {
+ 'sources': [
diff --git a/testing/chromium/chromium-no-sbrk.patch b/testing/chromium/chromium-no-sbrk.patch
deleted file mode 100644
index 347896c3f..000000000
--- a/testing/chromium/chromium-no-sbrk.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/malloc_hook.cc
-+++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/malloc_hook.cc
-@@ -491,16 +491,6 @@
- return result;
- }
-
--// libc's version:
--extern "C" void* __sbrk(ptrdiff_t increment);
--
--extern "C" void* sbrk(ptrdiff_t increment) __THROW {
-- MallocHook::InvokePreSbrkHook(increment);
-- void *result = __sbrk(increment);
-- MallocHook::InvokeSbrkHook(result, increment);
-- return result;
--}
--
- /*static*/void* MallocHook::UnhookedMMap(void *start, size_t length, int prot,
- int flags, int fd, off_t offset) {
- return do_mmap64(start, length, prot, flags, fd, offset);
diff --git a/testing/chromium/chromium-tcmalloc.patch b/testing/chromium/chromium-tcmalloc.patch
deleted file mode 100644
index 3674d1ee4..000000000
--- a/testing/chromium/chromium-tcmalloc.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/symbolize.cc
-+++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/symbolize.cc
-@@ -86,7 +86,7 @@
- return 0; // TODO(csilvers): get argv[0] somehow
- #else
- // All this work is to do two-way communication. ugh.
-- extern char* program_invocation_name; // gcc provides this
-+ extern const char* program_invocation_name; // gcc provides this
- int *child_in = NULL; // file descriptors
- int *child_out = NULL; // for now, we don't worry about child_err
- int child_fds[5][2]; // socketpair may be called up to five times below
---- chromium-13.0.754.0.orig/third_party/tcmalloc/chromium/src/tcmalloc.cc
-+++ chromium-13.0.754.0/third_party/tcmalloc/chromium/src/tcmalloc.cc
-@@ -213,8 +213,6 @@
- void* tc_pvalloc(size_t __size) __THROW
- ATTRIBUTE_SECTION(google_malloc);
-
-- void tc_malloc_stats(void) __THROW
-- ATTRIBUTE_SECTION(google_malloc);
- int tc_mallopt(int cmd, int value) __THROW
- ATTRIBUTE_SECTION(google_malloc);
- #ifdef HAVE_STRUCT_MALLINFO // struct mallinfo isn't defined on freebsd
-@@ -285,7 +283,6 @@
- void* pvalloc(size_t size) __THROW ALIAS("tc_pvalloc");
- int posix_memalign(void** r, size_t a, size_t s) __THROW
- ALIAS("tc_posix_memalign");
-- void malloc_stats(void) __THROW ALIAS("tc_malloc_stats");
- int mallopt(int cmd, int value) __THROW ALIAS("tc_mallopt");
- #ifdef HAVE_STRUCT_MALLINFO
- struct mallinfo mallinfo(void) __THROW ALIAS("tc_mallinfo");
-@@ -322,7 +319,6 @@
- int posix_memalign(void** r, size_t a, size_t s) __THROW {
- return tc_posix_memalign(r, a, s);
- }
-- void malloc_stats(void) __THROW { tc_malloc_stats(); }
- int mallopt(int cmd, int v) __THROW { return tc_mallopt(cmd, v); }
- #ifdef HAVE_STRUCT_MALLINFO
- struct mallinfo mallinfo(void) __THROW { return tc_mallinfo(); }
-@@ -1232,10 +1228,6 @@
-
- // Helpers for use by exported routines below:
-
--inline void do_malloc_stats() {
-- PrintStats(1);
--}
--
- inline int do_mallopt(int cmd, int value) {
- return 1; // Indicates error
- }
-@@ -1535,10 +1527,6 @@
- void* result = do_memalign_or_cpp_memalign(pagesize, size);
- MallocHook::InvokeNewHook(result, size);
- return result;
--}
--
--extern "C" PERFTOOLS_DLL_DECL void tc_malloc_stats(void) __THROW {
-- do_malloc_stats();
- }
-
- extern "C" PERFTOOLS_DLL_DECL int tc_mallopt(int cmd, int value) __THROW {
diff --git a/testing/chromium/chromium-uclibc-resolv.patch b/testing/chromium/chromium-uclibc-resolv.patch
index 736b520a1..decc14bc9 100644
--- a/testing/chromium/chromium-uclibc-resolv.patch
+++ b/testing/chromium/chromium-uclibc-resolv.patch
@@ -1,35 +1,88 @@
---- chromium-13.0.754.0.orig/net/base/dnsrr_resolver.cc
-+++ chromium-13.0.754.0/net/base/dnsrr_resolver.cc
-@@ -185,16 +185,20 @@
+--- chromium-17.0.942.0.orig/net/base/dnsrr_resolver.cc
++++ chromium-17.0.942.0/net/base/dnsrr_resolver.cc
+@@ -187,7 +187,7 @@
}
bool r = true;
-+#if defined(OS_POSIX) && !defined(__UCLIBC__)
+-#if defined(OS_MACOSX) || defined(OS_OPENBSD)
++#if !defined(__UCLIBC__) && (defined(OS_MACOSX) || defined(OS_OPENBSD))
if ((_res.options & RES_INIT) == 0) {
- if (res_ninit(&_res) != 0)
- r = false;
- }
-+#else
-+ r = true;
-+#endif
+ #if defined(OS_OPENBSD)
+ if (res_init() != 0)
+--- chromium-17.0.942.0.orig/net/base/host_resolver_proc.cc
++++ chromium-17.0.942.0/net/base/host_resolver_proc.cc
+@@ -184,7 +184,7 @@
+ hints.ai_socktype = SOCK_STREAM;
+
+ #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
+- !defined(OS_ANDROID)
++ !defined(OS_ANDROID) && !defined(__UCLIBC__)
+ DnsReloaderMaybeReload();
+ #endif
+ int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
+--- chromium-17.0.942.0.orig/net/base/dns_reloader.cc
++++ chromium-17.0.942.0/net/base/dns_reloader.cc
+@@ -4,7 +4,7 @@
- if (r) {
- unsigned long saved_options = _res.options;
- r = Do();
+ #include "net/base/dns_reloader.h"
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__)
- if (!r && DnsReloadTimerHasExpired()) {
- // When there's no network connection, _res may not be initialized by
- // getaddrinfo. Therefore, we call res_nclose only when there are ns
---- chromium-13.0.754.0.orig/net/base/host_resolver_proc.cc
-+++ chromium-13.0.754.0/net/base/host_resolver_proc.cc
-@@ -198,7 +198,7 @@
++#if 0
- int err = getaddrinfo(host.c_str(), NULL, &hints, &ai);
- bool should_retry = false;
+ #include <resolv.h>
+
+--- chromium-17.0.942.0.orig/net/base/dnsrr_resolver.cc
++++ chromium-17.0.942.0/net/base/dnsrr_resolver.cc
+@@ -187,9 +187,9 @@
+ }
+
+ bool r = true;
+-#if !defined(__UCLIBC__) && (defined(OS_MACOSX) || defined(OS_OPENBSD))
++#if defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(__UCLIBC__)
+ if ((_res.options & RES_INIT) == 0) {
+-#if defined(OS_OPENBSD)
++#if defined(OS_OPENBSD) || defined(__UCLIBC__)
+ if (res_init() != 0)
+ #else
+ if (res_ninit(&_res) != 0)
+--- chromium-17.0.942.0.orig/net/dns/dns_config_service_posix.cc
++++ chromium-17.0.942.0/net/dns/dns_config_service_posix.cc
+@@ -30,7 +30,7 @@
+ success_(false) {}
+
+ void DoWork() OVERRIDE {
+-#if defined(OS_OPENBSD)
++#if defined(OS_OPENBSD) || defined(__UCLIBC__)
+ if ((res_init() == 0) && (_res.options & RES_INIT)) {
+ success_ = ConvertResToConfig(_res, &dns_config_);
+ #else
+@@ -45,7 +45,7 @@
+ }
+ #if defined(OS_MACOSX)
+ res_ndestroy(&res);
+-#elif !defined(OS_OPENBSD)
++#elif !defined(OS_OPENBSD) && !defined(__UCLIBC__)
+ res_nclose(&res);
+ #endif
+ }
+@@ -132,7 +132,9 @@
+ #if defined(RES_ROTATE)
+ dns_config->rotate = res.options & RES_ROTATE;
+ #endif
++#if defined(RES_USE_EDNS0)
+ dns_config->edns0 = res.options & RES_USE_EDNS0;
++#endif
+
+ return true;
+ }
+--- chromium-17.0.942.0.orig/net/base/host_resolver_impl.cc
++++ chromium-17.0.942.0/net/base/host_resolver_impl.cc
+@@ -1081,7 +1081,7 @@
+ additional_resolver_flags_ |= HOST_RESOLVER_LOOPBACK_ONLY;
+ #endif
+ NetworkChangeNotifier::AddIPAddressObserver(this);
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && !defined(__UCLIBC__)
- // If we fail, re-initialise the resolver just in case there have been any
- // changes to /etc/resolv.conf and retry. See http://crbug.com/11380 for info.
- if (err && DnsReloadTimerHasExpired()) {
+ EnsureDnsReloaderInit();
+ NetworkChangeNotifier::AddDNSObserver(this);
+ #endif
diff --git a/testing/chromium/chromium-webrtc.patch b/testing/chromium/chromium-webrtc.patch
new file mode 100644
index 000000000..66bbcbd1d
--- /dev/null
+++ b/testing/chromium/chromium-webrtc.patch
@@ -0,0 +1,10 @@
+--- chromium-17.0.942.0.orig/third_party/webrtc/system_wrappers/source/cpu_info.cc
++++ chromium-17.0.942.0/third_party/webrtc/system_wrappers/source/cpu_info.cc
+@@ -20,6 +20,7 @@
+ #elif defined(WEBRTC_ANDROID)
+ // Not implemented yet, might be possible to use Linux implementation
+ #else // defined(WEBRTC_LINUX)
++#include <unistd.h>
+ #include <sys/sysinfo.h>
+ #endif
+
diff --git a/testing/cifs-utils/APKBUILD b/testing/cifs-utils/APKBUILD
new file mode 100644
index 000000000..80b1bb1ef
--- /dev/null
+++ b/testing/cifs-utils/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=cifs-utils
+pkgver=4.9
+pkgrel=0
+pkgdesc="CIFS filesystem user-space tools"
+url="http://wiki.samba.org/index.php/LinuxCIFS_utils"
+arch="all"
+license="GPL"
+depends="libcap-dev keyutils-dev"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2"
+_builddir=$srcdir/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ rm -r $pkgdir/usr/bin
+ # set mount.cifs uid, to enable none root mounting form fstab
+ chmod +s $pkgdir/sbin/mount.cifs
+}
+
+md5sums="908d904e6b9e58f09f530de151a88ef8 cifs-utils-4.9.tar.bz2"
diff --git a/testing/cluster-glue/1.0.7-fix_configure.patch b/testing/cluster-glue/1.0.7-fix_configure.patch
new file mode 100644
index 000000000..fff85b003
--- /dev/null
+++ b/testing/cluster-glue/1.0.7-fix_configure.patch
@@ -0,0 +1,13 @@
+Fix enable/disable of libnet
+
+--- a/configure.ac 2010-12-06 18:17:03.000000000 +0100
++++ b/configure.ac 2011-01-11 13:22:16.271977100 +0100
+@@ -928,7 +928,7 @@
+
+ AC_ARG_ENABLE([libnet],
+ [ --enable-libnet Use libnet for ARP based funcationality, [default=try]],
+- [enable_libnet=$withval], [enable_libnet=try])
++ [], [enable_libnet=try])
+
+ libnet=""
+ libnet_version="none"
diff --git a/testing/cluster-glue/APKBUILD b/testing/cluster-glue/APKBUILD
new file mode 100644
index 000000000..06134391f
--- /dev/null
+++ b/testing/cluster-glue/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=cluster-glue
+pkgver=1.0.8
+pkgrel=0
+pkgdesc="A set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack."
+url="http://linux-ha.org/wiki/Cluster_Glue"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="net-snmp-dev libxml2-dev glib-dev bzip2-dev curl-dev e2fsprogs-dev"
+makedepends="$depends_dev libtool autoconf automake libltdl libuuid"
+install=""
+pkggroups="haclient"
+pkgusers="hacluster"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="http://hg.linux-ha.org/glue/archive/glue-$pkgver.tar.bz2
+ 1.0.7-fix_configure.patch
+ $pkgname.post-install
+ $pkgname.pre-install"
+
+_builddir="$srcdir"/Reusable-Cluster-Components-glue--glue-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --localstatedir=/var \
+ --enable-fatal-warnings=no \
+ --with-daemon-group="$pkggroups" \
+ --with-daemon-user="$pkgusers"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="${pkgdir}" install || return 1
+ find "$pkgdir"/usr/lib -name *.la -delete || return 1
+ rm -rf "$pkgdir"/etc/init.d
+ # initd file needs fixing
+ #install -m755 -D "$srcdir"/ha_logd.initd \
+ # "$pkgdir"/etc/init.d/ha_logd || return 1
+}
+
+libs() {
+ pkgdesc="A collection of libraries that are useful for writing cluster managers such as Pacemaker."
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.so.* \
+ "$subpkgdir"/usr/lib/ || return 1
+}
+
+md5sums="6cbeaed8b108cfac9ae693e8ab333283 glue-1.0.8.tar.bz2
+49cf61a00828bfc4590b308baabe429d 1.0.7-fix_configure.patch
+d63b0532d08e602d714e8cabaa628158 cluster-glue.post-install
+fb252beedb92eab87b07c3547f18a4c3 cluster-glue.pre-install"
diff --git a/testing/cluster-glue/cluster-glue.post-install b/testing/cluster-glue/cluster-glue.post-install
new file mode 100644
index 000000000..da7c4fe93
--- /dev/null
+++ b/testing/cluster-glue/cluster-glue.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+chown -R hacluster:haclient /var/lib/heartbeat/cores
+chown -R hacluster:haclient /var/lib/heartbeat/lrm
+
+exit 0
+
diff --git a/testing/cluster-glue/cluster-glue.pre-install b/testing/cluster-glue/cluster-glue.pre-install
new file mode 100644
index 000000000..4e7f2f5ba
--- /dev/null
+++ b/testing/cluster-glue/cluster-glue.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup haclient 2>/dev/null
+adduser hacluster \
+ -h /var/lib/heartbeat/cores/hacluster \
+ -G haclient \
+ -s /sbin/nologin \
+ 2>/dev/null
+
+exit 0
+
diff --git a/testing/cluster-glue/ha_logd.initd b/testing/cluster-glue/ha_logd.initd
new file mode 100644
index 000000000..13a5bf321
--- /dev/null
+++ b/testing/cluster-glue/ha_logd.initd
@@ -0,0 +1,46 @@
+#!/sbin/runscript
+
+PIDFILE=/var/run/heartbeat-logd.pid
+
+depend() {
+ need net
+}
+
+BINARY="/usr/%libdir%/heartbeat/ha_logd"
+USER="hacluster"
+GROUP="haclient"
+CONFIG="/etc/logd.cf"
+LOGFILE="/var/log/ha_logger.log"
+
+start() {
+ ebegin "Starting heartbeat non-blocking log service"
+
+ COMMAND_ARGS="-d"
+ [[ -f "${CONFIG}" ]] && COMMAND_ARGS+=" -c ${CONFIG}"
+
+ if [ -n "${RC_UNAME}" ]; then
+ PARAMS="--background --stdout '${LOGFILE}' --stderr '${LOGFILE}' -- ${ARGS}"
+ else
+ PARAMS="-- ${ARGS} >> '${LOGFILE}' 2>&1 &"
+ fi
+ eval ${CHRT} start-stop-daemon \
+ --quiet --start --chdir "${RUNTIMEDIR}" \
+ --pidfile "${PIDFILE}" \
+ --make-pidfile \
+ --exec ${BINARY} ${COMMAND_ARGS} --user "${USER}:${GROUP}" \
+ ${PARAMS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping heartbeat non-blocking log service"
+ start-stop-daemon --stop --retry 3 --quiet --exec "${BINARY}"
+ rm -f "${PIDFILE}"
+ eend $?
+}
+
+restart() {
+ stop
+ sleep 3
+ start
+}
diff --git a/testing/core-iscsi-tools/APKBUILD b/testing/core-iscsi-tools/APKBUILD
deleted file mode 100644
index 8fcee250d..000000000
--- a/testing/core-iscsi-tools/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=core-iscsi-tools
-pkgver=3.5
-pkgrel=0
-pkgdesc="High-Performance iSCSI Initiator"
-url="http://www.linux-iscsi.org/wiki/Core-iSCSI"
-arch="all"
-license="GPL"
-depends=
-depends_dev=
-makedepends="$depends_dev"
-install=
-subpackages="$pkgname-doc"
-#kernel.org is not yet fully operational
-#source="http://www.kernel.org/pub/linux/utils/storage/iscsi/$pkgname-v$pkgver.tar.bz2
-source="http://bo.mirror.garr.it/mirrors/kernel.org/linux/utils/storage/iscsi/${pkgname}-v${pkgver}.tar.gz
- Makefile-fix-DESTDIR.patch"
-
-_builddir="$srcdir"/$pkgname-v${pkgver}
-
-prepare() {
- cd "$_builddir"
- patch -p1 < ../Makefile-fix-DESTDIR.patch
-}
-
-package() {
- cd "$_builddir"
- echo creating pkgdir/sbin
- make DESTDIR="$pkgdir" install
-}
-
-md5sums="88fbcc7e24d77aafb68c4ab1f51996ff core-iscsi-tools-v3.5.tar.gz
-1ab0237213bac4bcbbe20ae99dcfdf44 Makefile-fix-DESTDIR.patch"
diff --git a/testing/core-iscsi-tools/Makefile-fix-DESTDIR.patch b/testing/core-iscsi-tools/Makefile-fix-DESTDIR.patch
deleted file mode 100644
index 2d2ce2911..000000000
--- a/testing/core-iscsi-tools/Makefile-fix-DESTDIR.patch
+++ /dev/null
@@ -1,279 +0,0 @@
---- a/core-iscsi/Makefile
-+++ b/core-iscsi/Makefile
-@@ -10,6 +10,7 @@
- MKNOD = mknod
- RM = rm
- LN = ln
-+MKDIR = mkdir
-
- OS:=$(shell uname)
- ARCH:=$(shell uname -m)
-@@ -73,139 +74,154 @@
- $(MKNOD) $(DESTDIR)/dev/iscsi1 c 10 203
-
- install: check-dest all devpts
-+ $(MKDIR) -p $(DESTDIR)$(sbindir)
-+ $(MKDIR) -p $(DESTDIR)$(mandir)
- $(RM) -f $(DESTDIR)$(sbindir)/$(EXECUTABLES)
-
- localinstall: all
-- $(RM) -f /sbin/initiator-authd
-- install initiator_authd /sbin/initiator-authd
-- $(RM) -f /sbin/initiator-ctl
-- install initiator_ctl /sbin/initiator-ctl
-+ $(MKDIR) -p $(DESTDIR)$(sbindir)
-+ $(MKDIR) -p $(DESTDIR)$(mandir)
-+ $(RM) -f $(DESTDIR)/sbin/initiator-authd
-+ install initiator_authd $(DESTDIR)/sbin/initiator-authd
-+ $(RM) -f $(DESTDIR)/sbin/initiator-ctl
-+ install initiator_ctl $(DESTDIR)/sbin/initiator-ctl
-
- initiator_install: all
-- $(RM) -f /sbin/initiator-authd
-- install initiator_authd /sbin/initiator-authd
-- $(RM) -f /sbin/initiator-ctl
-- install initiator_ctl /sbin/initiator-ctl
-- install initiator_iname /sbin/initiator-iname
-- install man/initiator-ctl.1 /usr/share/man/man1
-- install man/initiator.5 /usr/share/man/man5
-- install man/initiator_auth.5 /usr/share/man/man5
-- install man/iscsi_device_maps.5 /usr/share/man/man5
-+ $(MKDIR) -p $(DESTDIR)$(sbindir)
-+ $(MKDIR) -p $(DESTDIR)$(mandir)
-+ $(RM) -f $(DESTDIR)/sbin/initiator-authd
-+ install initiator_authd $(DESTDIR)/sbin/initiator-authd
-+ $(RM) -f $(DESTDIR)/sbin/initiator-ctl
-+ install initiator_ctl $(DESTDIR)/sbin/initiator-ctl
-+ install initiator_iname $(DESTDIR)/sbin/initiator-iname
-+ install man/initiator-ctl.1 $(DESTDIR)/usr/share/man/man1
-+ install man/initiator.5 $(DESTDIR)/usr/share/man/man5
-+ install man/initiator_auth.5 $(DESTDIR)/usr/share/man/man5
-+ install man/iscsi_device_maps.5 $(DESTDIR)/usr/share/man/man5
-
-- if [ ! -d /etc/iscsi ]; then \
-- mkdir -p /etc/iscsi; \
-+ if [ ! -d $(DESTDIR)/etc/iscsi ]; then \
-+ mkdir -p $(DESTDIR)/etc/iscsi; \
- fi
-- if [ ! -d /etc/sysconfig ]; then \
-- mkdir -p /etc/sysconfig; \
-+ if [ ! -d $(DESTDIR)/etc/sysconfig ]; then \
-+ mkdir -p $(DESTDIR)/etc/sysconfig; \
- fi
-- if [ ! -d /etc/rc.d/init.d ]; then \
-- mkdir -p /etc/rc.d/init.d; \
-+ if [ ! -d $(DESTDIR)/etc/rc.d/init.d ]; then \
-+ mkdir -p $(DESTDIR)/etc/rc.d/init.d; \
- fi
-
-- install -c -m 755 scripts/install.channel /etc/iscsi/install.channel
-- if [ ! -f /etc/sysconfig/initiator ]; then \
-- install -c -m 644 conf/initiator-sysconfig /etc/sysconfig/initiator; \
-+ install -c -m 755 scripts/install.channel $(DESTDIR)/etc/iscsi/install.channel
-+ if [ ! -f $(DESTDIR)/etc/sysconfig/initiator ]; then \
-+ install -c -m 644 conf/initiator-sysconfig $(DESTDIR)/etc/sysconfig/initiator; \
- fi
-- if [ ! -f /etc/sysconfig/iscsi_device_maps ]; then \
-- install -c -m 644 conf/devicemaps-sysconfig /etc/sysconfig/iscsi_device_maps; \
-+ if [ ! -f $(DESTDIR)/etc/sysconfig/iscsi_device_maps ]; then \
-+ install -c -m 644 conf/devicemaps-sysconfig $(DESTDIR)/etc/sysconfig/iscsi_device_maps; \
- fi
-- if [ ! -f /etc/sysconfig/initiator_auth ]; then \
-- install -c -m 600 conf/initiator_auth-sysconfig /etc/sysconfig/initiator_auth; \
-+ if [ ! -f $(DESTDIR)/etc/sysconfig/initiator_auth ]; then \
-+ install -c -m 600 conf/initiator_auth-sysconfig $(DESTDIR)/etc/sysconfig/initiator_auth; \
- fi
-
-- install -c -m 755 scripts/rc.initiator /etc/rc.d/init.d/initiator
-- install -c -m 755 scripts/proc.iscsi-map-channel /sbin/proc.iscsi-map-channel
-- install -c -m 755 scripts/sysfs.iscsi-map-channel /sbin/sysfs.iscsi-map-channel
-- install -c -m 755 scripts/iscsi-map-channel /sbin/iscsi-map-channel
-- install -c -m 755 scripts/proc.iscsi-unmap-channel /sbin/proc.iscsi-unmap-channel
-- install -c -m 755 scripts/sysfs.iscsi-unmap-channel /sbin/sysfs.iscsi-unmap-channel
-- install -c -m 755 scripts/iscsi-unmap-channel /sbin/iscsi-unmap-channel
-- install -c -m 755 scripts/iscsi-remap-channel /sbin/iscsi-remap-channel
-- install -c -m 755 scripts/iscsi-mount /sbin/iscsi-mount
-- install -c -m 755 scripts/iscsi-umount /sbin/iscsi-umount
-+ install -c -m 755 scripts/rc.initiator $(DESTDIR)/etc/rc.d/init.d/initiator
-+ install -c -m 755 scripts/proc.iscsi-map-channel $(DESTDIR)/sbin/proc.iscsi-map-channel
-+ install -c -m 755 scripts/sysfs.iscsi-map-channel $(DESTDIR)/sbin/sysfs.iscsi-map-channel
-+ install -c -m 755 scripts/iscsi-map-channel $(DESTDIR)/sbin/iscsi-map-channel
-+ install -c -m 755 scripts/proc.iscsi-unmap-channel $(DESTDIR)/sbin/proc.iscsi-unmap-channel
-+ install -c -m 755 scripts/sysfs.iscsi-unmap-channel $(DESTDIR)/sbin/sysfs.iscsi-unmap-channel
-+ install -c -m 755 scripts/iscsi-unmap-channel $(DESTDIR)/sbin/iscsi-unmap-channel
-+ install -c -m 755 scripts/iscsi-remap-channel $(DESTDIR)/sbin/iscsi-remap-channel
-+ install -c -m 755 scripts/iscsi-mount $(DESTDIR)/sbin/iscsi-mount
-+ install -c -m 755 scripts/iscsi-umount $(DESTDIR)/sbin/iscsi-umount
-
- uninstall:
-- rm -rf /sbin/initiator-authd
-- rm -rf /sbin/initiator-ctl
-- rm -rf /usr/share/man/man1/initiator-ctl.1
-- rm -rf /usr/share/man/man5/initiator.5
-- rm -rf /usr/share/man/man5/initiator_auth.5
-- rm -rf /usr/share/man/man5/iscsi_device_maps.5
-- rm -rf /etc/rc.d/init.d/initiator
-- rm -rf /sbin/proc.iscsi-map-channel
-- rm -rf /sbin/sysfs.iscsi-map-channel
-- rm -rf /sbin/iscsi-map-channel
-- rm -rf /sbin/proc.iscsi-unmap-channel
-- rm -rf /sbin/sysfs.iscsi-unmap-channel
-- rm -rf /sbin/iscsi-unmap-channel
-- rm -rf /sbin/iscsi-remap-channel
-- rm -rf /sbin/iscsi-mount
-- rm -rf /sbin/iscsi-umount
-+ rm -rf $(DESTDIR)/sbin/initiator-authd
-+ rm -rf $(DESTDIR)/sbin/initiator-ctl
-+ rm -rf $(DESTDIR)/usr/share/man/man1/initiator-ctl.1
-+ rm -rf $(DESTDIR)/usr/share/man/man5/initiator.5
-+ rm -rf $(DESTDIR)/usr/share/man/man5/initiator_auth.5
-+ rm -rf $(DESTDIR)/usr/share/man/man5/iscsi_device_maps.5
-+ rm -rf $(DESTDIR)/etc/rc.d/init.d/initiator
-+ rm -rf $(DESTDIR)/sbin/proc.iscsi-map-channel
-+ rm -rf $(DESTDIR)/sbin/sysfs.iscsi-map-channel
-+ rm -rf $(DESTDIR)/sbin/iscsi-map-channel
-+ rm -rf $(DESTDIR)/sbin/proc.iscsi-unmap-channel
-+ rm -rf $(DESTDIR)/sbin/sysfs.iscsi-unmap-channel
-+ rm -rf $(DESTDIR)/sbin/iscsi-unmap-channel
-+ rm -rf $(DESTDIR)/sbin/iscsi-remap-channel
-+ rm -rf $(DESTDIR)/sbin/iscsi-mount
-+ rm -rf $(DESTDIR)/sbin/iscsi-umount
-
- initiator_install_config: all
-- $(RM) -f /sbin/initiator-authd
-- install initiator_authd /sbin/initiator-authd
-- $(RM) -f /sbin/initiator-ctl
-- install initiator_ctl /sbin/initiator-ctl
-- install initiator_iname /sbin/initiator-iname
-- install man/initiator-ctl.1 /usr/share/man/man1
-+ $(RM) -f $(DESTDIR)/sbin/initiator-authd
-+ install initiator_authd $(DESTDIR)/sbin/initiator-authd
-+ $(RM) -f $(DESTDIR)/sbin/initiator-ctl
-+ install initiator_ctl $(DESTDIR)/sbin/initiator-ctl
-+ install initiator_iname $(DESTDIR)/sbin/initiator-iname
-+ install man/initiator-ctl.1 $(DESTDIR)/usr/share/man/man1
-
-- if [ ! -d /etc/iscsi ]; then \
-- mkdir -p /etc/iscsi; \
-+ if [ ! -d $(DESTDIR)/etc/iscsi ]; then \
-+ mkdir -p $(DESTDIR)/etc/iscsi; \
- fi
-- if [ ! -d /etc/sysconfig ]; then \
-- mkdir -p /etc/sysconfig; \
-+ if [ ! -d $(DESTDIR)/etc/sysconfig ]; then \
-+ mkdir -p $(DESTDIR)/etc/sysconfig; \
- fi
-- if [ ! -d /etc/rc.d/init.d ]; then \
-- mkdir -p /etc/rc.d/init.d; \
-+ if [ ! -d $(DESTDIR)/etc/rc.d/init.d ]; then \
-+ mkdir -p $(DESTDIR)/etc/rc.d/init.d; \
- fi
-
-- install -c -m 755 scripts/install.channel /etc/iscsi/install.channel
-- if [ -f /etc/sysconfig/initiator ]; then \
-- cp /etc/sysconfig/initiator /etc/sysconfig/initiator.old; \
-+ install -c -m 755 scripts/install.channel $(DESTDIR)/etc/iscsi/install.channel
-+ if [ -f $(DESTDIR)/etc/sysconfig/initiator ]; then \
-+ cp /etc/sysconfig/initiator $(DESTDIR)/etc/sysconfig/initiator.old; \
- fi
-- install -c -m 644 conf/initiator-sysconfig /etc/sysconfig/initiator;
-- if [ -f /etc/sysconfig/iscsi_device_maps ]; then \
-- cp /etc/sysconfig/iscsi_device_maps /etc/sysconfig/iscsi_device_maps.old; \
-+ install -c -m 644 conf/initiator-sysconfig $(DESTDIR)/etc/sysconfig/initiator;
-+ if [ -f $(DESTDIR)/etc/sysconfig/iscsi_device_maps ]; then \
-+ cp $(DESTDIR)/etc/sysconfig/iscsi_device_maps \
-+ $(DESTDIR)/etc/sysconfig/iscsi_device_maps.old; \
- fi
-- install -c -m 644 conf/devicemaps-sysconfig /etc/sysconfig/iscsi_device_maps;
-- if [ -f /etc/sysconfig/initiator_auth ]; then \
-- cp /etc/sysconfig/initiator_auth /etc/sysconfig/initiator_auth.old; \
-+ install -c -m 644 conf/devicemaps-sysconfig $(DESTDIR)/etc/sysconfig/iscsi_device_maps;
-+ if [ -f $(DESTDIR)/etc/sysconfig/initiator_auth ]; then \
-+ cp $(DESTDIR)/etc/sysconfig/initiator_auth \
-+ $(DESTDIR)/etc/sysconfig/initiator_auth.old; \
- fi
-- install -c -m 600 conf/initiator_auth-sysconfig /etc/sysconfig/initiator_auth;
-+ install -c -m 600 conf/initiator_auth-sysconfig $(DESTDIR)/etc/sysconfig/initiator_auth;
-
-- install -c -m 755 scripts/rc.initiator /etc/rc.d/init.d/initiator
-- install -c -m 755 scripts/proc.iscsi-map-channel /sbin/proc.iscsi-map-channel
-- install -c -m 755 scripts/sysfs.iscsi-map-channel /sbin/sysfs.iscsi-map-channel
-- install -c -m 755 scripts/iscsi-map-channel /sbin/iscsi-map-channel
-- install -c -m 755 scripts/proc.iscsi-unmap-channel /sbin/proc.iscsi-unmap-channel
-- install -c -m 755 scripts/sysfs.iscsi-unmap-channel /sbin/sysfs.iscsi-unmap-channel
-- install -c -m 755 scripts/iscsi-unmap-channel /sbin/iscsi-unmap-channel
-- install -c -m 755 scripts/iscsi-mount /sbin/iscsi-mount
-- install -c -m 755 scripts/iscsi-umount /sbin/iscsi-umount
-+ install -c -m 755 scripts/rc.initiator $(DESTDIR)/etc/rc.d/init.d/initiator
-+ install -c -m 755 scripts/proc.iscsi-map-channel $(DESTDIR)/sbin/proc.iscsi-map-channel
-+ install -c -m 755 scripts/sysfs.iscsi-map-channel $(DESTDIR)/sbin/sysfs.iscsi-map-channel
-+ install -c -m 755 scripts/iscsi-map-channel $(DESTDIR)/sbin/iscsi-map-channel
-+ install -c -m 755 scripts/proc.iscsi-unmap-channel $(DESTDIR)/sbin/proc.iscsi-unmap-channel
-+ install -c -m 755 scripts/sysfs.iscsi-unmap-channel $(DESTDIR)/sbin/sysfs.iscsi-unmap-channel
-+ install -c -m 755 scripts/iscsi-unmap-channel $(DESTDIR)/sbin/iscsi-unmap-channel
-+ install -c -m 755 scripts/iscsi-mount $(DESTDIR)/sbin/iscsi-mount
-+ install -c -m 755 scripts/iscsi-umount $(DESTDIR)/sbin/iscsi-umount
-
- add_initd:
-- if [ -d /etc/rc.d/rc0.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc0.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc0.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc0.d/K02initiator; \
- fi
-- if [ -d /etc/rc.d/rc1.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc1.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc1.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc1.d/K02initiator; \
- fi
-
-- if [ -d /etc/rc.d/rc2.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc2.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc2.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc2.d/K02initiator; \
- fi
-- if [ -d /etc/rc.d/rc3.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc3.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc3.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc3.d/K02initiator; \
- fi
-- if [ -d /etc/rc.d/rc4.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc4.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc4.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc4.d/K02initiator; \
- fi
-- if [ -d /etc/rc.d/rc5.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc5.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc5.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc5.d/K02initiator; \
- fi
-- if [ -d /etc/rc.d/rc6.d ]; then \
-- ln -s /etc/rc.d/init.d/initiator /etc/rc.d/rc6.d/K02initiator; \
-+ if [ -d $(DESTDIR)/etc/rc.d/rc6.d ]; then \
-+ ln -s $(DESTDIR)/etc/rc.d/init.d/initiator \
-+ $(DESTDIR)/etc/rc.d/rc6.d/K02initiator; \
- fi
-
- clean:
---- a/isnsclient-v1.8/Makefile
-+++ b/isnsclient-v1.8/Makefile
-@@ -90,10 +90,10 @@
- $(CC) -I$(INCDIR) $(CFLAGS) -lpthread -o isnsc $(SRCS)
-
- install: all
-- /bin/cp isnsc /sbin/
-- /bin/cp scripts/* /sbin/
-- if [ ! -f /var/spool/isns ]; then \
-- mkdir -p /var/spool/isns; \
-+ /bin/cp isnsc $(DESTDIR)/sbin/
-+ /bin/cp scripts/* $(DESTDIR)/sbin/
-+ if [ ! -f $(DESTDIR)/var/spool/isns ]; then \
-+ mkdir -p $(DESTDIR)/var/spool/isns; \
- fi
-
- tarball :
diff --git a/testing/corosync/APKBUILD b/testing/corosync/APKBUILD
new file mode 100644
index 000000000..6b3ed8274
--- /dev/null
+++ b/testing/corosync/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=corosync
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="The Corosync Cluster Engine and Application Programming Interfaces"
+url="http://www.corosync.org/"
+arch="all"
+license="BSD2"
+depends=""
+depends_dev="nss-dev net-snmp-dev"
+makedepends="$depends_dev automake autoconf"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="ftp://ftp:downloads@corosync.org/downloads/corosync-$pkgver/corosync-$pkgver.tar.gz
+ $pkgname.initd"
+
+_builddir="$srcdir"/corosync-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-snmp \
+ --enable-nss \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+}
+
+libs() {
+ pkgdesc="The Corosync Cluster Engine Libraries"
+ mkdir -p "$subpkgdir"/usr/lib
+ cd "$pkgdir"/usr/lib
+ mv libcfg.so.* libcpg.so.* libconfdb.so.* libevs.so.* \
+ libtotem_pg.so.* liblogsys.so.* libcoroipcc.so.* \
+ libcoroipcs.so.* libquorum.so.* libvotequorum.so.* \
+ libpload.so.* libsam.so.* \
+ "$subpkgdir"/usr/lib/ || return 1
+}
+
+md5sums="061ee5522097fee69475b38a66bf1d6a corosync-1.4.2.tar.gz
+4d18555dfdd036b7a48eb5bdfd0ff053 corosync.initd"
diff --git a/testing/corosync/corosync.initd b/testing/corosync/corosync.initd
new file mode 100644
index 000000000..6c134bd93
--- /dev/null
+++ b/testing/corosync/corosync.initd
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/corosync/files/corosync.initd,v 1.2 2010/11/17 07:07:03 xarthisius Exp $
+
+depend() {
+ need net
+ use logger
+}
+
+start() {
+ ebegin "Starting Corosync Cluster Engine"
+ start-stop-daemon --start -q --exec /usr/sbin/corosync \
+ --pidfile /var/run/corosync.pid --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Corosync Cluster Engine"
+ start-stop-daemon --stop -q --pidfile /var/run/corosync.pid
+ eend $?
+}
diff --git a/testing/cvechecker/APKBUILD b/testing/cvechecker/APKBUILD
new file mode 100644
index 000000000..36752a9a6
--- /dev/null
+++ b/testing/cvechecker/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=cvechecker
+pkgver=3.1
+pkgrel=0
+pkgdesc="A local CVE checker tool"
+url="http://cvechecker.sourceforge.net/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev="libconfig-dev argp-standalone
+ mysql-dev sqlite-dev openssl-dev libcrypto1.0"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://sourceforge.net/projects/cvechecker/files/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+build() {
+ cd "$_builddir"
+ export LIBS="-largp"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-sqlite3 \
+ --enable-mysql
+ make || return 1
+}
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+md5sums="d49e7322703045d32e741ed172be5e69 cvechecker-3.1.tar.gz"
diff --git a/testing/dbmail/APKBUILD b/testing/dbmail/APKBUILD
index 37d10cbf3..bc5c0cad1 100644
--- a/testing/dbmail/APKBUILD
+++ b/testing/dbmail/APKBUILD
@@ -1,29 +1,33 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=dbmail
-pkgver=3.0.0_rc2
-_realpkgver=3.0.0-rc2
-pkgrel=2
+_realpkgver=3.0.0-rc3
+pkgver=${_realpkgver/-/_}
+pkgrel=1
pkgdesc="Fast and scalable sql based mail services"
url="http://dbmail.org"
arch="all"
license="GPL"
+pkgusers="dbmail"
+pkggroups="dbmail"
depends=
depends_dev="openldap-dev libsieve-dev glib-dev gmime-dev
mhash-dev libevent-dev libzdb-dev"
-makedepends="$depends_dev asciidoc xmlto"
+makedepends="$depends_dev asciidoc xmlto automake autoconf"
install=""
-subpackages="$pkgname-doc"
-source="http://www.dbmail.org/download/3.0/dbmail-3.0.0-rc2.tar.gz
- code-cleanups.patch
+subpackages="$pkgname-doc $pkgname-auth-ldap:auth_ldap"
+source="http://www.dbmail.org/download/3.0/dbmail-${_realpkgver}.tar.gz
$pkgname-imapd.initd
$pkgname-lmtpd.initd
$pkgname-pop3d.initd
$pkgname-httpd.initd
$pkgname-timsieved.initd
+ $pkgname.pre-install
+ post-rc3.patch
+ dbmail.conf
"
-_builddir="$srcdir/${pkgname}_${_realpkgver}"
+_builddir="$srcdir/${pkgname}-${_realpkgver}"
prepare() {
local i
@@ -33,18 +37,21 @@ prepare() {
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
+ # we need support for gmine 2.6
+ sed -i 's/gmime-2.4/gmime-2.6/g' configure
}
build() {
cd "$_builddir"
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-sieve \
- --with-ldap
+ --with-ldap \
+ --disable-static
make || return 1
- #make man pages
+ # make man pages
cd "$_builddir/man"
make || return 1
}
@@ -53,7 +60,6 @@ package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/dbmail/*.la || return 1
- install -Dm644 "$pkgname.conf" "$pkgdir/etc/$pkgname.conf.sample"
mkdir -p "$pkgdir/usr/share/$pkgname"
mv sql/* "$pkgdir/usr/share/$pkgname/"
mv "$pkgname.schema" "$pkgdir/usr/share/$pkgname/"
@@ -64,12 +70,25 @@ package() {
#install man pages
cd "$_builddir/man"
make DESTDIR="$pkgdir" install || return 1
+ install -m644 -D "$srcdir"/$pkgname.conf \
+ "$pkgdir"/etc/$pkgname.conf || return 1
+ install -dDo dbmail "$pkgdir"/var/run/dbmail || return 1
+ install -dDo dbmail "$pkgdir"/var/lib/dbmail || return 1
}
-md5sums="c4fda2da173ddeda25bcf9e2e57abd1e dbmail-3.0.0-rc2.tar.gz
-b482ba661bb4b1b6fe50e303f37b2336 code-cleanups.patch
-76a0f8f96ca70a4af14c81716134cc5d dbmail-imapd.initd
-a6d79d7f0cf0fb80ef2ada71c25d9350 dbmail-lmtpd.initd
-504dd74912daeea4268f8c25ddf6de0f dbmail-pop3d.initd
-42ac86844fedf5d1afec764170e6a5de dbmail-httpd.initd
-4253a7580d82e026ecbaf45ea863e9e7 dbmail-timsieved.initd"
+auth_ldap() {
+ pkgdesc="$pkgname ldap authentication"
+ mkdir -p "$subpkgdir"/usr/lib/dbmail
+ mv "$pkgdir"/usr/lib/dbmail/libauth_ldap* \
+ "$subpkgdir"/usr/lib/dbmail/ || return 1
+}
+
+md5sums="52c3b9aad310efc90a6a2fff0552f73e dbmail-3.0.0-rc3.tar.gz
+2f77092fade3b10123a47a5cce5b6a4a dbmail-imapd.initd
+f3a84b58ba878375ca088a0b544922cc dbmail-lmtpd.initd
+4273524211baefd9f32ea40ce9cb7dd1 dbmail-pop3d.initd
+1bf891189a6daf14254738d28f3c654f dbmail-httpd.initd
+4cd701bf1a8d292848fffe208afbe182 dbmail-timsieved.initd
+f146703e0c8c9badc92de152ac6f1e5b dbmail.pre-install
+f609d4cd01dbef95c6a1c498133a2065 post-rc3.patch
+549f2073f1c6ac902f783b493c0667d4 dbmail.conf"
diff --git a/testing/dbmail/code-cleanups.patch b/testing/dbmail/code-cleanups.patch
deleted file mode 100644
index 83e8f7ea6..000000000
--- a/testing/dbmail/code-cleanups.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 6af21775b8c560dd9d65cb2465299a9feae34649 Mon Sep 17 00:00:00 2001
-From: Paul J Stevens <paul@nfg.nl>
-Date: Thu, 14 Apr 2011 14:01:32 +0000
-Subject: cleanups
-
----
-diff --git a/debian/rules b/debian/rules
-index 7804a1b..f459149 100755
---- a/debian/rules
-+++ b/debian/rules
-@@ -12,7 +12,7 @@ export SHARED=--enable-static=no
- export MANPAGES=--enable-manpages=yes
- export REAL_CLEAN=
-
--CFLAGS = -Wall -O1
-+CFLAGS = -Wall -std=gnu99 -O1
- LDFLAGS = -lcrypt
-
- # These are used for cross-compiling and for saving the configure script
-@@ -27,10 +27,9 @@ ifneq (,$(findstring devel,$(DEB_BUILD_OPTIONS)))
- export MANPAGES=
- export SHARED=--enable-shared=no
- export STATIC=--enable-static=yes
-- export REAL_CLEAN=mrproper
- export WITH_LDAP=
- export WITH_SIEVE=
-- CFLAGS = -g -std=gnu99
-+ CFLAGS = -Wall -std=gnu99 -g
- endif
- ifneq (,$(findstring ldap,$(DEB_BUILD_OPTIONS)))
- export WITH_LDAP=--with-ldap
-diff --git a/src/dm_http.c b/src/dm_http.c
-index 4b7d2a6..797e63b 100644
---- a/src/dm_http.c
-+++ b/src/dm_http.c
-@@ -193,7 +193,7 @@ void Http_getUsers(T R)
- evbuffer_add_printf(buf, "\n}}\n");
- }
-
-- if (buf->totallen)
-+ if (EVBUFFER_LENGTH(buf))
- Request_send(R, HTTP_OK, "OK", buf);
- else
- Request_error(R, HTTP_SERVUNAVAIL, "Server error");
-@@ -279,7 +279,7 @@ void Http_getMailboxes(T R)
- MailboxState_free(&b);
- }
-
-- if (buf->totallen)
-+ if (EVBUFFER_LENGTH(buf))
- Request_send(R, HTTP_OK, "OK", buf);
- else
- Request_error(R, HTTP_SERVUNAVAIL, "Server error");
-@@ -375,7 +375,7 @@ void Http_getMessages(T R)
- }
- }
-
-- if (buf->totallen)
-+ if (EVBUFFER_LENGTH(buf))
- Request_send(R, HTTP_OK, "OK", buf);
- else
- Request_error(R, HTTP_SERVUNAVAIL, "Server error");
---
-cgit v0.8.3.4
diff --git a/testing/dbmail/dbmail-httpd.initd b/testing/dbmail/dbmail-httpd.initd
index 832e64046..2bda360b6 100644
--- a/testing/dbmail/dbmail-httpd.initd
+++ b/testing/dbmail/dbmail-httpd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
#
-PIDFILE="/var/run/dbmail-httpd.pid"
+PIDFILE="/var/run/dbmail/httpd.pid"
depend() {
need net
@@ -11,23 +11,22 @@ depend() {
}
checkconfig() {
- if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
- eerror "You need to create apropriate config"
- eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
- return 1
- fi
- # Avoid using root's TMPDIR
- unset TMPDIR
+ if [ ! -e "/etc/dbmail.conf" ]; then
+ eerror "You need to create apropriate config"
+ eerror "/etc/dbmail.conf"
+ return 1
+ fi
+ # Avoid using root's TMPDIR
+ unset TMPDIR
}
-
start() {
checkconfig && \
ebegin "Starting DBMail HTTP daemon"
start-stop-daemon --start --quiet \
--exec /usr/sbin/dbmail-httpd \
--name dbmail-httpd \
- -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
+ -- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
eend $?
}
diff --git a/testing/dbmail/dbmail-imapd.initd b/testing/dbmail/dbmail-imapd.initd
index 8f6984feb..cd8ed89cd 100644
--- a/testing/dbmail/dbmail-imapd.initd
+++ b/testing/dbmail/dbmail-imapd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
#
-PIDFILE="/var/run/dbmail-imapd.pid"
+PIDFILE="/var/run/dbmail/imapd.pid"
depend() {
need net
@@ -11,23 +11,22 @@ depend() {
}
checkconfig() {
- if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
- eerror "You need to create apropriate config"
- eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
- return 1
- fi
- # Avoid using root's TMPDIR
- unset TMPDIR
+ if [ ! -e "/etc/dbmail.conf" ]; then
+ eerror "You need to create apropriate config"
+ eerror "/etc/dbmail.conf"
+ return 1
+ fi
+ # Avoid using root's TMPDIR
+ unset TMPDIR
}
-
start() {
checkconfig && \
ebegin "Starting DBMail IMAP daemon"
start-stop-daemon --start --quiet \
--exec /usr/sbin/dbmail-imapd \
--name dbmail-imapd \
- -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
+ -- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
eend $?
}
diff --git a/testing/dbmail/dbmail-lmtpd.initd b/testing/dbmail/dbmail-lmtpd.initd
index cea3da6dd..38c0f552b 100644
--- a/testing/dbmail/dbmail-lmtpd.initd
+++ b/testing/dbmail/dbmail-lmtpd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
#
-PIDFILE="/var/run/dbmail-lmtpd.pid"
+PIDFILE="/var/run/dbmail/lmtpd.pid"
depend() {
need net
@@ -11,9 +11,9 @@ depend() {
}
checkconfig() {
- if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
+ if [ ! -e "/etc/dbmail.conf" ]; then
eerror "You need to create apropriate config"
- eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
+ eerror "/etc/dbmail.conf"
return 1
fi
# Avoid using root's TMPDIR
@@ -27,7 +27,7 @@ start() {
start-stop-daemon --start --quiet \
--exec /usr/sbin/dbmail-lmtpd \
--name dbmail-lmtpd \
- -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
+ -- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
eend $?
}
diff --git a/testing/dbmail/dbmail-pop3d.initd b/testing/dbmail/dbmail-pop3d.initd
index 8c9e7b874..3ceb12efe 100644
--- a/testing/dbmail/dbmail-pop3d.initd
+++ b/testing/dbmail/dbmail-pop3d.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
#
-PIDFILE="/var/run/dbmail-pop3d.pid"
+PIDFILE="/var/run/dbmail/pop3d.pid"
depend() {
need net
@@ -11,23 +11,22 @@ depend() {
}
checkconfig() {
- if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
- eerror "You need to create apropriate config"
- eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
- return 1
- fi
- # Avoid using root's TMPDIR
- unset TMPDIR
+ if [ ! -e "/etc/dbmail.conf" ]; then
+ eerror "You need to create apropriate config"
+ eerror "/etc/dbmail.conf"
+ return 1
+ fi
+ # Avoid using root's TMPDIR
+ unset TMPDIR
}
-
start() {
checkconfig && \
ebegin "Starting DBMail POP3 daemon"
start-stop-daemon --start --quiet \
--exec /usr/sbin/dbmail-pop3d \
--name dbmail-pop3d \
- -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
+ -- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
eend $?
}
diff --git a/testing/dbmail/dbmail-timsieved.initd b/testing/dbmail/dbmail-timsieved.initd
index 325badb29..4c6414c2a 100644
--- a/testing/dbmail/dbmail-timsieved.initd
+++ b/testing/dbmail/dbmail-timsieved.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
#
-PIDFILE="/var/run/dbmail-timsieved.pid"
+PIDFILE="/var/run/dbmail/timsieved.pid"
depend() {
need net
@@ -10,23 +10,22 @@ depend() {
after mta
}
-checkconfig() {
- if [ ! -e "/etc/dbmail/dbmail.conf" ]; then
- eerror "You need to create apropriate config"
- eerror "in /etc/dbmail/ . Example can be found in /etc/dbmail/dbmail.conf.dist"
- return 1
- fi
- # Avoid using root's TMPDIR
- unset TMPDIR
+checkconfig() checkconfig() {
+ if [ ! -e "/etc/dbmail.conf" ]; then
+ eerror "You need to create apropriate config"
+ eerror "/etc/dbmail.conf"
+ return 1
+ fi
+ # Avoid using root's TMPDIR
+ unset TMPDIR
}
-
start() {
checkconfig && \
ebegin "Starting DBMail SIEVE daemon"
start-stop-daemon --start --quiet \
--exec /usr/sbin/dbmail-timsieved \
- -- -p ${PIDFILE} -f /etc/dbmail/dbmail.conf 2>&1
+ -- -p ${PIDFILE} -f /etc/dbmail.conf 2>&1
eend $?
}
diff --git a/testing/dbmail/dbmail.conf b/testing/dbmail/dbmail.conf
new file mode 100644
index 000000000..fdcb7ac7c
--- /dev/null
+++ b/testing/dbmail/dbmail.conf
@@ -0,0 +1,408 @@
+
+# (c) 2000-2006 IC&S, The Netherlands
+#
+# Configuration file for DBMAIL
+
+[DBMAIL]
+#
+# Database settings
+#
+
+#
+# Supported drivers are mysql, postgresql, sqlite.
+#
+driver = sqlite
+
+#
+# Supported drivers are sql, ldap.
+#
+authdriver = sql
+
+#
+# Host for database, set to localhost if database is on
+# the same host as dbmail and you want to use a local
+# socket for connecting.
+#
+host =
+
+#
+# If you want to use TCP/IP for connecting to the database,
+# and have the database running on a non-standard port.
+#
+sqlport =
+
+#
+# When using a local socket connection to the database, fill
+# in the path to the socket here (e.g. /var/run/mysql.sock).
+#
+sqlsocket =
+
+#
+# Database username.
+#
+user = dbmail
+
+#
+# Database password.
+#
+pass =
+
+#
+# Database name.
+#
+db = /var/lib/dbmail/dbmail.db
+
+#
+# Number of database connections per threaded daemon
+# This also determines the size of the worker threadpool
+#
+#max_db_connections = 10
+
+#
+# Table prefix. Defaults to "dbmail_" if not specified.
+#
+table_prefix = dbmail_
+
+#
+# encoding must match the database/table encoding.
+# i.e. latin1, utf8
+encoding = utf8
+
+#
+# messages with unknown encoding will be assumed to have
+# default_msg_encoding
+# i.e. iso8859-1, utf8
+default_msg_encoding = utf8
+
+#
+# Postmaster's email address for use in bounce messages.
+#
+#postmaster = DBMAIL-MAILER
+
+#
+# Sendmail executable for forwards, replies, notifies, vacations.
+# You may use pipes (|) in this command, for example:
+# dos2unix|/usr/sbin/sendmail works well with Qmail.
+# You may use quotes (") for executables with unusual names.
+#
+sendmail = /usr/sbin/sendmail
+
+#
+#
+# The following items can be overridden in the service-specific sections.
+#
+#
+
+#
+# Logging via stderr/log file and syslog
+#
+# Logging is broken up into 8 logging levels and each level can be indivually turned on or off.
+# The Stderr/log file logs all entries to stderr or the log file.
+# Syslog logging uses the facility mail and the logging level of the event for logging.
+# Syslog can then be configured to log data according to the levels.
+#
+# Set the log level to the sum of the values next to the levels you want to record.
+# 1 = Emergency
+# 2 = Alert
+# 4 = Critical
+# 8 = Error
+# 16 = Warning
+# 32 = Notice
+# 64 = Info
+# 128 = Debug
+# 256 = Database -> Logs at debug level
+#
+# Examples: 0 = Nothing
+# 31 = Emergency + Alert + Critical + Error + Warning
+# 511 = Everything
+#
+file_logging_levels = 7
+#
+syslog_logging_levels = 31
+
+#
+# Generate a log entry for database queries for the log level at number of seconds of query execution time.
+#
+query_time_info = 10
+query_time_notice = 20
+query_time_warning = 30
+
+#
+# Throw an exception is the query takes longer than query_timeout seconds
+query_timeout = 300
+
+#
+# Root privs are used to open a port, then privs
+# are dropped down to the user/group specified here.
+#
+effective_user = dbmail
+effective_group = dbmail
+
+#
+# The IPv4 and/or IPv6 addresses the services will bind to.
+# Use * for all local interfaces.
+# Use 127.0.0.1 for localhost only.
+# Separate multiple entries with spaces ( ) or commas (,).
+#
+bindip = 0.0.0.0 # IPv4 only - all IP's
+#bindip = :: # IPv4 and IPv6 - all IP's (linux)
+#bindip = :: # IPv6 only - all IP's (BSD)
+#bindip = 0.0.0.0,:: # IPv4 and IPv6 - all IP's (BSD)
+
+
+#
+# Idle time allowed before a connection is shut off.
+#
+timeout = 300
+
+#
+# Idle time allowed before a connection is shut off if you have not logged in yet.
+#
+login_timeout = 60
+
+#
+# If yes, resolves IP addresses to DNS names when logging.
+#
+resolve_ip = no
+
+#
+# If yes, keep statistics in the authlog table for connecting users
+#
+authlog = no
+
+#
+# logfile for stdout messages
+#
+logfile = /var/log/dbmail.log
+
+#
+# logfile for stderr messages
+#
+errorlog = /var/log/dbmail.err
+
+#
+# directory for storing PID files
+#
+pid_directory = /var/run/dbmail
+
+#
+# directory for locating libraries (normally has a sane default compiled-in)
+#
+library_directory = /usr/lib/dbmail
+
+#
+# SSL/TLS certificates
+#
+# A file containing a list of CAs in PEM format
+tls_cafile =
+
+# A file containing a PEM format certificate
+tls_cert =
+
+# A file containing a PEM format RSA or DSA key
+tls_key =
+
+# A cipher list string in the format given in ciphers(1)
+tls_ciphers =
+
+
+# hashing algorithm. You can select your favorite hash type
+# for generating unique ids for message parts.
+#
+# for valid values check mhash(3) but minus the MHASH_ prefix.
+#
+# if you ever change this value run 'dbmail-util --rehash' to
+# update the hash for all mimeparts.
+#
+# examples: MD5, SHA1, SHA256, SHA512, TIGER, WHIRLPOOL
+#
+hash_algorithm = SHA1
+
+
+
+[LMTP]
+port = 24
+#tls_port =
+
+
+[POP]
+port = 110
+#tls_port = 995
+
+# You can set an alternate banner to display when connecting to the service
+# banner = DBMAIL pop3 server ready to rock
+
+#
+# If yes, allows SMTP access from the host IP connecting by POP3.
+# This requires addition configuration of your MTA
+#
+pop_before_smtp = no
+
+[HTTP]
+port = 41380
+#
+# the httpd daemon provides full access to all users, mailboxes
+# and messages. Be very careful with this one!
+bindip = 127.0.0.1
+admin = admin:secret
+
+[IMAP]
+# You can set an alternate banner to display when connecting to the service
+# banner = imap 4r1 server (dbmail 2.3.x)
+
+#
+# Port to bind to.
+#
+port = 143
+#tls_port = 993
+
+#
+# IMAP prefers a longer timeout than other services.
+#
+timeout = 4000
+
+#
+# If yes, allows SMTP access from the host IP connecting by IMAP.
+# This requires addition configuration of your MTA
+#
+imap_before_smtp = no
+
+#
+# during IDLE, how many seconds between checking the mailbox
+# status (default: 30)
+#
+# idle_timeout = 30
+
+#
+# Provide a CAPABILITY to override the default
+#
+# capability = IMAP4 IMAP4rev1 AUTH=LOGIN ACL RIGHTS=texk NAMESPACE CHILDREN SORT QUOTA THREAD=ORDEREDSUBJECT UNSELECT IDLE
+
+# Send '* STATUS "mailbox" (MESSAGES x RECENT x UNSEEN x NEXTUID x)'
+# for all subscribed mailboxes during IDLE (default: no)
+# note: EXPERIMENTAL (and most likely disabled in the code)
+#
+# idle_status = yes
+
+
+[SIEVE]
+#
+# Port to bind to.
+#
+port = 2000
+tls_port =
+
+
+[LDAP]
+port = 389
+version = 3
+hostname = ldap
+base_dn = ou=People,dc=mydomain,dc=com
+
+#
+# If your LDAP library supports ldap_initialize(), then you can use the
+# alternative LDAP server DSN like following.
+#
+# URI = ldap://127.0.0.1:389
+# URI = ldapi://%2fvar%2frun%2fopenldap%2fldapi/
+
+#
+# Leave blank for anonymous bind.
+# example: cn=admin,dc=mydomain,dc=com
+#
+bind_dn =
+
+#
+# Leave blank for anonymous bind.
+#
+bind_pw =
+scope = SubTree
+
+# AD users may want to set this to 'no' to disable
+# ldap referrals if you are seeing 'Operations errors'
+# in your logs
+#
+referrals = yes
+
+user_objectclass = top,account,dbmailUser
+forw_objectclass = top,account,dbmailForwardingAddress
+cn_string = uid
+field_passwd = userPassword
+field_uid = uid
+field_nid = uidNumber
+min_nid = 10000
+max_nid = 15000
+field_cid = gidNumber
+min_cid = 10000
+max_cid = 15000
+
+# a comma-separated list of attributes to match when searching
+# for users or forwards that match a delivery address. A match
+# on any of them is a hit.
+field_mail = mail
+
+# field that holds the mail-quota size for a user.
+field_quota = mailQuota
+
+# field that holds the forwarding address.
+field_fwdtarget = mailForwardingAddress
+
+# override the query string used to search for users
+# or forwards with a delivery address.
+# query_string = (mail=%s)
+
+[DELIVERY]
+#
+# Run Sieve scripts as messages are delivered.
+#
+SIEVE = yes
+
+#
+# Use 'user+mailbox@domain' format to deliver to a mailbox.
+#
+SUBADDRESS = yes
+
+#
+# Turn on/off the Sieve Vacation extension.
+#
+SIEVE_VACATION = yes
+
+#
+# Turn on/off the Sieve Notify extension
+#
+SIEVE_NOTIFY = yes
+
+#
+# Turn on/off additional Sieve debugging.
+#
+SIEVE_DEBUG = no
+
+
+# Use the auto_notify table to send email notifications.
+#
+AUTO_NOTIFY = no
+
+#
+# Use the auto_reply table to send away messages.
+#
+AUTO_REPLY = no
+
+#
+# Defaults to "NEW MAIL NOTIFICATION"
+#
+#AUTO_NOTIFY_SUBJECT =
+
+#
+# Defaults to POSTMASTER from the DBMAIL section.
+#
+#AUTO_NOTIFY_SENDER =
+
+
+# If you set this to 'yes' dbmail will check for duplicate
+# messages in the relevant mailbox during delivery using
+# the Message-ID header
+#
+suppress_duplicates = yes
+
+
+# end of configuration file
diff --git a/testing/dbmail/dbmail.pre-install b/testing/dbmail/dbmail.pre-install
new file mode 100644
index 000000000..1abaeb9c0
--- /dev/null
+++ b/testing/dbmail/dbmail.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+adduser -s /bin/false -D -H -h /var/lib/dbmail dbmail 2>/dev/null
+exit 0
+
diff --git a/testing/dbmail/post-rc3.patch b/testing/dbmail/post-rc3.patch
new file mode 100644
index 000000000..9d7e34be3
--- /dev/null
+++ b/testing/dbmail/post-rc3.patch
@@ -0,0 +1,635 @@
+From b73172be67b4665b04c791f914cf284e01dea33c Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Mon, 15 Aug 2011 16:11:32 +0200
+Subject: [PATCH 1/8] fix broken SEARCH TEXT (#912)'
+
+---
+ src/dbmail-mailbox.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/dbmail-mailbox.c b/src/dbmail-mailbox.c
+index 3491105..09be275 100644
+--- a/src/dbmail-mailbox.c
++++ b/src/dbmail-mailbox.c
+@@ -1183,7 +1183,7 @@ static GTree * mailbox_search(DbmailMailbox *self, search_key_t *s)
+
+ case IST_DATA_TEXT:
+
+- g_string_printf(q,"SELECT DISTINCT m.message_idnr"
++ g_string_printf(q,"SELECT DISTINCT m.message_idnr "
+ "FROM %smimeparts k "
+ "LEFT JOIN %spartlists l ON k.id=l.part_id "
+ "LEFT JOIN %sphysmessage p ON l.physmessage_id=p.id "
+--
+1.7.7.1
+
+From cd5cc297ab1c05103c45f6ee903298eca5357a19 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Sat, 20 Aug 2011 14:00:35 +0200
+Subject: [PATCH 2/8] fix dbmail.h generation (#916)
+
+---
+ acinclude.m4 | 2 +-
+ configure | 2 +-
+ src/dbmail.h.in | 4 +---
+ 3 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 2d2960d..fbf702a 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -300,7 +300,7 @@ AC_DEFUN([DM_CHECK_ZDB], [dnl
+ ])
+
+ AC_DEFUN([DM_SET_SQLITECREATE], [dnl
+- SQLITECREATE=`sed -e 's/\"/\\\"/g' -e 's/^/\"/' -e 's/$/\\\n\" \\\\/' sql/sqlite/create_tables.sqlite`
++ SQLITECREATE=`sed -e 's/\"/\\\"/g' -e 's/^/\"/' -e 's/$/\\\n\"/' -e '$!s/$/ \\\\/' sql/sqlite/create_tables.sqlite`
+ ])
+
+ AC_DEFUN([DM_CHECK_MATH], [dnl
+diff --git a/configure b/configure
+index 6be85f6..e9d6e84 100755
+--- a/configure
++++ b/configure
+@@ -6697,7 +6697,7 @@ if test "x$ac_cv_lib_crypt_crypt" = x""yes; then :
+ fi
+
+
+- SQLITECREATE=`sed -e 's/\"/\\\"/g' -e 's/^/\"/' -e 's/$/\\\n\" \\\\/' sql/sqlite/create_tables.sqlite`
++ SQLITECREATE=`sed -e 's/\"/\\\"/g' -e 's/^/\"/' -e 's/$/\\\n\"/' -e '$!s/$/ \\\\/' sql/sqlite/create_tables.sqlite`
+
+
+
+diff --git a/src/dbmail.h.in b/src/dbmail.h.in
+index 956246a..15acc31 100644
+--- a/src/dbmail.h.in
++++ b/src/dbmail.h.in
+@@ -183,9 +183,7 @@
+ ""
+
+ /* include sql/sqlite/create_tables.sqlite for autocreation */
+-#define DM_SQLITECREATE \
+-@SQLITECREATE@
+-""
++#define DM_SQLITECREATE @SQLITECREATE@
+
+ /** default directory and extension for pidfiles */
+ #define DEFAULT_PID_DIR "@DM_STATEDIR@"
+--
+1.7.7.1
+
+From 0e640aa861ceebebff59877440d084fa2dcd9efd Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Thu, 22 Sep 2011 16:39:53 +0200
+Subject: [PATCH 3/8] fix IDLE regression (#927)
+
+---
+ src/imapcommands.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/imapcommands.c b/src/imapcommands.c
+index 7bfe3c1..8159214 100644
+--- a/src/imapcommands.c
++++ b/src/imapcommands.c
+@@ -1113,6 +1113,7 @@ int _ic_idle(ImapSession *self)
+ int idle_timeout = IDLE_TIMEOUT;
+ field_t val;
+
++ ci_cork(self->ci);
+ GETCONFIGVALUE("idle_timeout", "IMAP", val);
+ if ( strlen(val) && (idle_timeout = atoi(val)) <= 0 ) {
+ TRACE(TRACE_ERR, "[%p] illegal value for idle_timeout [%s]", self, val);
+@@ -1125,6 +1126,7 @@ int _ic_idle(ImapSession *self)
+ dbmail_imap_session_buff_printf(self, "+ idling\r\n");
+ dbmail_imap_session_mailbox_status(self,TRUE);
+ dbmail_imap_session_buff_flush(self);
++ ci_uncork(self->ci);
+
+ return 0;
+ }
+--
+1.7.7.1
+
+From a82434e61e10f7e3e6b5feefb12c341ad96229ea Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Fri, 21 Oct 2011 15:57:31 +0200
+Subject: [PATCH 4/8] handle hangups better during read (#932)
+
+---
+ src/imap4.c | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/imap4.c b/src/imap4.c
+index 5fbf849..1d6869a 100644
+--- a/src/imap4.c
++++ b/src/imap4.c
+@@ -143,20 +143,23 @@ void imap_cb_read(void *arg)
+ {
+ ImapSession *session = (ImapSession *) arg;
+
+- TRACE(TRACE_DEBUG,"reading...");
+-
+ ci_read_cb(session->ci);
+
+ size_t have = session->ci->read_buffer->len;
++ size_t need = session->ci->rbuff_size;
++
++ int enough = (need>0?(have == 0):(have > 0));
++
+ int state = session->ci->client_state;
+
++ TRACE(TRACE_DEBUG,"reading %d: %ld/%ld", enough, have, need);
+ if (state & CLIENT_ERR) {
+ ci_cork(session->ci);
+ dbmail_imap_session_set_state(session,CLIENTSTATE_ERROR);
+ return;
+ }
+ if (state & CLIENT_EOF) {
+- if (have)
++ if (enough)
+ imap_handle_input(session);
+ else
+ imap_session_bailout(session);
+--
+1.7.7.1
+
+From f9f332c7b917c6b0683b0d43a0f614d675181855 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Sat, 22 Oct 2011 13:53:12 +0200
+Subject: [PATCH 5/8] gracefully degrade after decoding error (#930)
+
+---
+ src/dbmail-message.c | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/dbmail-message.c b/src/dbmail-message.c
+index e62cfb4..cf8fc23 100644
+--- a/src/dbmail-message.c
++++ b/src/dbmail-message.c
+@@ -1457,12 +1457,11 @@ static int _header_value_get_id(const char *value, const char *sortfield, const
+ CATCH(SQLException)
+ LOG_SQLERROR;
+ db_rollback_transaction(c);
++ *id = 0;
+ FINALLY
+ db_con_close(c);
+ END_TRY;
+
+- assert(*id);
+-
+ g_free(hash);
+
+ return TRUE;
+@@ -1596,7 +1595,10 @@ static gboolean _header_cache(const char UNUSED *key, const char *header, gpoint
+ g_free(value);
+
+ /* Insert relation between physmessage, header name and header value */
+- _header_insert(self->physid, headername_id, headervalue_id);
++ if (headervalue_id)
++ _header_insert(self->physid, headername_id, headervalue_id);
++ else
++ TRACE(TRACE_INFO, "error inserting headervalue. skipping.");
+
+ headervalue_id=0;
+
+--
+1.7.7.1
+
+From 11bcc6294807be46ded604b23cad2648fcbf7c5b Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Sat, 22 Oct 2011 18:08:59 +0200
+Subject: [PATCH 6/8] reset timeout after idle is done (#932)
+
+---
+ src/imap4.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/src/imap4.c b/src/imap4.c
+index 1d6869a..69a7a7e 100644
+--- a/src/imap4.c
++++ b/src/imap4.c
+@@ -468,6 +468,7 @@ void dbmail_imap_session_reset(ImapSession *session)
+ session->parser_state = FALSE;
+ dbmail_imap_session_args_free(session, FALSE);
+
++ session->ci->timeout->tv_sec = server_conf->timeout;
+ ci_uncork(session->ci);
+
+ return;
+--
+1.7.7.1
+
+From 8dc7ab5ec45a4321af191fecd7da1f50d76d3ce1 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Mon, 24 Oct 2011 16:23:59 +0200
+Subject: [PATCH 7/8] call database schema version check on all connections
+
+---
+ src/dm_db.c | 17 ++++++++++++-----
+ src/main.c | 5 -----
+ 2 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/src/dm_db.c b/src/dm_db.c
+index 22cfe95..ec516e8 100644
+--- a/src/dm_db.c
++++ b/src/dm_db.c
+@@ -216,7 +216,7 @@ int db_connect(void)
+ db_connected = 3;
+ db_con_close(c);
+
+- return 0;
++ return db_check_version();
+ }
+
+ /* But sometimes this gets called after help text or an
+@@ -803,19 +803,26 @@ static void check_table_exists(C c, const char *table, const char *errormessage)
+ int db_check_version(void)
+ {
+ C c = db_con_get();
++ volatile int ok = 0;
+ TRY
+ check_table_exists(c, "physmessage", "pre-2.0 database incompatible. You need to run the conversion script");
+ check_table_exists(c, "headervalue", "2.0 database incompatible. You need to add the header tables.");
+- check_table_exists(c, "envelope", "2.1 database incompatible. You need to add the envelopes table and run dbmail-util -by");
+- check_table_exists(c, "mimeparts", "2.3 database incompatible.");
+- check_table_exists(c, "header", "2.3.5 database incompatible - single instance header storage missing.");
++ check_table_exists(c, "envelope", "2.1+ database incompatible. You need to add the envelopes table and run dbmail-util -by");
++ check_table_exists(c, "mimeparts", "3.x database incompatible.");
++ check_table_exists(c, "header", "3.x database incompatible - single instance header storage missing.");
++ ok = 1;
+ CATCH(SQLException)
+ LOG_SQLERROR;
+ FINALLY
+ db_con_close(c);
+ END_TRY;
+
+- return DM_SUCCESS;
++ if (ok)
++ TRACE(TRACE_DEBUG,"Tables OK");
++ else
++ TRACE(TRACE_WARNING,"Schema version incompatible. Bailing out");
++
++ return ok?DM_SUCCESS:DM_EQUERY;
+ }
+
+ /* test existence of usermap table */
+diff --git a/src/main.c b/src/main.c
+index f9c8328..4065997 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -240,11 +240,6 @@ int main(int argc, char *argv[])
+ goto freeall;
+ }
+
+- if (db_check_version() != 0) {
+- exitcode = EX_TEMPFAIL;
+- goto freeall;
+- }
+-
+ /* read the whole message */
+ memset(buf, 0, sizeof(buf));
+ while ( (n = read(fileno(stdin), (void *)buf, READ_SIZE-1)) > 0) {
+--
+1.7.7.1
+
+From 105cfefa0a1cc7366b66c6759e05e46ae5a6e53c Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Sat, 29 Oct 2011 15:57:09 +0200
+Subject: [PATCH 8/8] gmime-2.6 compatibility (#935)
+
+---
+ src/dbmail-message.c | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/src/dbmail-message.c b/src/dbmail-message.c
+index cf8fc23..8a1a66c 100644
+--- a/src/dbmail-message.c
++++ b/src/dbmail-message.c
+@@ -561,7 +561,7 @@ gboolean store_mime_object(GMimeObject *parent, GMimeObject *object, DbmailMessa
+ // part of the rfc822 headers
+ skiphead = TRUE;
+
+- g_mime_header_list_set_raw (GMIME_MESSAGE(object)->mime_part->headers, NULL);
++ g_mime_header_list_set_stream (GMIME_MESSAGE(object)->mime_part->headers, NULL);
+ mime_part = g_mime_message_get_mime_part((GMimeMessage *)object);
+ } else
+ mime_part = object;
+@@ -1744,8 +1744,7 @@ DbmailMessage * dbmail_message_construct(DbmailMessage *self,
+ TRACE(TRACE_DEBUG, "from: [%s] to: [%s] subject: [%s] body: [%s]", from, to, subject, body);
+ g_mime_message_set_sender(message, from);
+ g_mime_message_set_subject(message, subject);
+- g_mime_object_set_header(GMIME_OBJECT(message), "To", to);
+- g_mime_message_add_recipient(message, GMIME_RECIPIENT_TYPE_TO, "", to);
++ g_mime_message_add_recipient(message, GMIME_RECIPIENT_TYPE_TO, NULL, to);
+
+ // construct mime-part
+ mime_part = g_mime_part_new();
+--
+1.7.7.1
+
+From e95bcfa3f470de0f385a88266bf07065e65695a2 Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Wed, 02 Nov 2011 04:30:45 +0000
+Subject: re-indent php code
+
+---
+diff --git a/contrib/dbmailclient.php b/contrib/dbmailclient.php
+index ffe5cd0..0693c0a 100644
+--- a/contrib/dbmailclient.php
++++ b/contrib/dbmailclient.php
+@@ -190,137 +190,137 @@ class DBMailMessage extends DBMailMailbox
+
+ class Curl
+ {
+- public $cookie_file;
+- public $headers = array();
+- public $options = array();
+- public $referer = '';
+- public $user_agent = '';
++ public $cookie_file;
++ public $headers = array();
++ public $options = array();
++ public $referer = '';
++ public $user_agent = '';
+
+- protected $error = '';
+- protected $handle;
++ protected $error = '';
++ protected $handle;
+
+
+- public function __construct()
+- {
++ public function __construct()
++ {
+ $this->cookie_file = realpath('.').'/curl_cookie.txt';
+- $this->user_agent = isset($_SERVER['HTTP_USER_AGENT']) ?
+- $_SERVER['HTTP_USER_AGENT'] :
+- 'Curl/PHP ' . PHP_VERSION . ' (http://github.com/shuber/curl/)';
+- }
+-
+- public function delete($url, $vars = array())
+- {
+- return $this->request('DELETE', $url, $vars);
+- }
+-
+- public function error()
+- {
+- return $this->error;
+- }
+-
+- public function get($url, $vars = array())
+- {
+- if (!empty($vars)) {
+- $url .= (stripos($url, '?') !== false) ? '&' : '?';
+- $url .= http_build_query($vars, '', '&');
+- }
+- return $this->request('GET', $url);
+- }
+-
+- public function post($url, $vars = array())
+- {
+- return $this->request('POST', $url, $vars);
+- }
+-
+- public function put($url, $vars = array())
+- {
+- return $this->request('PUT', $url, $vars);
+- }
+-
+- protected function request($method, $url, $vars = array())
+- {
+- $this->handle = curl_init();
+-
+- # Set some default CURL options
+- curl_setopt($this->handle, CURLOPT_COOKIEFILE, $this->cookie_file);
+- curl_setopt($this->handle, CURLOPT_COOKIEJAR, $this->cookie_file);
+- curl_setopt($this->handle, CURLOPT_FOLLOWLOCATION, true);
+- curl_setopt($this->handle, CURLOPT_HEADER, true);
+- curl_setopt($this->handle, CURLOPT_POSTFIELDS, (is_array($vars) ? http_build_query($vars, '', '&') : $vars));
+- curl_setopt($this->handle, CURLOPT_REFERER, $this->referer);
+- curl_setopt($this->handle, CURLOPT_RETURNTRANSFER, true);
+- curl_setopt($this->handle, CURLOPT_URL, $url);
+- curl_setopt($this->handle, CURLOPT_USERAGENT, $this->user_agent);
+-
+- # Format custom headers for this request and set CURL option
+- $headers = array();
+- foreach ($this->headers as $key => $value) {
+- $headers[] = $key.': '.$value;
+- }
+- curl_setopt($this->handle, CURLOPT_HTTPHEADER, $headers);
+-
+- # Determine the request method and set the correct CURL option
+- switch ($method) {
+- case 'GET':
+- curl_setopt($this->handle, CURLOPT_HTTPGET, true);
+- break;
+- case 'POST':
+- curl_setopt($this->handle, CURLOPT_POST, true);
+- break;
+- default:
+- curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $method);
+- }
+-
+- # Set any custom CURL options
+- foreach ($this->options as $option => $value) {
+- curl_setopt($this->handle, constant('CURLOPT_'.str_replace('CURLOPT_', '', strtoupper($option))), $value);
+- }
+-
+- $response = curl_exec($this->handle);
+- if ($response) {
+- $response = new CurlResponse($response);
+- } else {
+- $this->error = curl_errno($this->handle).' - '.curl_error($this->handle);
+- }
+- curl_close($this->handle);
+- return $response;
+- }
++ $this->user_agent = isset($_SERVER['HTTP_USER_AGENT']) ?
++ $_SERVER['HTTP_USER_AGENT'] :
++ 'Curl/PHP ' . PHP_VERSION . ' (http://github.com/shuber/curl/)';
++ }
++
++ public function delete($url, $vars = array())
++ {
++ return $this->request('DELETE', $url, $vars);
++ }
++
++ public function error()
++ {
++ return $this->error;
++ }
++
++ public function get($url, $vars = array())
++ {
++ if (!empty($vars)) {
++ $url .= (stripos($url, '?') !== false) ? '&' : '?';
++ $url .= http_build_query($vars, '', '&');
++ }
++ return $this->request('GET', $url);
++ }
++
++ public function post($url, $vars = array())
++ {
++ return $this->request('POST', $url, $vars);
++ }
++
++ public function put($url, $vars = array())
++ {
++ return $this->request('PUT', $url, $vars);
++ }
++
++ protected function request($method, $url, $vars = array())
++ {
++ $this->handle = curl_init();
++
++ # Set some default CURL options
++ curl_setopt($this->handle, CURLOPT_COOKIEFILE, $this->cookie_file);
++ curl_setopt($this->handle, CURLOPT_COOKIEJAR, $this->cookie_file);
++ curl_setopt($this->handle, CURLOPT_FOLLOWLOCATION, true);
++ curl_setopt($this->handle, CURLOPT_HEADER, true);
++ curl_setopt($this->handle, CURLOPT_POSTFIELDS, (is_array($vars) ? http_build_query($vars, '', '&') : $vars));
++ curl_setopt($this->handle, CURLOPT_REFERER, $this->referer);
++ curl_setopt($this->handle, CURLOPT_RETURNTRANSFER, true);
++ curl_setopt($this->handle, CURLOPT_URL, $url);
++ curl_setopt($this->handle, CURLOPT_USERAGENT, $this->user_agent);
++
++ # Format custom headers for this request and set CURL option
++ $headers = array();
++ foreach ($this->headers as $key => $value) {
++ $headers[] = $key.': '.$value;
++ }
++ curl_setopt($this->handle, CURLOPT_HTTPHEADER, $headers);
++
++ # Determine the request method and set the correct CURL option
++ switch ($method) {
++ case 'GET':
++ curl_setopt($this->handle, CURLOPT_HTTPGET, true);
++ break;
++ case 'POST':
++ curl_setopt($this->handle, CURLOPT_POST, true);
++ break;
++ default:
++ curl_setopt($this->handle, CURLOPT_CUSTOMREQUEST, $method);
++ }
++
++ # Set any custom CURL options
++ foreach ($this->options as $option => $value) {
++ curl_setopt($this->handle, constant('CURLOPT_'.str_replace('CURLOPT_', '', strtoupper($option))), $value);
++ }
++
++ $response = curl_exec($this->handle);
++ if ($response) {
++ $response = new CurlResponse($response);
++ } else {
++ $this->error = curl_errno($this->handle).' - '.curl_error($this->handle);
++ }
++ curl_close($this->handle);
++ return $response;
++ }
+
+ }
+
+ class CurlResponse
+ {
+- public $body = '';
+- public $headers = array();
+-
+- public function __construct($response)
+- {
+- # Extract headers from response
+- $pattern = '#HTTP/\d\.\d.*?$.*?\r\n\r\n#ims';
+- preg_match_all($pattern, $response, $matches);
+- $headers = split("\r\n", str_replace("\r\n\r\n", '', array_pop($matches[0])));
+-
+- # Extract the version and status from the first header
+- $version_and_status = array_shift($headers);
+- preg_match('#HTTP/(\d\.\d)\s(\d\d\d)\s(.*)#', $version_and_status, $matches);
+- $this->headers['Http-Version'] = $matches[1];
+- $this->headers['Status-Code'] = $matches[2];
+- $this->headers['Status'] = $matches[2].' '.$matches[3];
+-
+- # Convert headers into an associative array
+- foreach ($headers as $header) {
+- preg_match('#(.*?)\:\s(.*)#', $header, $matches);
+- $this->headers[$matches[1]] = $matches[2];
+- }
+-
+- # Remove the headers from the response body
+- $this->body = preg_replace($pattern, '', $response);
+- }
+-
+- public function __toString()
+- {
+- return $this->body;
+- }
++ public $body = '';
++ public $headers = array();
++
++ public function __construct($response)
++ {
++ # Extract headers from response
++ $pattern = '#HTTP/\d\.\d.*?$.*?\r\n\r\n#ims';
++ preg_match_all($pattern, $response, $matches);
++ $headers = split("\r\n", str_replace("\r\n\r\n", '', array_pop($matches[0])));
++
++ # Extract the version and status from the first header
++ $version_and_status = array_shift($headers);
++ preg_match('#HTTP/(\d\.\d)\s(\d\d\d)\s(.*)#', $version_and_status, $matches);
++ $this->headers['Http-Version'] = $matches[1];
++ $this->headers['Status-Code'] = $matches[2];
++ $this->headers['Status'] = $matches[2].' '.$matches[3];
++
++ # Convert headers into an associative array
++ foreach ($headers as $header) {
++ preg_match('#(.*?)\:\s(.*)#', $header, $matches);
++ $this->headers[$matches[1]] = $matches[2];
++ }
++
++ # Remove the headers from the response body
++ $this->body = preg_replace($pattern, '', $response);
++ }
++
++ public function __toString()
++ {
++ return $this->body;
++ }
+ }
+
+
+--
+cgit v0.8.3.4
+From 288b73a79fe20bae7737fb622aefff761bb34c3f Mon Sep 17 00:00:00 2001
+From: Paul J Stevens <paul@nfg.nl>
+Date: Wed, 02 Nov 2011 04:31:12 +0000
+Subject: parse From_ time as localtime
+
+---
+diff --git a/src/dbmail-mailbox.c b/src/dbmail-mailbox.c
+index 09be275..5e493ab 100644
+--- a/src/dbmail-mailbox.c
++++ b/src/dbmail-mailbox.c
+@@ -100,7 +100,7 @@ static gchar * _message_get_envelope_date(const DbmailMessage *self)
+
+ res = g_new0(char, TIMESTRING_SIZE+1);
+ memset(&gmt,'\0', sizeof(struct tm));
+- gmtime_r(&self->internal_date, &gmt);
++ localtime_r(&self->internal_date, &gmt);
+
+ strftime(res, TIMESTRING_SIZE, "%a %b %d %H:%M:%S %Y", &gmt);
+ return res;
+diff --git a/src/dbmail-message.c b/src/dbmail-message.c
+index 8a1a66c..1b4d826 100644
+--- a/src/dbmail-message.c
++++ b/src/dbmail-message.c
+@@ -837,7 +837,7 @@ gchar * dbmail_message_get_internal_date(const DbmailMessage *self, int thisyear
+
+ res = g_new0(char, TIMESTRING_SIZE+1);
+ memset(&gmt,'\0', sizeof(struct tm));
+- gmtime_r(&self->internal_date, &gmt);
++ localtime_r(&self->internal_date, &gmt);
+
+ /* override if the date is not sane */
+ if (thisyear && gmt.tm_year + 1900 > thisyear + 1) {
+--
+cgit v0.8.3.4
diff --git a/testing/dc3dd/APKBUILD b/testing/dc3dd/APKBUILD
new file mode 100644
index 000000000..7a31ce432
--- /dev/null
+++ b/testing/dc3dd/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=dc3dd
+pkgver=7.0.0
+pkgrel=0
+pkgdesc="Patched version of GNU dd for use in computer forensics"
+url="http://dc3dd.sourceforge.net/"
+arch="all"
+license="GPL2+ and GPL3+"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/dc3dd/dc3dd-$pkgver.tar.gz"
+_builddir="$srcdir"/dc3dd-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ rm po/*.gmo
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="37e00481273b4c4ae2ebb430e5fb80af dc3dd-7.0.0.tar.gz"
diff --git a/testing/drbd/APKBUILD b/testing/drbd/APKBUILD
new file mode 100644
index 000000000..37fdff819
--- /dev/null
+++ b/testing/drbd/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer:
+pkgname=drbd
+pkgver=8.3.10
+pkgbase=8.3
+pkgrel=0
+pkgdesc="Network-based RAID 1"
+url="http://www.drbd.org"
+arch="all"
+license="GPL"
+depends="bash"
+depends_dev="bash bison flex"
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-doc $pkgname-pacemaker"
+source="http://oss.linbit.com/$pkgname/$pkgbase/$pkgname-$pkgver.tar.gz
+ $pkgname.initd"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ sed -i "s/mv --force/mv -f/" drbd/Makefile || return 1
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-pacemaker \
+ --without-udev \
+ --without-heartbeat \
+ --without-rgmanager \
+ --without-xen \
+ --without-bashcompletion
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ install -m755 -D "$srcdir/$pkgname.initd" \
+ "$pkgdir/etc/init.d/$pkgname" || return 1
+}
+
+pacemaker() {
+ arch="noarch"
+ depends="drbd"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/ocf "$subpkgdir"/usr/lib
+}
+
+md5sums="7d80edc2da10de5bfffe0ca9e9996fed drbd-8.3.10.tar.gz
+f2e0173a6056ce4b9c2e3847b59899ba drbd.initd"
diff --git a/testing/drbd/drbd.initd b/testing/drbd/drbd.initd
new file mode 100644
index 000000000..5da2dda32
--- /dev/null
+++ b/testing/drbd/drbd.initd
@@ -0,0 +1,158 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/drbd/files/drbd-8.0.rc,v 1.6 2010/08/02 04:42:36 xarthisius Exp $
+
+opts="${opts} reload"
+
+depend() {
+ use logger
+ need net
+ before heartbeat
+ after sshd
+}
+
+DEFAULTFILE="/etc/conf.d/drbd"
+DRBDADM="/sbin/drbdadm"
+PROC_DRBD="/proc/drbd"
+MODPROBE="/sbin/modprobe"
+RMMOD="/sbin/rmmod"
+UDEV_TIMEOUT=10
+ADD_MOD_PARAM=""
+
+if [ -f $DEFAULTFILE ]; then
+ . $DEFAULTFILE
+fi
+
+# Just in case drbdadm want to display any errors in the configuration
+# file, or we need to ask the user about registering this installation
+# at http://usage.drbd.org, we call drbdadm here without any IO
+# redirection.
+$DRBDADM sh-nop
+
+function assure_module_is_loaded() {
+ [ -e "$PROC_DRBD" ] && return
+ ebegin "Loading drbd module"
+ ret=0
+
+ $MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20
+ eend $ret
+ return $ret
+}
+
+function adjust_with_progress() {
+ IFS_O=$IFS
+ NEWLINE='
+'
+ IFS=$NEWLINE
+ local D=0
+ local S=0
+ local N=0
+
+ einfon "Setting drbd parameters "
+ COMMANDS=`$DRBDADM -d adjust all` || {
+ eend 20 "Error executing drbdadm"
+ return 20
+ }
+ echo -n "[ "
+
+ for CMD in $COMMANDS; do
+ if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 ));
+ elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 ));
+ elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 ));
+ else echo echo -n ".. ";
+ fi
+ IFS=$IFS_O
+ $CMD || {
+ echo
+ eend 20 "cmd $CMD failed!"
+ return 20
+ }
+ IFS=$NEWLINE
+ done
+ echo "]"
+ eend 0
+
+ IFS=$IFS_O
+}
+
+start() {
+ einfo "Starting DRBD resources:"
+ eindent
+ assure_module_is_loaded || return $?
+ adjust_with_progress || return $?
+
+ # make sure udev has time to create the device files
+ ebegin "Waiting for udev device creation ..."
+ for RESOURCE in `$DRBDADM sh-resources`; do
+ for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
+ UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT
+ while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do
+ sleep 1
+ UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 ))
+ done
+ done
+ done
+ eend 0
+
+ einfon "Waiting for connection "
+ $DRBDADM wait-con-int
+ ret=$?
+ echo
+
+ sleep 5
+
+ einfon "Become primary if configured "
+ $DRBDADM sh-b-pri all
+ echo
+
+ eend $ret
+ return $ret
+}
+
+stop() {
+ ebegin "Stopping all DRBD resources"
+
+ # Check for mounted drbd devices
+ if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then
+ if [ -e ${PROC_DRBD} ]; then
+ ${DRBDADM} down all
+ sleep 3
+ if grep -q '^drbd' /proc/modules ; then
+ ${RMMOD} drbd
+ fi
+ fi
+ ret=$?
+ eend $ret
+ return $ret
+ else
+ einfo "drbd devices mounted, please umount them before trying to stop drbd!"
+ eend 1
+ return 1
+ fi
+}
+
+status() {
+ # NEEDS to be heartbeat friendly...
+ # so: put some "OK" in the output.
+
+ if [ -e $PROC_DRBD ]; then
+ ret=0
+ ebegin "drbd driver loaded OK; device status:"
+ eend $ret
+ cat $PROC_DRBD
+ else
+ ebegin "drbd not loaded"
+ ret=3
+ eend $ret
+ fi
+ return $ret
+}
+
+reload() {
+ ebegin "Reloading DRBD"
+ ${DRBDADM} adjust all
+ ret=$?
+ eend $ret
+ return $ret
+}
diff --git a/testing/drizzle/APKBUILD b/testing/drizzle/APKBUILD
index e1ebdbf71..974f8e113 100644
--- a/testing/drizzle/APKBUILD
+++ b/testing/drizzle/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
pkgname=drizzle
pkgver=2011.03.13
-pkgrel=0
+pkgrel=2
pkgdesc="A MySQL-derived RDBMS for cloud usage and webapps"
url="http://launchpad.net/drizzle"
arch="all"
license="GPL"
depends=
depends_dev="gperf protobuf-dev pcre-dev boost-dev intltool protobuf-dev
-readline-dev python gettext-dev"
+readline-dev python gettext-dev util-linux-dev curl-dev sqlite-dev"
makedepends="$depends_dev"
install="drizzle.post-install"
subpackages="$pkgname-dev $pkgname-doc $pkgname-client $pkgname-libs $pkgname-plugins"
@@ -45,6 +45,7 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
+ rm "$pkgdir"/usr/lib/*.la || return 1
}
client() {
@@ -63,4 +64,4 @@ plugins() {
}
md5sums="e152edfec45779c0bd34ece707aa022d drizzle7-2011.03.13.tar.gz
-000974e04609dbffb3e1e78b268fcc73 drizzle.initd"
+03b05074b95a241c4d07dfd8661baf9f drizzle.initd"
diff --git a/testing/drizzle/drizzle.initd b/testing/drizzle/drizzle.initd
index 55bdd9bf2..7428c360e 100644
--- a/testing/drizzle/drizzle.initd
+++ b/testing/drizzle/drizzle.initd
@@ -14,7 +14,7 @@ start() {
ebegin "Starting ${name}"
start-stop-daemon --start --quiet \
--pidfile /var/run/${name}.pid \
- --chuid drizzle:drizzle \
+ --user drizzle:drizzle \
--exec ${daemon}
eend $?
}
diff --git a/testing/etherdump/APKBUILD b/testing/etherdump/APKBUILD
new file mode 100644
index 000000000..246ea83ed
--- /dev/null
+++ b/testing/etherdump/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=etherdump
+pkgver=2.10
+pkgrel=0
+pkgdesc="An extremely small packet sniffer"
+url="http://freshmeat.net/projects/etherdump/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="http://sourceforge.net/projects/psydev/files/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 "$pkgname" "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="b207b74a9e1fa945dcd0b55725384c8b etherdump-2.10.tar.gz"
diff --git a/testing/fabric/APKBUILD b/testing/fabric/APKBUILD
new file mode 100644
index 000000000..5cb182fa7
--- /dev/null
+++ b/testing/fabric/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=fabric
+_pkgname=Fabric
+pkgver=1.2.2
+pkgrel=0
+pkgdesc="A simple pythonic remote deployment tool"
+url="http://www.fabfile.org"
+arch="noarch"
+license="BSD"
+depends="py-paramiko py-crypto py-setuptools"
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="http://pypi.python.org/packages/source/F/$_pkgname/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="f234678d3886a0b224945281395fdbda Fabric-1.2.2.tar.gz"
diff --git a/testing/flawfinder/APKBUILD b/testing/flawfinder/APKBUILD
new file mode 100644
index 000000000..bf1ed7006
--- /dev/null
+++ b/testing/flawfinder/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=flawfinder
+pkgver=1.27
+pkgrel=0
+pkgdesc="Examines C/C++ source code for security flaws"
+url="http://www.dwheeler.com/flawfinder/"
+arch=""
+license="GPL2"
+depends="python"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://www.dwheeler.com/flawfinder/$pkgname-$pkgver.tar.gz
+ $pkgname-$pkgver-setup.patch"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="50fff67dd439f42b785577ed8b3a3f7d flawfinder-1.27.tar.gz
+483e93b34b3956136aa3d59865d407d8 flawfinder-1.27-setup.patch"
diff --git a/testing/freealut/APKBUILD b/testing/freealut/APKBUILD
index 9d9c6b000..5e30245be 100644
--- a/testing/freealut/APKBUILD
+++ b/testing/freealut/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=freealut
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="free audio library user toolkit"
url="http://www.openal.org/"
arch="all"
@@ -39,6 +39,7 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
+ find $pkgdir -iname *.la -delete
}
md5sums="e089b28a0267faabdb6c079ee173664a freealut-1.1.0.tar.gz"
diff --git a/testing/geany-plugins/APKBUILD b/testing/geany-plugins/APKBUILD
index af588d70a..7ef1f484f 100644
--- a/testing/geany-plugins/APKBUILD
+++ b/testing/geany-plugins/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=geany-plugins
-pkgver=0.20
+pkgver=0.21
pkgrel=0
pkgdesc="Plugins for Geany"
url="http://plugins.geany.org/"
@@ -28,6 +28,7 @@ subpackages="$pkgname-doc
$pkgname-shiftcolumn
$pkgname-spellcheck
$pkgname-treebrowser
+ $pkgname-lang
"
source="http://plugins.geany.org/geany-plugins/geany-plugins-$pkgver.tar.bz2"
@@ -93,4 +94,4 @@ spellcheck() { _plugin spellcheck "Spellcheck text in Geany"; }
treebrowser() { _plugin treebrowser "Alternate file browser plugin "; }
-md5sums="94bc4901217641a07f840d92179643b0 geany-plugins-0.20.tar.bz2"
+md5sums="22e106d7a026e720dd91feb79e44456f geany-plugins-0.21.tar.bz2"
diff --git a/testing/gmime/APKBUILD b/testing/gmime/APKBUILD
index c4e52854e..add8f04a6 100644
--- a/testing/gmime/APKBUILD
+++ b/testing/gmime/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=gmime
-pkgver=2.4.24
-pkgrel=1
+pkgver=2.6.0
+pkgrel=0
pkgdesc="glib mime library"
url="http://spruce.sourceforge.net/gmime/"
arch="all"
license="LGPL"
depends=
-depends_dev="glib-dev"
+depends_dev="glib-dev gpgme-dev"
makedepends="$depends_dev intltool"
install=""
subpackages="$pkgname-dev $pkgname-doc"
@@ -38,4 +38,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="8657e7103158eb667e34a0eecbae0ab7 gmime-2.4.24.tar.bz2"
+md5sums="8e939c46e363ed8071a3f6d51299316d gmime-2.6.0.tar.bz2"
diff --git a/testing/gpgme/APKBUILD b/testing/gpgme/APKBUILD
index 990d26397..bda11b1ff 100644
--- a/testing/gpgme/APKBUILD
+++ b/testing/gpgme/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gpgme
-pkgver=1.3.0
+pkgver=1.3.1
pkgrel=0
pkgdesc="gnupg made easy"
url="http://www.gnupg.org/related_software/gpgme/"
@@ -39,6 +39,7 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
+ rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="4784e3c6086c9c25e9a1b4d9f7c5aa96 gpgme-1.3.0.tar.bz2"
+md5sums="90afa8436ce2b2683c001c824bd22601 gpgme-1.3.1.tar.bz2"
diff --git a/testing/hdparm/APKBUILD b/testing/hdparm/APKBUILD
new file mode 100644
index 000000000..c3d24ed7a
--- /dev/null
+++ b/testing/hdparm/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=hdparm
+pkgver=9.37
+pkgrel=0
+pkgdesc="hard drive parameter setting and benchmarking tool"
+url="http://sourceforge.net/projects/hdparm"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://sourceforge.net/projects/hdparm/files/hdparm/hdparm-$pkgver.tar.gz"
+
+_builddir="$srcdir"/hdparm-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="0bb94ddd1bedd5c02b1ca62f1caaf6de hdparm-9.37.tar.gz"
diff --git a/testing/httpry/APKBUILD b/testing/httpry/APKBUILD
new file mode 100644
index 000000000..9a3c41933
--- /dev/null
+++ b/testing/httpry/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=httpry
+pkgver=0.1.6
+pkgrel=0
+pkgdesc="A packet sniffer designed for HTTP traffic"
+url="http://dumpsterventures.com/jason/httpry/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dumpsterventures.com/jason/httpry/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -m755 -D "$_builddir"/$pkgname "$pkgdir"/usr/sbin/$pkgname
+ install -m644 -D "$_builddir"/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
+}
+
+md5sums="ef016e3e0e950993b7c9811b6859ec4d httpry-0.1.6.tar.gz"
diff --git a/testing/inotify-tools/APKBUILD b/testing/inotify-tools/APKBUILD
index 82bb0baab..730b05c23 100644
--- a/testing/inotify-tools/APKBUILD
+++ b/testing/inotify-tools/APKBUILD
@@ -1,5 +1,5 @@
# Contributor:
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname="inotify-tools"
pkgver=3.14
pkgrel=1
diff --git a/testing/iotop/APKBUILD b/testing/iotop/APKBUILD
new file mode 100644
index 000000000..8abe65cf9
--- /dev/null
+++ b/testing/iotop/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=iotop
+pkgver=0.4.4
+pkgrel=0
+pkgdesc="I/O monitoring tool"
+url="http://guichaz.free.fr/iotop/"
+arch="noarch"
+license="GPL"
+depends="python"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://guichaz.free.fr/iotop/files/iotop-$pkgver.tar.gz"
+
+_builddir="$srcdir"/iotop-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="03f9a5866435cd67108cdb4f68b0d1f3 iotop-0.4.4.tar.gz"
diff --git a/testing/ipgrab/APKBUILD b/testing/ipgrab/APKBUILD
new file mode 100644
index 000000000..778fc1bee
--- /dev/null
+++ b/testing/ipgrab/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ipgrab
+pkgver=0.9.8
+pkgrel=0
+pkgdesc="A verbose packet sniffer for hosts"
+url="http://ipgrab.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/ipgrab/ipgrab-$pkgver.tar.gz"
+_builddir="$srcdir"/ipgrab-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure ÂÂÂ\
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="73404aeee6e8c07b6b7d260ffe80b692 ipgrab-0.9.8.tar.gz"
diff --git a/testing/kbd/APKBUILD b/testing/kbd/APKBUILD
new file mode 100644
index 000000000..3a02a1e6c
--- /dev/null
+++ b/testing/kbd/APKBUILD
@@ -0,0 +1,97 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=kbd
+pkgver=1.15.3
+pkgrel=0
+pkgdesc="Tools for configuring the console (keyboard, virtual terminals, etc.)"
+url="http://ftp.altlinux.org/pub/people/legion/kbd"
+arch="all"
+license="GPLv2+"
+depends="kbd-misc"
+makedepends="bison flex autoconf automake"
+install=""
+subpackages="$pkgname-misc $pkgname-doc"
+source="ftp://ftp.altlinux.org/pub/people/legion/kbd/kbd-$pkgver.tar.gz
+ kbd-1.15-resizecon-x86_64.patch
+ kbd-1.15.3-loadkeys-d.patch
+ "
+
+_builddir="$srcdir"/kbd-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ aclocal -I m4 && autoreconf || return 1
+
+ # fixes from fedora
+ # 7-bit maps are obsolete; so are non-euro maps
+ cd "$_builddir"/data/keymaps/i386
+ mv qwerty/fi.map qwerty/fi-old.map
+ cp qwerty/fi-latin9.map qwerty/fi.map
+ cp qwerty/pt-latin9.map qwerty/pt.map
+ cp qwerty/sv-latin1.map qwerty/se-latin1.map
+
+ mv azerty/fr.map azerty/fr-old.map
+ cp azerty/fr-latin9.map azerty/fr.map
+
+ cp azerty/fr-latin9.map azerty/fr-latin0.map # legacy alias
+
+ # Rename conflicting keymaps
+ mv dvorak/no.map dvorak/no-dvorak.map
+ mv fgGIod/trf.map fgGIod/trf-fgGIod.map
+ mv olpc/es.map olpc/es-olpc.map
+ mv olpc/pt.map olpc/pt-olpc.map
+ mv qwerty/cz.map qwerty/cz-qwerty.map
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --datadir=/lib/kbd \
+ --localedir=/usr/share/locale \
+ --disable-nls \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+
+ # ro_win.map.gz is useless
+ rm -f "$pkgdir"/lib/kbd/keymaps/i386/qwerty/ro_win.map.gz
+
+ # Create additional name for Serbian latin keyboard
+ ln -s sr-cy.map.gz "$pkgdir"/lib/kbd/keymaps/i386/qwerty/sr-latin.map.gz
+
+ # The rhpl keyboard layout table is indexed by kbd layout names,
+ # so we need a Korean keyboard
+ ln -s us.map.gz "$pkgdir"/lib/kbd/keymaps/i386/qwerty/ko.map.gz
+
+ # Move binaries which we use before /usr is mounted to /bin.
+ mkdir -p "$pkgdir"/bin
+ for binary in setfont dumpkeys kbd_mode unicode_start unicode_stop loadkeys ; do
+ mv "$pkgdir"/usr/bin/$binary "$pkgdir"/bin/ || return 1
+ done
+
+ # Link open to openvt
+ ln -s openvt "$pkgdir"/usr/bin/open
+
+}
+
+misc() {
+ pkgdesc="Data for kbd package"
+ arch="noarch"
+ mkdir -p "$subpkgdir"/lib
+ mv "$pkgdir"/lib/kbd "$subpkgdir"/lib/
+}
+
+md5sums="8143e179a0f3c25646ce5085e8777200 kbd-1.15.3.tar.gz
+435755fb51017b17558f38a2a2c5074c kbd-1.15-resizecon-x86_64.patch
+d7bb334afc00f7794774762a07dacaa7 kbd-1.15.3-loadkeys-d.patch"
diff --git a/testing/kbd/kbd-1.15-resizecon-x86_64.patch b/testing/kbd/kbd-1.15-resizecon-x86_64.patch
new file mode 100644
index 000000000..3ce5a6868
--- /dev/null
+++ b/testing/kbd/kbd-1.15-resizecon-x86_64.patch
@@ -0,0 +1,11 @@
+diff -up kbd-1.15.3/configure.ac.orig kbd-1.15.3/configure.ac
+--- kbd-1.15.3/configure.ac.orig 2011-08-22 16:01:11.456165128 +0200
++++ kbd-1.15.3/configure.ac 2011-08-22 16:01:38.878163675 +0200
+@@ -60,6 +60,7 @@ AM_CONDITIONAL(KEYCODES_PROGS, test "$KE
+
+ case $host_cpu in
+ i?86*) RESIZECONS_PROGS=yes ;;
++ x86_64*) RESIZECONS_PROGS=yes ;;
+ *) RESIZECONS_PROGS=no ;;
+ esac
+ AM_CONDITIONAL(RESIZECONS_PROGS, test "$RESIZECONS_PROGS" = "yes")
diff --git a/testing/kbd/kbd-1.15.3-loadkeys-d.patch b/testing/kbd/kbd-1.15.3-loadkeys-d.patch
new file mode 100644
index 000000000..73bb7c47f
--- /dev/null
+++ b/testing/kbd/kbd-1.15.3-loadkeys-d.patch
@@ -0,0 +1,20 @@
+diff -up kbd-1.15.3/src/loadkeys.c.orig kbd-1.15.3/src/loadkeys.c
+--- kbd-1.15.3/src/loadkeys.c.orig 2011-10-24 13:44:52.222401546 +0200
++++ kbd-1.15.3/src/loadkeys.c 2011-10-24 13:47:52.413389029 +0200
+@@ -2958,7 +2958,7 @@ int main(int argc, char *argv[])
+ close(fd);
+ }
+
+- for (i = optind; argv[i]; i++) {
++ for (i = optind; argv[i] || optd; i++) {
+ FILE *f;
+ char *ev;
+
+@@ -2974,6 +2974,7 @@ int main(int argc, char *argv[])
+ if (optd) {
+ /* first read default map - search starts in . */
+ optd = 0;
++ i--;
+ if ((f = findfile(DEFMAP, dirpath, suffixes)) == NULL) {
+ fprintf(stderr, _("Cannot find %s\n"), DEFMAP);
+ exit(EXIT_FAILURE);
diff --git a/testing/libewf/APKBUILD b/testing/libewf/APKBUILD
new file mode 100644
index 000000000..642dbac82
--- /dev/null
+++ b/testing/libewf/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=libewf
+pkgver=20100226
+pkgrel=0
+pkgdesc="Library to support the Expert Witness Compression Format"
+url="http://libewf.sourceforge.net"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev="zlib-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/libewf/libewf-$pkgver.tar.gz"
+_builddir="$srcdir"/libewf-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="a697d629bb74df1fa68f22658634fdb9 libewf-20100226.tar.gz"
diff --git a/testing/libquvi-scripts/APKBUILD b/testing/libquvi-scripts/APKBUILD
new file mode 100644
index 000000000..f1f1b1eea
--- /dev/null
+++ b/testing/libquvi-scripts/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libquvi-scripts
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="scripts for libquvi - the library for parsing video download links"
+url="http://quvi.sourceforge.net/"
+arch="noarch"
+license="LGPLv2+"
+depends=
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/$pkgname/libquvi-scripts-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libquvi-scripts-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="8ac2692e63c00a828e14076434c3cd48 libquvi-scripts-0.4.0.tar.bz2"
diff --git a/testing/libquvi/APKBUILD b/testing/libquvi/APKBUILD
new file mode 100644
index 000000000..5fa4de8ab
--- /dev/null
+++ b/testing/libquvi/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libquvi
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="library for parsing video download links"
+url="http://quvi.sourceforge.net/"
+arch="all"
+license="LGPLv2+"
+depends="libquvi-scripts"
+depends_dev="libquvi-scripts-dev curl-dev lua-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://downloads.sourceforge.net/project/quvi/0.4/libquvi/libquvi-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libquvi-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="a9710096abcbcb1ffa8a947a4a5a00d9 libquvi-0.4.0.tar.bz2"
diff --git a/testing/libuniso/APKBUILD b/testing/libuniso/APKBUILD
new file mode 100644
index 000000000..eb5de7b72
--- /dev/null
+++ b/testing/libuniso/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=libuniso
+pkgver=0.1
+pkgrel=0
+pkgdesc="Library to unpack files from CDROM (ISO-9660) images"
+url="http://code.google.com/p/libuniso"
+arch="all"
+license="LGPLv2.1"
+depends=""
+depends_dev=""
+makedepends="lua-dev"
+install=""
+subpackages="$pkgname-dev lua-uniso:_lua"
+source="http://libuniso.googlecode.com/files/libuniso-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/libuniso-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ echo ENABLE_LUA=yes > config.mk
+ echo ENABLE_SHARED=yes >> config.mk
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+_lua() {
+ pkgdesc="Lua module for libuniso"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lua "$subpkgdir"/usr/lib/
+}
+
+md5sums="9c1e65ceecce5786ff33c5dd82bea897 libuniso-0.1.tar.bz2"
diff --git a/testing/libyaml/APKBUILD b/testing/libyaml/APKBUILD
new file mode 100644
index 000000000..4584087c8
--- /dev/null
+++ b/testing/libyaml/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=libyaml
+pkgver=0.1.4
+pkgrel=0
+pkgdesc="Yaml parser and emitter written in C"
+url="http://pyyaml.org/"
+arch="all"
+license=MIT""
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-dev"
+source="http://pyyaml.org/download/libyaml/yaml-$pkgver.tar.gz"
+_builddir="$srcdir"/yaml-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+ make check || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="36c852831d02cf90508c29852361d01b yaml-0.1.4.tar.gz"
diff --git a/testing/libzdb/APKBUILD b/testing/libzdb/APKBUILD
index 390947bb2..f65d20d1e 100644
--- a/testing/libzdb/APKBUILD
+++ b/testing/libzdb/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=libzdb
-pkgver=2.8.1
-pkgrel=1
+pkgver=2.10
+pkgrel=0
pkgdesc="A thread-safe high level multi-database connection pool library"
url="http://www.tildeslash.com/libzdb/"
arch="all"
@@ -42,4 +42,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="6b27930096a499eaea4ce5c65bb35e03 libzdb-2.8.1.tar.gz"
+md5sums="fdc04b4b7f33cdcdfc6b559ba9965825 libzdb-2.10.tar.gz"
diff --git a/testing/lightdm/APKBUILD b/testing/lightdm/APKBUILD
new file mode 100644
index 000000000..f4ab08e0b
--- /dev/null
+++ b/testing/lightdm/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lightdm
+pkgver=1.1.0
+pkgrel=4
+pkgdesc="A cross-desktop display manager"
+url="http://www.freedesktop.org/wiki/Software/LightDM"
+arch="all"
+license="GPL-3"
+depends="dbus"
+depends_dev=""
+makedepends="linux-pam-dev gtk+3.0-dev libxklavier-dev libxext-dev
+ autoconf automake libtool gobject-introspection-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://people.ubuntu.com/~robert-ancell/lightdm/releases/lightdm-$pkgver.tar.gz
+ lightdm-x11-configure.patch
+ disallow-guest.patch
+ lightdm.initd"
+
+_builddir="$srcdir"/lightdm-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-liblightdm-gobject \
+ --enable-gtk-greeter \
+ --with-greeter-session=lightdm-gtk-greeter \
+ || return 1
+
+ # workaround build bug
+ touch tests/src/lightdm-session
+
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+ mv "$pkgdir"/usr/lib/locale "$pkgdir"/usr/share/
+
+ install -Dm755 "$srcdir"/lightdm.initd "$pkgdir"/etc/init.d/lightdm
+}
+
+md5sums="c2347200b1af29c677ef5ad83855217b lightdm-1.1.0.tar.gz
+10b9a72013ed824a12a8720ff28810a1 lightdm-x11-configure.patch
+04956acfe2817e8d953f012ad6c72998 disallow-guest.patch
+9eb01e4202919424face9bafbda4936c lightdm.initd"
diff --git a/testing/lightdm/disallow-guest.patch b/testing/lightdm/disallow-guest.patch
new file mode 100644
index 000000000..b9ed6b3c2
--- /dev/null
+++ b/testing/lightdm/disallow-guest.patch
@@ -0,0 +1,22 @@
+--- ./data/lightdm.conf.orig
++++ ./data/lightdm.conf
+@@ -63,7 +63,7 @@
+ #greeter-session=example-gtk-gnome
+ #greeter-hide-users=false
+ #user-session=default
+-#allow-guest=true
++#allow-guest=false
+ #guest-session=UNIMPLEMENTED
+ #session-wrapper=lightdm-session
+ #display-setup-script=
+--- ./src/lightdm.c.orig
++++ ./src/lightdm.c
+@@ -957,7 +957,7 @@
+ if (!config_has_key (config_get_instance (), "SeatDefaults", "start-session"))
+ config_set_boolean (config_get_instance (), "SeatDefaults", "start-session", TRUE);
+ if (!config_has_key (config_get_instance (), "SeatDefaults", "allow-guest"))
+- config_set_boolean (config_get_instance (), "SeatDefaults", "allow-guest", TRUE);
++ config_set_boolean (config_get_instance (), "SeatDefaults", "allow-guest", FALSE);
+ if (!config_has_key (config_get_instance (), "SeatDefaults", "greeter-session"))
+ config_set_string (config_get_instance (), "SeatDefaults", "greeter-session", GREETER_SESSION);
+ if (!config_has_key (config_get_instance (), "SeatDefaults", "user-session"))
diff --git a/testing/lightdm/lightdm-x11-configure.patch b/testing/lightdm/lightdm-x11-configure.patch
new file mode 100644
index 000000000..e1819eaa4
--- /dev/null
+++ b/testing/lightdm/lightdm-x11-configure.patch
@@ -0,0 +1,122 @@
+--- ./configure.orig
++++ ./configure
+@@ -17154,10 +17154,12 @@
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ ") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+@@ -17165,6 +17167,7 @@
+ pkg_cv_LIGHTDM_GTK_GREETER_CFLAGS=`$PKG_CONFIG --cflags "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+@@ -17180,10 +17183,12 @@
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ ") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+@@ -17191,6 +17196,7 @@
+ pkg_cv_LIGHTDM_GTK_GREETER_LIBS=`$PKG_CONFIG --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+@@ -17215,11 +17221,13 @@
+ LIGHTDM_GTK_GREETER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>&1`
+ else
+ LIGHTDM_GTK_GREETER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+@@ -17250,10 +17258,12 @@
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ ") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+@@ -17261,6 +17271,7 @@
+ pkg_cv_LIGHTDM_GTK_GREETER_CFLAGS=`$PKG_CONFIG --cflags "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+@@ -17276,10 +17287,12 @@
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ \""; } >&5
+ ($PKG_CONFIG --exists --print-errors "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ ") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+@@ -17287,6 +17300,7 @@
+ pkg_cv_LIGHTDM_GTK_GREETER_LIBS=`$PKG_CONFIG --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+ else
+@@ -17311,11 +17325,13 @@
+ LIGHTDM_GTK_GREETER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>&1`
+ else
+ LIGHTDM_GTK_GREETER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ " 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+@@ -17324,6 +17340,7 @@
+ as_fn_error $? "Package requirements (
+ gtk+-3.0
+ gmodule-export-2.0
++ x11
+ ) were not met:
+
+ $LIGHTDM_GTK_GREETER_PKG_ERRORS
diff --git a/testing/lightdm/lightdm.initd b/testing/lightdm/lightdm.initd
new file mode 100755
index 000000000..4e560c3fc
--- /dev/null
+++ b/testing/lightdm/lightdm.initd
@@ -0,0 +1,11 @@
+#!/sbin/runscript
+
+depends() {
+ needs localmount dbus
+}
+
+description="Lightweigh display manager"
+command="/usr/sbin/lightdm"
+command_background="yes"
+pidfile="/var/run/lightdm.pid"
+
diff --git a/testing/lightdm/lightdm.pre-install b/testing/lightdm/lightdm.pre-install
new file mode 100644
index 000000000..7a5fefea5
--- /dev/null
+++ b/testing/lightdm/lightdm.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+name=lightdm
+addgroup -S $name 2>/dev/null
+adduser -S -H -h /var/run/lightdm -s /bin/false -D -G $name $name 2>/dev/null
+exit 0
diff --git a/testing/lua-file_slurp/APKBUILD b/testing/lua-file_slurp/APKBUILD
new file mode 100644
index 000000000..7a1afb264
--- /dev/null
+++ b/testing/lua-file_slurp/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lua-file_slurp
+pkgver=0.001001
+pkgrel=0
+pkgdesc="Lua module for easily read/write entire files from/to a string"
+url="https://gist.github.com/1325400/"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="wget"
+install=""
+subpackages=
+source="https://raw.github.com/gist/1325400/c6a64d8ad9605bcfdaa79d4cdadeb86e4c1d77ee/file_slurp.lua"
+
+_luasharedir=/usr/share/lua/5.1
+build() {
+ return 0
+}
+
+package() {
+ install -D "$srcdir"/file_slurp.lua \
+ "$pkgdir"$_luasharedir/file_slurp.lua
+}
+
+md5sums="2e9874a54acf600050c910c1bfa6841b file_slurp.lua"
diff --git a/testing/lua-lgi/APKBUILD b/testing/lua-lgi/APKBUILD
new file mode 100644
index 000000000..837b951c3
--- /dev/null
+++ b/testing/lua-lgi/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=lua-lgi
+pkgver=0.3
+pkgrel=0
+pkgdesc="Lua binding using gobject-introspection"
+url="http://github.com/pavouk/lgi"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="lua-dev gtk+-dev wget gobject-introspection-dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/downloads/pavouk/lgi/lgi-$pkgver.tar.gz"
+
+_builddir="$srcdir"/lgi-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make PREFIX=/usr
+}
+
+package() {
+ cd "$_builddir"
+ make install PREFIX=/usr DESTDIR="$pkgdir"
+ mkdir -p "$pkgdir"/usr/share/doc/lua-lgi
+ cp -r docs/* samples "$pkgdir"/usr/share/doc/lua-lgi/
+}
+
+md5sums="c0b1c724285f2962214bb79367c9591f lgi-0.3.tar.gz"
diff --git a/testing/lua-stringy/0001-use-memcmp-for-startswith-endswith.patch b/testing/lua-stringy/0001-use-memcmp-for-startswith-endswith.patch
deleted file mode 100644
index 4680a0561..000000000
--- a/testing/lua-stringy/0001-use-memcmp-for-startswith-endswith.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 86e4e9d16befd02230a699f045afdd68a47f6122 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 12 Oct 2011 20:57:55 +0200
-Subject: [PATCH] use memcmp for startswith/endswith
-
-This fixes an uninitialized variable bug and should be faster since
-most libc has optimized memcmp()
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- stringy/stringy.c | 43 +++++++++++++------------------------------
- 1 files changed, 13 insertions(+), 30 deletions(-)
-
-diff --git a/stringy/stringy.c b/stringy/stringy.c
-index 3341b87..aa9a2a2 100644
---- a/stringy/stringy.c
-+++ b/stringy/stringy.c
-@@ -65,44 +65,27 @@ static int endswith(lua_State *L) {
-
- size_t token_len;
- const char *token = luaL_checklstring(L, 2, &token_len);
-+ int end = 0;
-
-- int ti = token_len, si = string_len, end = 1;
-- if(token_len <= string_len){
-- while(ti > 0) {
-- if(string[--si] != token[--ti]){
-- end = 0;
-- break;
--
-- }
-- }
-- }
-- else {
-- end = 0;
-+ if(token_len <= string_len) {
-+ string += string_len - token_len;
-+ end = memcmp(string, token, token_len) == 0;
- }
- lua_pushboolean(L, end);
- return 1;
- }
-
- static int startswith(lua_State *L) {
-- const char *string = luaL_checkstring(L, 1);
-- int string_len = lua_objlen(L, 1);
-+ size_t string_len;
-+ const char *string = luaL_checklstring(L, 1, &string_len);
-+
-+ size_t token_len;
-+ const char *token = luaL_checklstring(L, 2, &token_len);
-+ int start = 0;
-+
-+ if (token_len <= string_len)
-+ start = memcmp(string, token, token_len) == 0;
-
-- const char *token = luaL_checkstring(L, 2);
-- int token_len = lua_objlen(L, 2);
-- int i, start = 1;
-- // please make this less ugly...
-- if(token_len <= string_len){
-- while(i < token_len) {
-- if(string[i] != token[i]){
-- start = 0;
-- break;
-- }
-- i++;
-- }
-- }
-- else {
-- start = 0;
-- }
- lua_pushboolean(L, start);
- return 1;
- }
---
-1.7.7
-
diff --git a/testing/lua-stringy/APKBUILD b/testing/lua-stringy/APKBUILD
deleted file mode 100644
index 3b268594d..000000000
--- a/testing/lua-stringy/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=lua-stringy
-pkgver=0.2
-pkgrel=0
-pkgdesc="Lua string utility library"
-url="http://hackmap.blogspot.com"
-arch="all"
-license="MIT"
-depends=""
-makedepends="lua-dev"
-install=""
-subpackages=""
-source="http://bpbio.googlecode.com/files/stringy-$pkgver.tar.gz
- stringy-memcmp.patch"
-
-_builddir="$srcdir"/stringy-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
-
-build() {
- cd "$_builddir"
- ${CC:-gcc} ${CFLAGS} -fPIC -shared ${LDFLAGS} -llua -o stringy.so stringy.c || return 1
- lua stringy_test.lua
-}
-
-package() {
- local _lualibdir=/usr/lib/lua/5.1
- cd "$_builddir"
- mkdir -p "$pkgdir"/$_lualibdir
- cp stringy.so "$pkgdir"/$_lualibdir/
-}
-
-md5sums="c53f05a37410a234d4afa0aa3210d800 stringy-0.2.tar.gz
-b3fbeca41227425894d6e0d74a684969 stringy-memcmp.patch"
diff --git a/testing/lua-stringy/stringy-memcmp.patch b/testing/lua-stringy/stringy-memcmp.patch
deleted file mode 100644
index d9019b79c..000000000
--- a/testing/lua-stringy/stringy-memcmp.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- ./stringy.c.orig
-+++ ./stringy.c
-@@ -8,49 +8,27 @@
-
-
- static int endswith(lua_State *L) {
-- const char *string = luaL_checkstring(L, 1);
-- int string_len = lua_objlen(L, 1);
-+ size_t string_len, token_len;
-+ const char *string = luaL_checklstring(L, 1, &string_len);
-+ const char *token = luaL_checklstring(L, 2, &token_len);
-+ int end = 0;
-
-- const char *token = luaL_checkstring(L, 2);
-- int token_len = lua_objlen(L, 2);
--
-- int ti = token_len, si = string_len, end = 1;
- if(token_len <= string_len){
-- while(ti > 0) {
-- if(string[--si] != token[--ti]){
-- end = 0;
-- break;
--
-- }
-- }
-+ string += string_len - token_len;
-+ end = memcmp(string, token, token_len) == 0;
- }
-- else {
-- end = 0;
-- }
- lua_pushboolean(L, end);
- return 1;
- }
-
- static int startswith(lua_State *L) {
-- const char *string = luaL_checkstring(L, 1);
-- int string_len = lua_objlen(L, 1);
-+ size_t string_len, token_len;
-+ const char *string = luaL_checklstring(L, 1, &string_len);
-+ const char *token = luaL_checklstring(L, 2, &token_len);
-+ int start = 0;
-
-- const char *token = luaL_checkstring(L, 2);
-- int token_len = lua_objlen(L, 2);
-- int i, start = 1;
-- // please make this less ugly...
-- if(token_len <= string_len){
-- while(i < token_len) {
-- if(string[i] != token[i]){
-- start = 0;
-- break;
-- }
-- i++;
-- }
-- }
-- else {
-- start = 0;
-- }
-+ if(token_len <= string_len)
-+ start = memcmp(string, token, token_len) == 0;
- lua_pushboolean(L, start);
- return 1;
- }
diff --git a/testing/lua-zmq/APKBUILD b/testing/lua-zmq/APKBUILD
deleted file mode 100644
index 1cf29100f..000000000
--- a/testing/lua-zmq/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=lua-zmq
-pkgver=1.1
-pkgrel=0
-pkgdesc="Lua zeromq2 binding"
-url="https://github.com/Neopallium/lua-zmq"
-arch="all"
-license="MIT"
-depends=""
-makedepends="wget zeromq-dev cmake"
-install=""
-subpackages=
-source="saveas-http://github.com/Neopallium/lua-zmq/tarball/v1.1/$pkgname-$pkgver.tar.gz"
-
-_builddir="$srcdir"/Neopallium-lua-zmq-5cf558e
-
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
-
-build() {
- cd "$_builddir"
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- . || return 1
- make || return 1
-}
-
-package() {
- cd "$_builddir"
- make install DESTDIR="$pkgdir" || return 1
-}
-
-md5sums="d3813c48a9e2b88426fd79604862966d lua-zmq-1.1.tar.gz"
diff --git a/testing/luajit/APKBUILD b/testing/luajit/APKBUILD
new file mode 100644
index 000000000..7646ed1ba
--- /dev/null
+++ b/testing/luajit/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Cameron Banta <cbanta@gmail.com>
+# Maintainer: Cameron Banta <cbanta@gmail.com>
+pkgname=luajit
+_pkgname=LuaJIT
+pkgver=2.0.0_beta8
+_pkgver=${pkgver//_/-}
+pkgrel=0
+pkgdesc="Just-In-Time Compiler for the Lua programming language"
+url="http://luajit.org"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://luajit.org/download/$_pkgname-$_pkgver.tar.gz"
+
+_builddir=$srcdir/$_pkgname-$_pkgver
+
+build() {
+ cd "$_builddir"
+ make amalg PREFIX=/usr || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" PREFIX=/usr || return 1
+ ln -sf /usr/bin/luajit-${_pkgver} $pkgdir/usr/bin/luajit
+}
+
+md5sums="f0748a73ae268d49b1d01f56c4fe3e61 LuaJIT-2.0.0-beta8.tar.gz"
diff --git a/testing/mac-robber/APKBUILD b/testing/mac-robber/APKBUILD
new file mode 100644
index 000000000..3b36450d9
--- /dev/null
+++ b/testing/mac-robber/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=mac-robber
+pkgver=1.02
+pkgrel=0
+pkgdesc="Tool to create a timeline of file activity for mounted file systems"
+url="http://sourceforge.net/projects/mac-robber/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dpm 0755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
+}
+
+md5sums="6d6d99aa882a46b2bc5231d195fdb595 mac-robber-1.02.tar.gz"
diff --git a/testing/memtest86+/APKBUILD b/testing/memtest86+/APKBUILD
index e36b16b00..7c0109997 100644
--- a/testing/memtest86+/APKBUILD
+++ b/testing/memtest86+/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname="memtest86+"
pkgver=4.20
pkgrel=3
diff --git a/testing/mplayer2/APKBUILD b/testing/mplayer2/APKBUILD
index 8cf87d24e..9d7780ccc 100644
--- a/testing/mplayer2/APKBUILD
+++ b/testing/mplayer2/APKBUILD
@@ -14,7 +14,9 @@ makedepends="libxxf86dga-dev libxv-dev libmad-dev lame-dev libao-dev
mesa-dev ffmpeg-dev"
install=""
subpackages="$pkgname-doc"
-source="http://ftp.mplayer2.org/pub/release/mplayer2-$pkgver.tar.xz"
+source="http://ftp.mplayer2.org/pub/release/mplayer2-$pkgver.tar.xz
+ mplayer-gcc-4.6-audio-fix.patch
+ c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch"
_builddir="$srcdir"/mplayer2-$pkgver
prepare() {
@@ -45,4 +47,6 @@ package() {
mv "$pkgdir"/usr/bin/mplayer "$pkgdir"/usr/bin/mplayer2
}
-md5sums="b880ae4be0e5b9693cdecf97c84b74f3 mplayer2-2.0.tar.xz"
+md5sums="b880ae4be0e5b9693cdecf97c84b74f3 mplayer2-2.0.tar.xz
+5f261813c5dfa70ba2378c2535428e5d mplayer-gcc-4.6-audio-fix.patch
+8125a2e2d696f6d5af584b01a2d15e78 c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch"
diff --git a/testing/mplayer2/c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch b/testing/mplayer2/c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch
new file mode 100644
index 000000000..175bc4f4a
--- /dev/null
+++ b/testing/mplayer2/c33fafd6f1bc2a430c114231cecc6e1c56c1f939.patch
@@ -0,0 +1,216 @@
+From c33fafd6f1bc2a430c114231cecc6e1c56c1f939 Mon Sep 17 00:00:00 2001
+From: Uoti Urpala <uau@mplayer2.org>
+Date: Tue, 19 Apr 2011 23:59:45 +0000
+Subject: Update libav API uses
+
+Update various code to use newer alternatives instead of deprecated
+functions/fields that are being dropped at libav API bump. An
+exception is avcodec_thread_init() which is being dropped even though
+it's still _necessary_ with fairly recent libav versions, so there's
+no good alternative which would work with both those recent versions
+and latest libavcodec. I think there are grounds to consider the drop
+premature and revert it for now; if that doesn't happen I'll add a
+version-test #if check around it later.
+---
+diff --git a/av_log.c b/av_log.c
+index bd42ce3..bcf1a14 100644
+--- a/av_log.c
++++ b/av_log.c
+@@ -57,10 +57,10 @@ static int extract_msg_type_from_ctx(void *ptr)
+ if (!strcmp(avc->class_name, "AVCodecContext")) {
+ AVCodecContext *s = ptr;
+ if (s->codec) {
+- if (s->codec->type == CODEC_TYPE_AUDIO) {
++ if (s->codec->type == AVMEDIA_TYPE_AUDIO) {
+ if (s->codec->decode)
+ return MSGT_DECAUDIO;
+- } else if (s->codec->type == CODEC_TYPE_VIDEO) {
++ } else if (s->codec->type == AVMEDIA_TYPE_VIDEO) {
+ if (s->codec->decode)
+ return MSGT_DECVIDEO;
+ }
+diff --git a/av_opts.c b/av_opts.c
+index 452253b..59f47ed 100644
+--- a/av_opts.c
++++ b/av_opts.c
+@@ -37,7 +37,7 @@ int parse_avopts(void *v, char *str){
+ arg = strchr(str, '=');
+ if(arg) *arg++= 0;
+
+- if(!av_set_string(v, str, arg)){
++ if (av_set_string3(v, str, arg, 0, NULL) < 0) {
+ free(start);
+ return -1;
+ }
+diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
+index ec6a2f7..8f56e71 100644
+--- a/libmpcodecs/ad_ffmpeg.c
++++ b/libmpcodecs/ad_ffmpeg.c
+@@ -127,7 +127,7 @@ static int init(sh_audio_t *sh_audio)
+ }
+ lavc_context->request_channels = opts->audio_output_channels;
+ lavc_context->codec_tag = sh_audio->format; //FOURCC
+- lavc_context->codec_type = CODEC_TYPE_AUDIO;
++ lavc_context->codec_type = AVMEDIA_TYPE_AUDIO;
+ lavc_context->codec_id = lavc_codec->id; // not sure if required, imho not --A'rpi
+
+ /* alloc extra data */
+diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
+index 2424dda..431b5cd 100644
+--- a/libmpcodecs/vd_ffmpeg.c
++++ b/libmpcodecs/vd_ffmpeg.c
+@@ -208,7 +208,7 @@ static int init(sh_video_t *sh){
+ ctx->avctx = avcodec_alloc_context();
+ avctx = ctx->avctx;
+ avctx->opaque = sh;
+- avctx->codec_type = CODEC_TYPE_VIDEO;
++ avctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ avctx->codec_id = lavc_codec->id;
+
+ if (lavc_codec->capabilities & CODEC_CAP_HWACCEL // XvMC
+@@ -541,14 +541,12 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
+ type = MP_IMGTYPE_STATIC;
+ flags |= MP_IMGFLAG_PRESERVE;
+ }
+- flags|=(!avctx->hurry_up && ctx->do_slices) ?
+- MP_IMGFLAG_DRAW_CALLBACK:0;
++ flags |= ctx->do_slices ? MP_IMGFLAG_DRAW_CALLBACK : 0;
+ mp_msg(MSGT_DECVIDEO, MSGL_DBG2, type == MP_IMGTYPE_STATIC ? "using STATIC\n" : "using TEMP\n");
+ } else {
+ if(!pic->reference){
+ ctx->b_count++;
+- flags|=(!avctx->hurry_up && ctx->do_slices) ?
+- MP_IMGFLAG_DRAW_CALLBACK:0;
++ flags |= ctx->do_slices ? MP_IMGFLAG_DRAW_CALLBACK:0;
+ }else{
+ ctx->ip_count++;
+ flags|= MP_IMGFLAG_PRESERVE|MP_IMGFLAG_READABLE
+@@ -787,7 +785,7 @@ static struct mp_image *decode(struct sh_video *sh, void *data, int len,
+ pkt.data = data;
+ pkt.size = len;
+ // HACK: make PNGs decode normally instead of as CorePNG delta frames
+- pkt.flags = PKT_FLAG_KEY;
++ pkt.flags = AV_PKT_FLAG_KEY;
+ // The avcodec opaque field stupidly supports only int64_t type
+ *(double *)&avctx->reordered_opaque = *reordered_pts;
+ ret = avcodec_decode_video2(avctx, pic, &got_picture, &pkt);
+diff --git a/libmpcodecs/vf_geq.c b/libmpcodecs/vf_geq.c
+index ed855d1..68a9cf7 100644
+--- a/libmpcodecs/vf_geq.c
++++ b/libmpcodecs/vf_geq.c
+@@ -116,7 +116,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts){
+ const_values[3]=y;
+ for(x=0; x<w; x++){
+ const_values[2]=x;
+- dst[x + y * dst_stride] = av_eval_expr(vf->priv->e[plane],
++ dst[x + y * dst_stride] = av_expr_eval(vf->priv->e[plane],
+ const_values, vf);
+ }
+ }
+@@ -176,7 +176,7 @@ static int vf_open(vf_instance_t *vf, char *args){
+ plane==0 ? lum : (plane==1 ? cb : cr),
+ NULL
+ };
+- res = av_parse_expr(&vf->priv->e[plane], eq[plane], const_names, NULL, NULL, func2_names, func2, 0, NULL);
++ res = av_expr_parse(&vf->priv->e[plane], eq[plane], const_names, NULL, NULL, func2_names, func2, 0, NULL);
+
+ if (res < 0) {
+ mp_msg(MSGT_VFILTER, MSGL_ERR, "geq: error loading equation `%s'\n", eq[plane]);
+diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c
+index f3dc4d9..10c4edf 100644
+--- a/libmpcodecs/vf_pp.c
++++ b/libmpcodecs/vf_pp.c
+@@ -37,7 +37,7 @@
+
+ struct vf_priv_s {
+ int pp;
+- pp_mode_t *ppMode[PP_QUALITY_MAX+1];
++ pp_mode *ppMode[PP_QUALITY_MAX+1];
+ void *context;
+ unsigned int outfmt;
+ };
+diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
+index 3aca4b6..0c5b6da 100644
+--- a/libmpdemux/demux_lavf.c
++++ b/libmpdemux/demux_lavf.c
+@@ -289,7 +289,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ codec->codec_tag = override_tag;
+
+ switch(codec->codec_type){
+- case CODEC_TYPE_AUDIO:{
++ case AVMEDIA_TYPE_AUDIO:{
+ WAVEFORMATEX *wf;
+ sh_audio_t* sh_audio;
+ sh_audio = new_sh_audio_aid(demuxer, i, priv->audio_streams);
+@@ -361,7 +361,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ stream_id = priv->audio_streams++;
+ break;
+ }
+- case CODEC_TYPE_VIDEO:{
++ case AVMEDIA_TYPE_VIDEO:{
+ sh_video_t* sh_video;
+ BITMAPINFOHEADER *bih;
+ sh_video=new_sh_video_vid(demuxer, i, priv->video_streams);
+@@ -433,7 +433,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ stream_id = priv->video_streams++;
+ break;
+ }
+- case CODEC_TYPE_SUBTITLE:{
++ case AVMEDIA_TYPE_SUBTITLE:{
+ sh_sub_t* sh_sub;
+ char type;
+ /* only support text subtitles for now */
+@@ -476,9 +476,12 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ stream_id = priv->sub_streams++;
+ break;
+ }
+- case CODEC_TYPE_ATTACHMENT:{
++ case AVMEDIA_TYPE_ATTACHMENT:{
++ AVMetadataTag *ftag = av_metadata_get(st->metadata, "filename",
++ NULL, 0);
++ char *filename = ftag ? ftag->value : NULL;
+ if (st->codec->codec_id == CODEC_ID_TTF)
+- demuxer_add_attachment(demuxer, BSTR(st->filename),
++ demuxer_add_attachment(demuxer, BSTR(filename),
+ BSTR("application/x-truetype-font"),
+ (struct bstr){codec->extradata,
+ codec->extradata_size});
+@@ -755,14 +758,14 @@ static int demux_lavf_fill_buffer(demuxer_t *demux, demux_stream_t *dsds){
+ if(ts != AV_NOPTS_VALUE){
+ dp->pts = ts * av_q2d(priv->avfc->streams[id]->time_base);
+ priv->last_pts= dp->pts * AV_TIME_BASE;
+- // always set duration for subtitles, even if PKT_FLAG_KEY is not set,
++ // always set duration for subtitles, even if AV_PKT_FLAG_KEY isn't set,
+ // otherwise they will stay on screen to long if e.g. ASS is demuxed from mkv
+- if((ds == demux->sub || (pkt.flags & PKT_FLAG_KEY)) &&
++ if ((ds == demux->sub || (pkt.flags & AV_PKT_FLAG_KEY)) &&
+ pkt.convergence_duration > 0)
+ dp->duration = pkt.convergence_duration * av_q2d(priv->avfc->streams[id]->time_base);
+ }
+ dp->pos=demux->filepos;
+- dp->flags= !!(pkt.flags&PKT_FLAG_KEY);
++ dp->flags = !!(pkt.flags & AV_PKT_FLAG_KEY);
+ // append packet to DS stream:
+ ds_add_packet(ds,dp);
+ return 1;
+@@ -922,15 +925,15 @@ redo:
+ {
+ switch(priv->avfc->streams[program->stream_index[i]]->codec->codec_type)
+ {
+- case CODEC_TYPE_VIDEO:
++ case AVMEDIA_TYPE_VIDEO:
+ if(prog->vid == -2)
+ prog->vid = program->stream_index[i];
+ break;
+- case CODEC_TYPE_AUDIO:
++ case AVMEDIA_TYPE_AUDIO:
+ if(prog->aid == -2)
+ prog->aid = program->stream_index[i];
+ break;
+- case CODEC_TYPE_SUBTITLE:
++ case AVMEDIA_TYPE_SUBTITLE:
+ if(prog->sid == -2 && priv->avfc->streams[program->stream_index[i]]->codec->codec_id == CODEC_ID_TEXT)
+ prog->sid = program->stream_index[i];
+ break;
+--
+cgit v0.9
diff --git a/testing/mplayer2/mplayer-gcc-4.6-audio-fix.patch b/testing/mplayer2/mplayer-gcc-4.6-audio-fix.patch
new file mode 100644
index 000000000..148856c23
--- /dev/null
+++ b/testing/mplayer2/mplayer-gcc-4.6-audio-fix.patch
@@ -0,0 +1,22 @@
+Fix broken audio decoding when compiling with gcc-4.6
+http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2011-May/068495.html
+
+--- ./mp3lib/dct64_sse.c.orig
++++ ./mp3lib/dct64_sse.c
+@@ -113,7 +113,6 @@
+ }
+
+ {
+- real *costab = costab_mmx + 24;
+ int i;
+
+ __asm__(
+@@ -122,7 +121,7 @@
+ "movaps %1, %%xmm5\n\t"
+ "movaps %%xmm5, %%xmm6\n\t"
+ :
+- :"m"(*costab), "m"(*nnnn)
++ :"m"(costab_mmx[24]), "m"(*nnnn)
+ );
+
+ for (i = 0; i < 0x20; i += 8)
diff --git a/testing/mytop/APKBUILD b/testing/mytop/APKBUILD
new file mode 100644
index 000000000..22191b6cb
--- /dev/null
+++ b/testing/mytop/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=mytop
+pkgver=1.6
+pkgrel=0
+pkgdesc="A top clone for MySQL"
+url="http://jeremy.zawodny.com/mysql/mytop/"
+arch="noarch"
+license="GPL2"
+depends="perl perl-term-readkey perl-dbd-mysql"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://jeremy.zawodny.com/mysql/mytop/${pkgname}-${pkgver}.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ sed -i 's#"long|!"#"long!"#' $pkgname || return 1
+}
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make && make test || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4127c3e486eb664fed60f40849372a9f mytop-1.6.tar.gz"
diff --git a/testing/nbtscan/APKBUILD b/testing/nbtscan/APKBUILD
new file mode 100644
index 000000000..564ae27b3
--- /dev/null
+++ b/testing/nbtscan/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nbtscan
+pkgver=1.5.1
+pkgrel=0
+pkgdesc="A NetBIOS name network scanner"
+url="http://www.inetcat.net/software/nbtscan.html"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://www.inetcat.net/software/$pkgname-$pkgver.tar.gz
+ $pkgname-$pkgver-makefile.patch"
+_builddir="$srcdir"/$pkgname-"$pkgver"a
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="85bb085077c380b82a6ff73e0de0c154 nbtscan-1.5.1.tar.gz
+513430ac89e76bfdb2fd9f8bfce4cca2 nbtscan-1.5.1-makefile.patch"
diff --git a/testing/nbtscan/nbtscan-1.5.1-makefile.patch b/testing/nbtscan/nbtscan-1.5.1-makefile.patch
new file mode 100644
index 000000000..300f2a6ae
--- /dev/null
+++ b/testing/nbtscan/nbtscan-1.5.1-makefile.patch
@@ -0,0 +1,20 @@
+--- nbtscan-1.5.1a/Makefile.in.orig
++++ nbtscan-1.5.1a/Makefile.in
+@@ -5,6 +5,7 @@
+ OBJECTS=nbtscan.o statusq.o range.o list.o
+ DEFS=@DEFS@
+ TARGET=@TARGET@
++DESTDIR=
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -14,7 +15,8 @@
+ $(CC) $(CFLAGS) -o nbtscan $(OBJECTS) $(LIBS)
+
+ install:
+- $(INSTALL) $(TARGET) $(BINDIR)/$(TARGET)
++ mkdir -p $(DESTDIR)$(BINDIR)
++ $(INSTALL) $(TARGET) $(DESTDIR)$(BINDIR)/$(TARGET)
+
+ nbtscan.o: nbtscan.c statusq.h range.h list.h
+ $(CC) $(CFLAGS) $(DEFS) -c nbtscan.c
diff --git a/testing/ncdu/APKBUILD b/testing/ncdu/APKBUILD
new file mode 100644
index 000000000..a00cbe0b6
--- /dev/null
+++ b/testing/ncdu/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ncdu
+pkgver=1.7
+pkgrel=0
+pkgdesc="Text-based disk usage viewer"
+url="http://dev.yorhel.nl/ncdu"
+arch="all"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="ncurses-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dev.yorhel.nl/download/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="172047c29d232724cc62e773e82e592a ncdu-1.7.tar.gz"
diff --git a/testing/ncmpcpp/APKBUILD b/testing/ncmpcpp/APKBUILD
index 0c3923a59..88e1c4938 100644
--- a/testing/ncmpcpp/APKBUILD
+++ b/testing/ncmpcpp/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ncmpcpp
-pkgver=0.5.7
+pkgver=0.5.8
pkgrel=0
pkgdesc="An almost exact clone of ncmpc with some new features."
url="http://unkart.ovh.org/ncmpcpp/"
@@ -28,4 +28,4 @@ package() {
make DESTDIR="$pkgdir" install || return 1
}
-md5sums="6632c76f2f0836c5aa5a1a2fbb1c921c ncmpcpp-0.5.7.tar.bz2"
+md5sums="288952c6b4cf4fa3683f3f83a58da37c ncmpcpp-0.5.8.tar.bz2"
diff --git a/testing/ncrack/APKBUILD b/testing/ncrack/APKBUILD
new file mode 100644
index 000000000..c159de5ad
--- /dev/null
+++ b/testing/ncrack/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=ncrack
+pkgver=0.4
+pkgrel=0.alpha
+pkgdesc="A network authentication cracking tool"
+url="http://nmap.org/ncrack/"
+arch="all"
+license="GPL2 with exceptions"
+depends=""
+depends_dev=""
+makedepends="openssl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://nmap.org/ncrack/dist/$pkgname-"$pkgver"ALPHA.tar.gz"
+_builddir="$srcdir"/$pkgname-"$pkgver"ALPHA
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --without-zlib-version-check \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="db9be165469c04650ddc7403b29eb472 ncrack-0.4ALPHA.tar.gz"
diff --git a/testing/nebula/APKBUILD b/testing/nebula/APKBUILD
new file mode 100644
index 000000000..4dd3e5c22
--- /dev/null
+++ b/testing/nebula/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=nebula
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="An Intrusion Signature Generator"
+url="http://nebula.carnivore.it/"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev=""
+makedepends="zlib-dev"
+install=""
+subpackages="$pkgname-client"
+source="http://downloads.sourceforge.net/nebula/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make AM_CFLAGS=-D_GNU_SOURCE || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+client() {
+ #cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/"$pkgname"client "$subpkgdir"/usr/bin/
+}
+
+md5sums="06eabd66634e7969203465fb94900f18 nebula-0.2.3.tar.gz"
diff --git a/testing/netdiscover/APKBUILD b/testing/netdiscover/APKBUILD
new file mode 100644
index 000000000..2a22806e4
--- /dev/null
+++ b/testing/netdiscover/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=netdiscover
+pkgver=0.3
+pkgrel=0.beta6
+pkgdesc="A network address discovering tool"
+url="http://nixgeneration.com/~jaime/netdiscover/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="libnet-dev libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/netdiscover/netdiscover-$pkgver-beta6.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver-beta6
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -rf "$pkgdir"/usr/doc/
+}
+
+md5sums="0919227a91ecaeeb2443cff249417be2 netdiscover-0.3-beta6.tar.gz"
diff --git a/testing/openlldp/APKBUILD b/testing/openlldp/APKBUILD
index e9a6e2d61..651f90c28 100644
--- a/testing/openlldp/APKBUILD
+++ b/testing/openlldp/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=openlldp
pkgver=0.4a
_realver=0.4alpha
diff --git a/testing/pacemaker/APKBUILD b/testing/pacemaker/APKBUILD
new file mode 100644
index 000000000..026cc69e2
--- /dev/null
+++ b/testing/pacemaker/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=pacemaker
+pkgver=1.1.6.1
+pkgrel=0
+pkgdesc="Scalable High-Availability cluster resource manager"
+url="http://www.clusterlabs.org"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="glib-dev libxml2-dev libxslt-dev bzip2-dev gnutls-dev
+ cluster-glue-dev resource-agents-dev corosync-dev"
+makedepends="$depends_dev automake autoconf libtool libltdl wget docbook-xsl"
+install=""
+subpackages="$pkgname-doc $pkgname-dev"
+source="saveas-https://nodeload.github.com/ClusterLabs/pacemaker/tarball/Pacemaker-1.1.6.1/pacemaker-1.1.6.1.tar.gz
+ $pkgname.initd"
+
+_builddir="$srcdir"/ClusterLabs-pacemaker-0c7312c
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure \
+ --enable-fatal-warnings=no \
+ --with-corosync
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib*/*.la
+ rm -f "$pkgdir"/usr/lib*/heartbeat/plugins/RAExec/*.la
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+
+}
+
+libs() {
+ pkgdesc="$pkgname libraries"
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.so.* \
+ "$subpkgdir"/usr/lib/
+}
+
+md5sums="6a4132bbba017581b36b87c35246bb92 pacemaker-1.1.6.1.tar.gz
+aca8b793c4a977294121615ed3ce6398 pacemaker.initd"
diff --git a/testing/pacemaker/pacemaker.initd b/testing/pacemaker/pacemaker.initd
new file mode 100644
index 000000000..4231425f8
--- /dev/null
+++ b/testing/pacemaker/pacemaker.initd
@@ -0,0 +1,39 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/files/pacemaker.initd,v 1.1 2011/02/21 14:39:28 ultrabug Exp $
+
+PIDFILE=/var/run/pacemaker.pid
+
+depend() {
+ need net corosync
+ use syslog
+}
+
+start() {
+ nc=0
+ ebegin "Starting Pacemaker Cluster Manager"
+ einfon "Waiting for Corosync startup ."
+ while true; do
+ /usr/sbin/corosync-cfgtool -s &>/dev/null && break
+ nc=$(expr $nc + 1)
+ if [ $nc -gt 30 ]; then
+ echo
+ eend 1 "Failed to detect Corosync startup, is it really running ?"
+ exit 1
+ fi
+ sleep 1
+ echo -n "."
+ done
+ echo
+ start-stop-daemon --start -q --exec /usr/sbin/pacemakerd \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Pacemaker Cluster Manager"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/testing/partimage/APKBUILD b/testing/partimage/APKBUILD
index 09e50dc4c..96896cf61 100644
--- a/testing/partimage/APKBUILD
+++ b/testing/partimage/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=partimage
pkgver=0.6.8
pkgrel=0
diff --git a/testing/pcapy/APKBUILD b/testing/pcapy/APKBUILD
new file mode 100644
index 000000000..dd9971ec3
--- /dev/null
+++ b/testing/pcapy/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=pcapy
+pkgver=0.10.5
+pkgrel=0
+pkgdesc="Module to interfaces with the libpcap packet capture library"
+url="http://oss.coresecurity.com/projects/pcapy.html"
+arch="all"
+license="ASL"
+depends=""
+depends_dev=""
+makedepends="python-dev libpcap-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://oss.coresecurity.com/repo/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="1dcff6af494f3d6763f457aa86aa0853 pcapy-0.10.5.tar.gz"
diff --git a/testing/perl-async-mergepoint/APKBUILD b/testing/perl-async-mergepoint/APKBUILD
new file mode 100644
index 000000000..9d9300c86
--- /dev/null
+++ b/testing/perl-async-mergepoint/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-async-mergepoint
+_pkgreal=Async-MergePoint
+pkgver=0.04
+pkgrel=0
+pkgdesc="resynchronise diverged control flow"
+url="http://search.cpan.org/dist/Async-MergePoint/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends="perl-test-fatal"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="e9055c122e02fd75c8d604bb1dca49ca Async-MergePoint-0.04.tar.gz"
diff --git a/testing/perl-bit-vector/APKBUILD b/testing/perl-bit-vector/APKBUILD
new file mode 100644
index 000000000..09eead4e6
--- /dev/null
+++ b/testing/perl-bit-vector/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-bit-vector
+_realname=Bit-Vector
+pkgver=7.1
+pkgrel=0
+pkgdesc="Efficient bit vector, set of integers, and big int math library"
+url="http://search.cpan.org/~stbey/Bit-Vector-7.1/"
+arch="all"
+license="PerlArtistic"
+depends="perl perl-carp-clan"
+depends_dev=""
+makedepends="perl-dev perl-carp-clan"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/S/ST/STBEY/$_realname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="164c8574b728f6171b2a6f564fcd2e50 Bit-Vector-7.1.tar.gz"
diff --git a/testing/perl-class-gomor/APKBUILD b/testing/perl-class-gomor/APKBUILD
new file mode 100644
index 000000000..db6d2452f
--- /dev/null
+++ b/testing/perl-class-gomor/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-class-gomor
+_realname=Class-Gomor
+pkgver=1.02
+pkgrel=0
+pkgdesc="Another class and object builder"
+url="http://search.cpan.org/~gomor/Class-Gomor-1.02/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/G/GO/GOMOR/$_realname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="287c3b3be72fcb4a4089fe232b8b1002 Class-Gomor-1.02.tar.gz"
diff --git a/testing/perl-cps/APKBUILD b/testing/perl-cps/APKBUILD
new file mode 100644
index 000000000..1b1aaab0a
--- /dev/null
+++ b/testing/perl-cps/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-cps
+_pkgreal=CPS
+pkgver=0.11
+pkgrel=0
+pkgdesc="manage flow of control in Continuation-Passing Style"
+url="http://search.cpan.org/dist/CPS/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="e4f36f053f538a6fa1ea4ed1de038f9e CPS-0.11.tar.gz"
diff --git a/testing/perl-dbd-odbc/APKBUILD b/testing/perl-dbd-odbc/APKBUILD
new file mode 100644
index 000000000..051ed538d
--- /dev/null
+++ b/testing/perl-dbd-odbc/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Jeff Bilyk <jbilyk at gmail>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=perl-dbd-odbc
+_realpkgname=DBD-ODBC
+pkgver=1.31
+pkgrel=0
+pkgdesc="Perl CPAN DBD::ODBC module"
+url="http://search.cpan.org/dist/DBD-ODBC/"
+arch="all"
+license="GPL PerlArtistic"
+depends="perl perl-dbi unixodbc"
+makedepends="perl perl-dev unixodbc-dev"
+source="http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/DBD-ODBC-$pkgver.tar.gz"
+
+_builddir="$srcdir"/${_realpkgname}-$pkgver
+
+prepare() {
+ return 0
+}
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a6700d6ad8164e783d973de3b79b769d DBD-ODBC-1.31.tar.gz"
diff --git a/testing/perl-extutils-depends/APKBUILD b/testing/perl-extutils-depends/APKBUILD
new file mode 100644
index 000000000..2027233ff
--- /dev/null
+++ b/testing/perl-extutils-depends/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-extutils-depends
+_pkgreal=ExtUtils-Depends
+pkgver=0.304
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/ExtUtils-Depends/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="da66d6cb19e2c76d7f3266846832026c ExtUtils-Depends-0.304.tar.gz"
diff --git a/testing/perl-extutils-pkgconfig/APKBUILD b/testing/perl-extutils-pkgconfig/APKBUILD
new file mode 100644
index 000000000..03bc080e2
--- /dev/null
+++ b/testing/perl-extutils-pkgconfig/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-extutils-pkgconfig
+_pkgreal=ExtUtils-PkgConfig
+pkgver=1.12
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/ExtUtils-PkgConfig/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="8fc5c0b30cfda2048ec87ae418cc3508 ExtUtils-PkgConfig-1.12.tar.gz"
diff --git a/testing/perl-glib/APKBUILD b/testing/perl-glib/APKBUILD
new file mode 100644
index 000000000..fe083a579
--- /dev/null
+++ b/testing/perl-glib/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-glib
+_pkgreal=Glib
+pkgver=1.241
+pkgrel=0
+pkgdesc="Perl wrappers for the GLib utility and Object libraries"
+url="http://search.cpan.org/dist/Glib/"
+arch="all"
+license="GPL PerlArtistic"
+cpandepends="perl-extutils-pkgconfig perl-extutils-depends"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends glib-dev"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="412118238a372041b130c27d7992f5c3 Glib-1.241.tar.gz"
diff --git a/testing/perl-heap/APKBUILD b/testing/perl-heap/APKBUILD
new file mode 100644
index 000000000..2bcd88ac8
--- /dev/null
+++ b/testing/perl-heap/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-heap
+_pkgreal=Heap
+pkgver=0.80
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Heap/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/J/JM/JMM/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="05fed19a7552dadee11c780cd68c0116 Heap-0.80.tar.gz"
diff --git a/testing/perl-io-async-loop-glib/APKBUILD b/testing/perl-io-async-loop-glib/APKBUILD
new file mode 100644
index 000000000..08d9d75dd
--- /dev/null
+++ b/testing/perl-io-async-loop-glib/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-io-async-loop-glib
+_pkgreal=IO-Async-Loop-Glib
+pkgver=0.20
+pkgrel=0
+pkgdesc="use C<IO::Async> with F<Glib> or F<GTK>"
+url="http://search.cpan.org/dist/IO-Async-Loop-Glib/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-glib perl-io-async"
+cpanmakedepends="perl-io-async"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends perl-test-pod perl-test-fatal
+ perl-test-refcount"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="57eab4909ffb08162d6a0bd03f61ed0c IO-Async-Loop-Glib-0.20.tar.gz"
diff --git a/testing/perl-io-async-ssl/APKBUILD b/testing/perl-io-async-ssl/APKBUILD
new file mode 100644
index 000000000..933343d54
--- /dev/null
+++ b/testing/perl-io-async-ssl/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-io-async-ssl
+_pkgreal=IO-Async-SSL
+pkgver=0.06
+pkgrel=0
+pkgdesc="Use SSL/TLS with L<IO::Async>"
+url="http://search.cpan.org/dist/IO-Async-SSL/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-io-socket-ssl perl-io-async"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="d357dc71b0bbc0f43ba8fd55f869ae54 IO-Async-SSL-0.06.tar.gz"
diff --git a/testing/perl-io-async/APKBUILD b/testing/perl-io-async/APKBUILD
new file mode 100644
index 000000000..a5e6d1541
--- /dev/null
+++ b/testing/perl-io-async/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-io-async
+_pkgreal=IO-Async
+pkgver=0.45
+pkgrel=0
+pkgdesc="Asynchronous event-driven programming"
+url="http://search.cpan.org/dist/IO-Async/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-heap perl-async-mergepoint perl-cps"
+cpanmakedepends="perl-test-fatal perl-test-warn perl-test-refcount perl-test-identity"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="00f4213a413bb1fc431bfe56568c0192 IO-Async-0.45.tar.gz"
diff --git a/testing/perl-net-async-http/APKBUILD b/testing/perl-net-async-http/APKBUILD
new file mode 100644
index 000000000..d4f3961aa
--- /dev/null
+++ b/testing/perl-net-async-http/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-net-async-http
+_pkgreal=Net-Async-HTTP
+pkgver=0.13
+pkgrel=0
+pkgdesc="use HTTP with C<IO::Async>"
+url="http://search.cpan.org/dist/Net-Async-HTTP/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-uri perl-http-message perl-io-async"
+cpanmakedepends="perl-http-cookies perl-test-identity perl-io-async"
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a624b88a7545cda911e7a983e180e32a Net-Async-HTTP-0.13.tar.gz"
diff --git a/testing/perl-net-ipv4addr/APKBUILD b/testing/perl-net-ipv4addr/APKBUILD
new file mode 100644
index 000000000..4f6aa28d2
--- /dev/null
+++ b/testing/perl-net-ipv4addr/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-net-ipv4addr
+_realname=Net-IPv4Addr
+pkgver=0.10
+pkgrel=0
+pkgdesc="Perl extension for manipulating IPv4 addresses"
+url="http://search.cpan.org/~frajulac/Net-IPv4Addr-0.10/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl "
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/F/FR/FRAJULAC/$_realname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="57aa8e28ebcd4c0c9f15792740e53d3c Net-IPv4Addr-0.10.tar.gz"
diff --git a/testing/perl-sub-uplevel/APKBUILD b/testing/perl-sub-uplevel/APKBUILD
new file mode 100644
index 000000000..4c285a642
--- /dev/null
+++ b/testing/perl-sub-uplevel/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-sub-uplevel
+_realname=Sub-Uplevel
+pkgver=0.22
+pkgrel=0
+pkgdesc="Apparently run a function in a higher stack frame"
+url="http://search.cpan.org/~dagolden/Sub-Uplevel-0.22/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/$_realname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="c166738a97c0424a0075ebe205d285db Sub-Uplevel-0.22.tar.gz"
diff --git a/testing/perl-test-fatal/APKBUILD b/testing/perl-test-fatal/APKBUILD
new file mode 100644
index 000000000..4af1de9b3
--- /dev/null
+++ b/testing/perl-test-fatal/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-test-fatal
+_pkgreal=Test-Fatal
+pkgver=0.008
+pkgrel=0
+pkgdesc="incredibly simple helpers for testing code with exceptions"
+url="http://search.cpan.org/dist/Test-Fatal/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-try-tiny"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="201c94efbbcbd38b32e3cdc6752a6c07 Test-Fatal-0.008.tar.gz"
diff --git a/testing/perl-test-identity/APKBUILD b/testing/perl-test-identity/APKBUILD
new file mode 100644
index 000000000..a97dddc03
--- /dev/null
+++ b/testing/perl-test-identity/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-test-identity
+_pkgreal=Test-Identity
+pkgver=0.01
+pkgrel=0
+pkgdesc="assert the referential identity of a reference"
+url="http://search.cpan.org/dist/Test-Identity/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="ecef85c791cf5847e4c374983cf22a74 Test-Identity-0.01.tar.gz"
diff --git a/testing/perl-test-refcount/APKBUILD b/testing/perl-test-refcount/APKBUILD
new file mode 100644
index 000000000..d4d71f1e7
--- /dev/null
+++ b/testing/perl-test-refcount/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-test-refcount
+_pkgreal=Test-Refcount
+pkgver=0.07
+pkgrel=0
+pkgdesc="assert reference counts on objects"
+url="http://search.cpan.org/dist/Test-Refcount/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="0a78c2f25e91c27baf0f71118a970245 Test-Refcount-0.07.tar.gz"
diff --git a/testing/perl-test-simple/APKBUILD b/testing/perl-test-simple/APKBUILD
new file mode 100644
index 000000000..8122e47de
--- /dev/null
+++ b/testing/perl-test-simple/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=perl-test-simple
+_realname=Test-Simple
+pkgver=0.98
+pkgrel=0
+pkgdesc="Perl modules for writing tests"
+url="http://search.cpan.org/~mschwern/Test-Simple-0.98/"
+arch="noarch"
+license="PerlArtistic"
+depends="perl"
+depends_dev=""
+makedepends="perl-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/$_realname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_realname-$pkgver
+
+build() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a8b26c97440269b33dd79fd847c521d8 Test-Simple-0.98.tar.gz"
diff --git a/testing/perl-test-warn/APKBUILD b/testing/perl-test-warn/APKBUILD
new file mode 100644
index 000000000..8b4779281
--- /dev/null
+++ b/testing/perl-test-warn/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-test-warn
+_pkgreal=Test-Warn
+pkgver=0.23
+pkgrel=0
+pkgdesc="Perl extension to test methods for warnings "
+url="http://search.cpan.org/dist/Test-Warn/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-tree-dag_node perl-sub-uplevel"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="96e224cba15bf69b7513c08e70496457 Test-Warn-0.23.tar.gz"
diff --git a/testing/perl-tree-dag_node/APKBUILD b/testing/perl-tree-dag_node/APKBUILD
new file mode 100644
index 000000000..dc47d6a2f
--- /dev/null
+++ b/testing/perl-tree-dag_node/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-tree-dag_node
+_pkgreal=Tree-DAG_Node
+pkgver=1.06
+pkgrel=0
+pkgdesc="(super)class for representing nodes in a tree"
+url="http://search.cpan.org/dist/Tree-DAG_Node/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/C/CO/COGENT/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="3b006f128bd1d8961fc57c466ffa05f2 Tree-DAG_Node-1.06.tar.gz"
diff --git a/testing/perl-try-tiny/APKBUILD b/testing/perl-try-tiny/APKBUILD
new file mode 100644
index 000000000..c8cad7744
--- /dev/null
+++ b/testing/perl-try-tiny/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-try-tiny
+_pkgreal=Try-Tiny
+pkgver=0.11
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/Try-Tiny/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends=""
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/D/DO/DOY/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="4d2c8ff385ac3513edf4c042dd0eacbe Try-Tiny-0.11.tar.gz"
diff --git a/testing/perl-uri-find-simple/APKBUILD b/testing/perl-uri-find-simple/APKBUILD
new file mode 100644
index 000000000..c34a90160
--- /dev/null
+++ b/testing/perl-uri-find-simple/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-uri-find-simple
+_pkgreal=URI-Find-Simple
+pkgver=1.03
+pkgrel=0
+pkgdesc="unknown"
+url="http://search.cpan.org/dist/URI-Find-Simple/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-uri-find"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/T/TO/TOMI/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="a3d62887ea6b6a17559364e8a31fcd8f URI-Find-Simple-1.03.tar.gz"
diff --git a/testing/perl-uri-find/APKBUILD b/testing/perl-uri-find/APKBUILD
new file mode 100644
index 000000000..8cf761fde
--- /dev/null
+++ b/testing/perl-uri-find/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-uri-find
+_pkgreal=URI-Find
+pkgver=20111103
+pkgrel=0
+pkgdesc="Find URIs in arbitrary text"
+url="http://search.cpan.org/dist/URI-Find/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-uri"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ perl Build.PL installdirs=vendor || return 1
+}
+
+build() {
+ cd "$_builddir"
+ export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ ./Build && ./Build test
+}
+
+package() {
+ cd "$_builddir"
+ ./Build install destdir="$pkgdir" || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="7129448917d708aeaab2153a5adfbf0d URI-Find-20111103.tar.gz"
diff --git a/testing/perl-xml-xpath/APKBUILD b/testing/perl-xml-xpath/APKBUILD
new file mode 100644
index 000000000..439683060
--- /dev/null
+++ b/testing/perl-xml-xpath/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 1
+# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com>
+pkgname=perl-xml-xpath
+_pkgreal=XML-XPath
+pkgver=1.13
+pkgrel=0
+pkgdesc="a set of modules for parsing and evaluating XPath statements"
+url="http://search.cpan.org/dist/XML-XPath/"
+arch="noarch"
+license="GPL PerlArtistic"
+cpandepends="perl-xml-parser"
+cpanmakedepends=""
+depends="$cpandepends"
+makedepends="perl-dev $cpanmakedepends"
+subpackages="$pkgname-doc"
+source="http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/$_pkgreal-$pkgver.tar.gz"
+
+_builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+build() {
+ cd "$_builddir"
+ make && make test
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+md5sums="b5919d9220d83982feb6e2321850c5d7 XML-XPath-1.13.tar.gz"
diff --git a/testing/php-phpmailer/APKBUILD b/testing/php-phpmailer/APKBUILD
deleted file mode 100644
index 19a27a339..000000000
--- a/testing/php-phpmailer/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Timo Teräs <timo.teras@iki.fi>
-# Maintainer: Timo Teräs <timo.teras@iki.fi>
-pkgname=php-phpmailer
-_pkgname=PHPMailer
-pkgver=5.2.0
-pkgrel=0
-pkgdesc="PHP class for SMTP mailing"
-url="http://code.google.com/a/apache-extras.org/p/phpmailer/"
-arch="noarch"
-license="LGPL"
-depends="php>=5"
-depends_dev=
-makedepends="$depends_dev"
-install=""
-subpackages=""
-source="http://phpmailer.apache-extras.org.codespot.com/files/PHPMailer_$pkgver.tgz"
-
-_builddir="$srcdir/${_pkgname}_$pkgver"
-
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
-
-build() {
- cd "$_builddir"
-}
-
-package() {
- cd "$_builddir"
- install -d -m755 "$pkgdir"/usr/share/pear
- install -D -m644 "$_builddir"/class.*.php "$pkgdir"/usr/share/pear || return 1
-}
-
-md5sums="aed567b80e6a3b3175d4ce27f3a9a243 PHPMailer_5.2.0.tgz"
diff --git a/testing/pnp4nagios/APKBUILD b/testing/pnp4nagios/APKBUILD
new file mode 100644
index 000000000..f08d322e0
--- /dev/null
+++ b/testing/pnp4nagios/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Peter de Zoeten <peter@dezoeten.mine.nu>
+# Maintainer: Peter de Zoeten <peter@dezoeten.mine.nu>
+pkgname=pnp4nagios
+pkgver=0.6.15
+pkgrel=0
+pkgdesc="PNP4Nagios"
+url="http://www.pnp4nagios.org"
+arch="all"
+license="GPL"
+depends="nagios perl-time-hires perl-rrd php-zlib"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr/share/webapps/pnp4nagios \
+ --exec-prefix=/usr \
+ --libexecdir=/usr/lib/pnp4nagios \
+ --sysconfdir=/etc/pnp4nagios \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var/run \
+ --datarootdir=/usr/share/webapps/pnp4nagios \
+ --with-perfdata-logfile=/var/pnp4nagios/perfdata/process_perfdata.pl \
+ --with-perfdata-dir=/var/pnp4nagios/perfdata \
+ --with-perfdata-spool-dir=/var/pnp4nagios/perfdata/spool \
+ || return 1
+ make all || return 1
+}
+doc() {
+ arch="noarch"
+ # Man pages
+ mkdir -p "$subpkgdir"/usr/share/man || return 1
+ mv "$pkgdir"/usr/share/webapps/pnp4nagios/man/man* "$subpkgdir"/usr/share/man/ \
+ || return 1
+
+ # Doc files
+ _docs="INSTALL README"
+ for _doc in $_docs; do
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$_doc \
+ "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1
+ done
+ rmdir "$pkgdir"/usr/share/webapps/pnp4nagios/man
+}
+
+package() {
+ cd "$_builddir"
+ make fullinstall DESTDIR="$pkgdir" || return 1
+ mkdir -p "$pkgdir"/usr/share/nagios/htdocs/ssi
+ rm -f "$pkgdir"/usr/lib/*.la
+ cp "$_builddir"/contrib/ssi/status-header.ssi "$pkgdir"/usr/share/nagios/htdocs/ssi/status-header.ssi
+# rm -rf "$pkgdir"/etc/httpd
+ mkdir -p "$pkgdir"/etc/lighttpd
+ cp "$_builddir"/sample-config/lighttpd.pnp4nagios.conf "$pkgdir"/etc/lighttpd/pnp4nagios.conf.sample
+ install -D -m644 ../../npcd.cfg "$pkgdir"/etc/pnp4nagios/npcd.cfg
+ rm -f "$pkgdir"/etc/init.d/npcd
+ install -D -m755 ../../npcd "$pkgdir"/etc/init.d/npcd
+ chown nagios.nagios "$pkgdir"/var/pnp4nagios
+}
+
+
+md5sums="27cdab96510e15cfa0f4b7c2bf15dd2b pnp4nagios-0.6.15.tar.gz"
diff --git a/testing/pnp4nagios/npcd b/testing/pnp4nagios/npcd
new file mode 100644
index 000000000..2b17bea51
--- /dev/null
+++ b/testing/pnp4nagios/npcd
@@ -0,0 +1,21 @@
+#!/sbin/runscript
+
+depend() {
+ use net
+ need dbus
+ before nfs
+ after logger
+ }
+
+start() {
+ ebegin "Starting npcd"
+ start-stop-daemon --start --quiet --exec /usr/bin/npcd -- -d -f /etc/pnp4nagios/npcd.cfg
+ eend $?
+ }
+
+stop() {
+ ebegin "Stopping npcd"
+ start-stop-daemon --stop --quiet --exec /usr/bin/npcd
+ eend $?
+ }
+
diff --git a/testing/pnp4nagios/npcd.cfg b/testing/pnp4nagios/npcd.cfg
new file mode 100644
index 000000000..43bf14424
--- /dev/null
+++ b/testing/pnp4nagios/npcd.cfg
@@ -0,0 +1,195 @@
+# NPCD.cfg - sample configuration file for PNPs NPCD
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+# Privilege Options
+
+user = nagios
+group = nagios
+
+#########################
+# #
+# Logging Options #
+# #
+#########################
+
+# log_type - define if you want your logs to
+# 'syslog' or to a 'file'
+#
+# log_type = <value>
+#
+
+log_type = file
+#log_type = syslog
+
+
+# log_file - define a path to your logfile
+# needed if 'log_type'='file'
+#
+# log_file = </path/to/logpath/filename>
+#
+
+log_file = /var/pnp4nagios/npcd.log
+
+
+# max_logfile_size - defines the maximum filesize (bytes)
+# before the logfile will rotated.
+#
+# max_logfile_size = <value> (default 10Mbyte)
+#
+
+max_logfile_size = 10485760
+
+
+# log_level - how much should we log?
+#
+# log_level = <integer value>
+#
+# 0 = No logging - except errors
+# 1 = Small logging - some few more output
+# 2 = More Logging (actual ALL logs)
+# -1 = DEBUG Mode - ALL Logging and slower processing
+#
+
+log_level = 0
+
+#########################
+# #
+# NEEDED OPTIONS #
+# #
+#########################
+
+# perfdata_spool_dir - where we can find the
+# performance data files
+#
+# perfdata_spool_dir = </path/to/directory/>
+#
+
+perfdata_spool_dir = /var/pnp4nagios/perfdata/spool/
+
+
+# Execute following command for each found file
+# in 'perfdata_spool_dir'
+#
+# perfdata_file_run_cmd = </path/to/command>
+#
+# Must be executable by user/group from above
+#
+# perfdata_file_run_cmd = </path/to/filename>
+#
+
+perfdata_file_run_cmd = /usr/lib/pnp4nagios/process_perfdata.pl
+
+
+# perfdata_file_run_cmd_args (optional)
+#
+# If you wish, you can apply more arguments to the
+# perfdata_file_run_cmd
+#
+# Hint:
+# NPCD will create a command line like this:
+# '<perfdata_file_run_cmd> <perfdata_file_run_cmd_args> <filename_from_spool_dir>'
+#
+
+perfdata_file_run_cmd_args = -b
+
+
+# identify_npcd (optional)
+#
+# If set to one (by default) npcd will append
+# '-n' to the perfdata_file_run_cmd
+#
+# identify_npcd = 0|1 (default: 1)
+
+identify_npcd = 1
+
+
+# npcd_max_threads - define how many parallel threads we
+# should start
+
+npcd_max_threads = 5
+
+# sleep_time - how many seconds npcd should wait between dirscans
+#
+# sleep_time = 15 (default)
+
+sleep_time = 15
+
+
+# EXPERIMENTAL
+#
+# load_threshold - npcd won't start new threads
+# if your system load is above this threshold
+#
+# load_threshold = <float value> (default: 0.0)
+#
+# Hint: Do not use "," as decimal delimiter
+#
+# 07/15/2008: Every value above 0.0 will
+# enable this feature
+
+load_threshold = 0.0
+
+
+# location of your pid file
+
+pid_file=/var/run/npcd.pid
+
+
+#########################
+# #
+# NPCDMOD OPTIONS #
+# #
+#########################
+
+
+# perfdata_file - where should the npcdmod.o
+# write the performance data
+#
+# must not be within the same directory as
+# perfdata_spool_dir
+#
+# perfdata_file = </path/to/file>
+#
+
+perfdata_file = /var/pnp4nagios/perfdata.dump
+
+
+# perfdata_spool_filename - declare the destination
+# filename for the spooled files
+#
+# This option allows you a customized filename.
+# Usefull if you own different nagios servers
+# which write their data to a shared storage.
+#
+# perfdata_spool_filename = <filename>
+#
+# Hint:
+# The final files will be moved to
+# 'perfdata_spool_dir/perfdata_spool_filename-TIMESTAMP'
+#
+# Example:
+#
+# perfdata_spool_filename = perfdata-NY
+# perfdata_spool_filename = perfdata-LA
+
+perfdata_spool_filename = perfdata
+
+#
+# perfdata_file_processing_interval
+#
+perfdata_file_processing_interval = 15
+
+# We have to end with a newline
+
diff --git a/testing/poppler-qt4/APKBUILD b/testing/poppler-qt4/APKBUILD
index 0b23f9df8..c20c60362 100644
--- a/testing/poppler-qt4/APKBUILD
+++ b/testing/poppler-qt4/APKBUILD
@@ -55,4 +55,4 @@ package() {
rm "$pkgdir"/usr/lib/*.la || return 1
}
-md5sums="4cd3bf2a0a13fa8eaf00d31368915f77 poppler-0.18.0.tar.gz"
+md5sums="d30e883a27423c936ef338ce1d967e2d poppler-0.18.1.tar.gz"
diff --git a/testing/proftpd/APKBUILD b/testing/proftpd/APKBUILD
index fcfc94877..63af201f4 100644
--- a/testing/proftpd/APKBUILD
+++ b/testing/proftpd/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
pkgname=proftpd
-pkgver=1.3.3e
-pkgrel=2
+pkgver=1.3.4a
+pkgrel=0
pkgdesc="Highly configurable GPL-licensed FTP server software"
url="http://www.proftpd.org/"
arch="all"
@@ -13,11 +13,21 @@ makedepends="$depends_dev libtool"
install=""
subpackages="$pkgname-doc"
source="ftp://ftp.proftpd.org/distrib/source/proftpd-${pkgver}.tar.bz2
+ mempcpy.patch
proftpd.initd
proftpd.confd"
_builddir="$srcdir"/"$pkgname"-"$pkgver"
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
build() {
cd "$_builddir"
./configure \
@@ -44,6 +54,7 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname || return 1
}
-md5sums="acc49b6589bc8c9fdf1dce9000bebdbd proftpd-1.3.3e.tar.bz2
+md5sums="4e3235dc1ef95d36e59721d70c5c489c proftpd-1.3.4a.tar.bz2
+cee983fba72533440d1a95c87bbbefc3 mempcpy.patch
175ce0cef2fb410d0ac8929ad421f941 proftpd.initd
aab5852ac574e87781f1c9c4942e699b proftpd.confd"
diff --git a/testing/proftpd/mempcpy.patch b/testing/proftpd/mempcpy.patch
new file mode 100644
index 000000000..e58210f37
--- /dev/null
+++ b/testing/proftpd/mempcpy.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/pr_fnmatch.c b/lib/pr_fnmatch.c
+index 9e398e7..102591a 100644
+--- a/lib/pr_fnmatch.c
++++ b/lib/pr_fnmatch.c
+@@ -233,7 +233,7 @@ __wcschrnul (const wchar_t *s, wint_t c)
+ # endif
+ # define STRLEN(S) strlen (S)
+ # define STRCAT(D, S) strcat (D, S)
+-# define MEMPCPY(D, S, N) __mempcpy (D, S, N)
++# define MEMPCPY(D, S, N) mempcpy (D, S, N)
+ # define MEMCHR(S, C, N) memchr (S, C, N)
+ # define STRCOLL(S1, S2) strcoll (S1, S2)
+ # include "pr_fnmatch_loop.c"
diff --git a/testing/prosody/APKBUILD b/testing/prosody/APKBUILD
index 4672f435b..a47078ce3 100644
--- a/testing/prosody/APKBUILD
+++ b/testing/prosody/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Mika Havela <mika.havela@gmail.com>
pkgname=prosody
pkgver=0.8.2
-pkgrel=0
+pkgrel=1
pkgdesc="Lua based Jabber/XMPP server"
url="http://prosody.im/"
arch="all"
@@ -23,7 +23,7 @@ build() {
--with-lua=/usr/bin \
--with-lua-lib=/usr/lib \
--with-lua-include=/usr/include
-
+
make || return 1
}
@@ -41,4 +41,4 @@ package() {
md5sums="6e907bf0d0acf24f1011083020ba6ffb prosody-0.8.2.tar.gz
5a415bb85fb1e00a17cb3ad951e3b889 prosody.cfg.lua.patch
-c0e647e872e30f71fa03faab189ae287 prosody.initd"
+9b68b81deb2148a3a6c3b5d2eb9c96b9 prosody.initd"
diff --git a/testing/prosody/prosody.initd b/testing/prosody/prosody.initd
index 2749d09cf..1a41d4a9e 100644
--- a/testing/prosody/prosody.initd
+++ b/testing/prosody/prosody.initd
@@ -15,7 +15,7 @@ start() {
/usr/bin/prosodyctl start
# start-stop-daemon --start --quiet --background \
# --make-pidfile --pidfile /var/run/${NAME}/${NAME}.pid \
-# --chuid ${USER}:${GROUP} \
+# --user ${USER}:${GROUP} \
# --exec ${DAEMON} -- ${OPTS}
eend $?
}
diff --git a/testing/protobuf/APKBUILD b/testing/protobuf/APKBUILD
index 28e07fa97..f00f134b2 100644
--- a/testing/protobuf/APKBUILD
+++ b/testing/protobuf/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=protobuf
-pkgver=2.4.0a
-pkgrel=2
+pkgver=2.4.1
+pkgrel=0
pkgdesc="Library for extensible, efficient structure packing"
url="http://code.google.com/p/protobuf/"
arch="all"
@@ -50,4 +50,4 @@ py() {
install -m644 google "$subpkgdir"/usr/lib/python2.6/site-packages
}
-md5sums="61df3f63ec284fc6f57a68c67e4918c6 protobuf-2.4.0a.tar.bz2"
+md5sums="ed436802019c9e1f40cc750eaf78f318 protobuf-2.4.1.tar.bz2"
diff --git a/testing/psmisc/APKBUILD b/testing/psmisc/APKBUILD
index 1e95980f9..79d6eee7b 100644
--- a/testing/psmisc/APKBUILD
+++ b/testing/psmisc/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=psmisc
-pkgver=22.13
+pkgver=22.14
pkgrel=0
pkgdesc="a set of some small useful utilities that use the proc filesystem"
url="http://psmisc.sourceforge.net/"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-md5sums="e2c339e6b65b730042084023784a729e psmisc-22.13.tar.gz"
+md5sums="ba3f4e971895c92bba7770d81c981503 psmisc-22.14.tar.gz"
diff --git a/testing/pure-ftpd/APKBUILD b/testing/pure-ftpd/APKBUILD
index acf12a77d..1717af866 100644
--- a/testing/pure-ftpd/APKBUILD
+++ b/testing/pure-ftpd/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Douglas Haber <me@douglashaber.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pure-ftpd
-pkgver=1.0.30
-pkgrel=2
+pkgver=1.0.32
+pkgrel=0
pkgdesc="Pure FTPD FTP daemon"
url="http://pureftpd.org"
arch="all"
@@ -48,6 +48,6 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname || return 1
}
-md5sums="29e2a68e756d09f4aff8f4f76435b020 pure-ftpd-1.0.30.tar.gz
+md5sums="a766eb36d537fd30217ffa129eb599b1 pure-ftpd-1.0.32.tar.gz
4805788f4aeeb4efee64ddad0b526c3c pure-ftpd.initd
5f1d2a2d353fc00bc39efa0ae6f1955f pure-ftpd.confd"
diff --git a/testing/py-crypto/APKBUILD b/testing/py-crypto/APKBUILD
index bd58eeeb9..f00d805bb 100644
--- a/testing/py-crypto/APKBUILD
+++ b/testing/py-crypto/APKBUILD
@@ -1,24 +1,28 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=py-crypto
-pkgver=2.0.1
-pkgrel=4
+_pkgname=pycrypto
+pkgver=2.3
+pkgrel=1
pkgdesc="A collection of cryptographic algorithms and protocols, implemented for use from Python."
-url="http://www.amk.ca/python/code/crypto.html"
+url="https://www.dlitz.net/software/pycrypto/"
arch="all"
-license="GPL"
-depends="python"
+license="BSD"
+depends=""
makedepends="gmp-dev python-dev"
-source="http://www.amk.ca/files/python/crypto/pycrypto-$pkgver.tar.gz"
+subpackages=""
+source="http://ftp.dlitz.net/pub/dlitz/crypto/$_pkgname/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
-_builddir="$srcdir"/pycrypto-$pkgver
-build ()
-{
+build() {
cd "$_builddir"
- python setup.py build
+ python setup.py build || return 1
+ python setup.py test || return 1
}
package() {
cd "$_builddir"
- python setup.py install --root="$pkgdir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
}
-md5sums="4d5674f3898a573691ffb335e8d749cd pycrypto-2.0.1.tar.gz"
+
+md5sums="2b811cfbfc342d83ee614097effb8101 pycrypto-2.3.tar.gz"
diff --git a/testing/py-curl/APKBUILD b/testing/py-curl/APKBUILD
new file mode 100644
index 000000000..3100eee0d
--- /dev/null
+++ b/testing/py-curl/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=py-curl
+pkgver=7.19.0
+pkgrel=0
+pkgdesc="A Python interface to libcurl"
+url="http://pycurl.sourceforge.net/"
+arch="all"
+license="LGPLv2+ or MIT"
+depends="python"
+depends_dev=""
+makedepends="curl-dev python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://pycurl.sourceforge.net/download/pycurl-$pkgver.tar.gz"
+
+_builddir="$srcdir"/pycurl-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="919d58fe37e69fe87ce4534d8b6a1c7b pycurl-7.19.0.tar.gz"
diff --git a/testing/py-distutils-extra/APKBUILD b/testing/py-distutils-extra/APKBUILD
index 250bd8985..5ce7fc9e5 100644
--- a/testing/py-distutils-extra/APKBUILD
+++ b/testing/py-distutils-extra/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=py-distutils-extra
-pkgver=2.26
+pkgver=2.31
pkgrel=1
-pkgdesc="enhanced distutils package for python"
+pkgdesc="Enhanced distutils package for python"
url="http://launchpad.net/python-distutils-extra"
arch="noarch"
license="GPL"
@@ -11,8 +11,8 @@ depends="py-setuptools"
makedepends="python-dev"
install=""
source="http://launchpad.net/python-distutils-extra/trunk/$pkgver/+download/python-distutils-extra-$pkgver.tar.gz"
-
_builddir="$srcdir"/python-distutils-extra-$pkgver
+
prepare() {
local i
cd "$_builddir"
@@ -33,4 +33,4 @@ package() {
python setup.py install --root="$pkgdir" || return 1
}
-md5sums="7caded30a45907b5cdb10ac4182846eb python-distutils-extra-2.26.tar.gz"
+md5sums="9349361fc3f86ccb77142e6e5eb5185b python-distutils-extra-2.31.tar.gz"
diff --git a/testing/py-gnome/APKBUILD b/testing/py-gnome/APKBUILD
new file mode 100644
index 000000000..5517ca7cb
--- /dev/null
+++ b/testing/py-gnome/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor:
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=py-gnome
+_realname=gnome-python
+pkgver=2.28.1
+_basever=2.28
+pkgrel=2
+pkgdesc="Python interface to GNOME libraries"
+url="http://pygtk.org"
+arch="noarch"
+license="LGPL"
+depends="$pkgname-bonobo $pkgname-gconf $pkgname-libgnome $pkgname-gnomevfs"
+depends_dev="gtk+-dev libgnome-dev py-gobject-dev py-gtk-dev python-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-bonobo $pkgname-gconf $pkgname-libgnome \
+ $pkgname-gnomevfs"
+source="http://ftp.gnome.org/pub/gnome/sources/$_realname/$_basever/$_realname-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/$_realname-$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-pkgconfigDATA || return 1
+ find $pkgdir -iname *.la -delete
+}
+
+bonobo() {
+ pkgdesc="Python bindings for interfacing with Bonobo"
+ arch="noarch"
+ depends="py-gtk $pkgname-gnomecanvas"
+ cd "$_builddir"
+ make -C bonobo DESTDIR=$subpkgdir install || return 1
+ find $pkgdir -iname *.la -delete
+}
+
+gconf() {
+ pkgdesc="Python bindings for interfacing with GConf"
+ arch="all"
+ depends="gconf py-gtk"
+ cd "$_builddir"
+ make -C gconf DESTDIR=$subpkgdir install || return 1
+ find $pkgdir -iname *.la -delete
+}
+
+# Temporarily disabled as it does not build
+#gnomecanvas() {
+# pkgdesc="Python bindings for the GNOME Canvas"
+# cd "$_builddir"
+# make -C gnomecanvas DESTDIR=$subpkgdir install || return 1
+# find $pkgdir -iname *.la -delete
+#}
+
+gnomevfs() {
+ pkgdesc="Python bindings for interacting with gnome-vfs"
+ arch="all"
+ depends="gnome-vfs"
+ cd "$_builddir"
+ make -C gnomevfs DESTDIR=$subpkgdir install || return 1
+ find $pkgdir -iname *.la -delete
+}
+
+libgnome() {
+ pkgdesc="Python bindings for libgnome"
+ arch="all"
+ depends="py-gtk $pkgname-bonobo $pkgname-gnomecanvas $pkgname-gnomevfs"
+ cd "$_builddir"
+ make -C gnome DESTDIR=$subpkgdir install || return 1
+ find $pkgdir -iname *.la -delete
+}
+
+md5sums="a17ad952813ed86f520de8e07194a2bf gnome-python-2.28.1.tar.bz2"
diff --git a/testing/py-libacl/APKBUILD b/testing/py-libacl/APKBUILD
new file mode 100644
index 000000000..975524ea8
--- /dev/null
+++ b/testing/py-libacl/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-libacl
+_pkgname=pylibacl
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="A python module for manipulating ACLs"
+url="http://pylibacl.sourceforge.net/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=""
+makedepends="python-dev acl-dev py-setuptools"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --root="$pkgdir" || return 1
+}
+
+md5sums="b9d34da90e6da0813115071b3a1ab204 pylibacl-0.5.0.tar.gz"
diff --git a/testing/py-logilab-astng/APKBUILD b/testing/py-logilab-astng/APKBUILD
new file mode 100644
index 000000000..0a8a78882
--- /dev/null
+++ b/testing/py-logilab-astng/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-logilab-astng
+_realname=logilab-astng
+pkgver=0.21.1
+pkgrel=0
+pkgdesc="Rebuild a new abstract syntax tree from Python's ast"
+url="http://pypi.python.org/pypi/logilab-astng"
+arch="noarch"
+license="GPL2+"
+depends="python py-logilab-common"
+depends_dev=""
+makedepends="python-dev py-logilab-common"
+install=""
+subpackages=""
+source="http://pypi.python.org/packages/source/l/"$_realname"/"$_realname"-$pkgver.tar.gz"
+_builddir="$srcdir"/"$_realname"-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+ rm -f "$pkgdir"/usr/lib/python2.?/site-packages/logilab/__init__.*
+}
+
+md5sums="f25dd1d92a1b80d07a2f9d5bb4fe9d97 logilab-astng-0.21.1.tar.gz"
diff --git a/testing/py-logilab-common/APKBUILD b/testing/py-logilab-common/APKBUILD
new file mode 100644
index 000000000..b6cd1cee7
--- /dev/null
+++ b/testing/py-logilab-common/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-logilab-common
+_realname=logilab-common
+pkgver=0.56.0
+pkgrel=0
+pkgdesc="A collection of Python packages and modules used by Logilab projects"
+url="http://www.logilab.org/project/logilab-common"
+arch="noarch"
+license="LGPL2+"
+depends="python"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://ftp.logilab.org/pub/common/"$_realname"-$pkgver.tar.gz"
+_builddir="$srcdir"/"$_realname"-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+doc() {
+ # The man page is not picked-up automatically
+ mkdir -p "$subpkgdir"/usr/share/man/man1 || return 1
+ mv "$_builddir"/doc/*.1 "$subpkgdir"/usr/share/man/man1/ || return 1
+}
+
+md5sums="9737aa6b05758779df201113a9aa592b logilab-common-0.56.0.tar.gz"
diff --git a/testing/py-m2crypto/APKBUILD b/testing/py-m2crypto/APKBUILD
new file mode 100644
index 000000000..4719b4e0e
--- /dev/null
+++ b/testing/py-m2crypto/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer:
+pkgname=py-m2crypto
+_pkgname=M2Crypto
+pkgver=0.21.1
+pkgrel=0
+pkgdesc="A crypto and SSL toolkit for Python"
+url="http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=
+makedepends="python-dev swig openssl-dev"
+install=""
+subpackages=""
+source="http://pypi.python.org/packages/source/M/$_pkgname/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+md5sums="f93d8462ff7646397a9f77a2fe602d17 M2Crypto-0.21.1.tar.gz"
diff --git a/testing/py-newt_syrup/APKBUILD b/testing/py-newt_syrup/APKBUILD
new file mode 100644
index 000000000..5bba5059d
--- /dev/null
+++ b/testing/py-newt_syrup/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=py-newt_syrup
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="Newt Syrup is an app framework built on top of Newt"
+url="http://newt-syrup.fedorahosted.org/"
+arch="noarch"
+license="LGPLv2+"
+depends=""
+depends_dev=""
+makedepends="python-dev py-setuptools"
+install=""
+subpackages=""
+source="http://mcpierce.fedorapeople.org/rpms/newt_syrup-$pkgver.tar.gz"
+
+_builddir="$srcdir"/newt_syrup-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b9412ee2483d11da28a09a26c9b70c8d newt_syrup-0.1.2.tar.gz"
diff --git a/testing/py-paramiko/APKBUILD b/testing/py-paramiko/APKBUILD
new file mode 100644
index 000000000..c09e6f2e1
--- /dev/null
+++ b/testing/py-paramiko/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-paramiko
+_pkgname=paramiko
+pkgver=1.7.7.1
+pkgrel=0
+pkgdesc="SSH2 protocol library for Python"
+url="http://www.lag.net/paramiko/"
+arch="noarch"
+license="LGPL2+"
+depends="py-crypto"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-demos $pkgname-docs"
+source="http://www.lag.net/paramiko/download/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+demos() {
+ # Put the demo files into a seperate package
+ mkdir -p "$subpkgdir"/usr/share/doc/"$pkgname"/demos || return 1
+ mv "$_builddir"/demos "$subpkgdir"/usr/share/doc/"$pkgname"/ || return 1
+}
+
+docs() {
+ # Put the documentation files into a seperate package
+ mkdir -p "$subpkgdir"/usr/share/doc/"$pkgname"/docs || return 1
+ mv "$_builddir"/docs "$subpkgdir"/usr/share/doc/"$pkgname"/ || return 1
+}
+
+md5sums="ce8e2c254378312a264206f65c354d72 paramiko-1.7.7.1.tar.gz"
diff --git a/testing/py-tftpy/APKBUILD b/testing/py-tftpy/APKBUILD
new file mode 100644
index 000000000..c0f2766da
--- /dev/null
+++ b/testing/py-tftpy/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=tftpy
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="A Pure Python TFTP Protocol Implementation"
+url="http://tftpy.sourceforge.net/"
+arch="noarch"
+license="MIT"
+depends=""
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/tftpy/tftpy-$pkgver.tar.gz"
+_builddir="$srcdir"/tftpy-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="b306d30ef1799f1932540a54cd72f79d tftpy-0.6.0.tar.gz"
diff --git a/testing/py-urlgrabber/APKBUILD b/testing/py-urlgrabber/APKBUILD
new file mode 100644
index 000000000..3d812a5b8
--- /dev/null
+++ b/testing/py-urlgrabber/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=py-urlgrabber
+pkgver=3.9.1
+pkgrel=0
+pkgdesc="python module for fetching files"
+url="http://urlgrabber.baseurl.org/"
+arch="noarch"
+license="LGPL"
+depends="python py-curl"
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://urlgrabber.baseurl.org/download/urlgrabber-$pkgver.tar.gz"
+
+_builddir="$srcdir"/urlgrabber-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="00c8359bf71062d0946bacea521f80b4 urlgrabber-3.9.1.tar.gz"
diff --git a/testing/py-xattr/APKBUILD b/testing/py-xattr/APKBUILD
new file mode 100644
index 000000000..9d0ec5d9d
--- /dev/null
+++ b/testing/py-xattr/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-xattr
+_pkgname=pyxattr
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="A python module for accessing filesystem Extended Attributes"
+url="http://pyxattr.sourceforge.net/"
+arch="all"
+license="LGPL2+"
+depends=""
+depends_dev=""
+makedepends="python-dev attr-dev"
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --root="$pkgdir" || return 1
+}
+
+md5sums="0f7ab1e185087329e40f7de218517c84 pyxattr-0.5.0.tar.gz"
diff --git a/testing/py-yaml/APKBUILD b/testing/py-yaml/APKBUILD
new file mode 100644
index 000000000..29e0f3e62
--- /dev/null
+++ b/testing/py-yaml/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=py-yaml
+_pkgname=PyYAML
+pkgver=3.10
+pkgrel=0
+pkgdesc="Python bindings for YAML"
+url="http://pyyaml.org"
+arch="all"
+license="MIT"
+depends=
+depends_dev=
+makedepends="libyaml-dev python-dev"
+install=""
+subpackages=""
+source="http://pyyaml.org/download/pyyaml/$_pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+md5sums="74c94a383886519e9e7b3dd1ee540247 PyYAML-3.10.tar.gz"
diff --git a/testing/pylint/APKBUILD b/testing/pylint/APKBUILD
new file mode 100644
index 000000000..bb524faa5
--- /dev/null
+++ b/testing/pylint/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=pylint
+pkgver=0.23.0
+pkgrel=0
+pkgdesc="Analyzes Python code looking for bugs and signs of poor quality"
+url="http://pypi.python.org/pypi/pylint"
+arch="noarch"
+license="GPL2+"
+depends="python py-logilab-astng"
+depends_dev=""
+makedepends="python-dev py-logilab-astng"
+install=""
+subpackages="$pkgname-doc"
+source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ python setup.py build || return 1
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --prefix=/usr --root="$pkgdir" || return 1
+}
+
+doc() {
+ # The man page is not picked-up automatically
+ mkdir -p "$subpkgdir"/usr/share/man/man1 || return 1
+ mv "$_builddir"/man/*.1 "$subpkgdir"/usr/share/man/man1/ || return 1
+}
+
+md5sums="f010eee3289b1af77cd8e8e45fb72829 pylint-0.23.0.tar.gz"
diff --git a/testing/quvi/APKBUILD b/testing/quvi/APKBUILD
index 9243f22fc..6898a5aba 100644
--- a/testing/quvi/APKBUILD
+++ b/testing/quvi/APKBUILD
@@ -1,18 +1,18 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=quvi
-pkgver=0.2.15
-pkgrel=1
+pkgver=0.4.0
+pkgrel=0
pkgdesc="Command line tool for parsing video download links"
url="http://quvi.sourceforge.net/"
arch="all"
license="LGPLv2+"
depends=
-depends_dev="curl-dev pcre-dev lua-dev zlib-dev openssl-dev"
+depends_dev="libquvi-dev zlib-dev openssl-dev"
makedepends="$depends_dev"
install=""
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/quvi-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/quvi/quvi-$pkgver.tar.bz2"
_builddir="$srcdir"/quvi-$pkgver
prepare() {
@@ -39,7 +39,6 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
- rm "$pkgdir"/usr/lib/*.la
}
-md5sums="7cda6c6593c1281e89d91de3b0bed284 quvi-0.2.15.tar.gz"
+md5sums="3d59361a98b794392655a36d4424ebcc quvi-0.4.0.tar.bz2"
diff --git a/testing/rats/APKBUILD b/testing/rats/APKBUILD
new file mode 100644
index 000000000..ff43ff250
--- /dev/null
+++ b/testing/rats/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=rats
+pkgver=2.3
+pkgrel=0
+pkgdesc="A tool to find security related programming errors"
+url="https://www.fortify.com/ssa-elements/threat-intelligence/rats.html"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="expat-dev wget flex"
+install=""
+subpackages="$pkgname-doc"
+source="https://www.fortify.com/downloads2/public/$pkgname-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --datadir=/usr/share/ \
+ --mandir=/usr/share/man
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ ##make DESTDIR="$pkgdir" install || return 1
+ install -Dpm 0755 "$pkgname" "$pkgdir"/usr/bin/$pkgname || return 1
+ mkdir -p "$pkgdir"/usr/share/$pkgname || return 1
+ install -Dm 0644 *.xml "$pkgdir"/usr/share/$pkgname/ || return 1
+}
+
+doc() {
+ # The man page is not picked-up automatically
+ mkdir -p "$subpkgdir"/usr/share/man/man1 || return 1
+ mv "$_builddir"/*.1 "$subpkgdir"/usr/share/man/man1/ || return 1
+}
+
+md5sums="339ebe60fc61789808a457f6f967d226 rats-2.3.tar.gz"
diff --git a/testing/resource-agents/APKBUILD b/testing/resource-agents/APKBUILD
new file mode 100644
index 000000000..ed75607de
--- /dev/null
+++ b/testing/resource-agents/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=resource-agents
+pkgver=3.9.2
+pkgrel=0
+pkgdesc="Open Source HA Reusable Cluster Resource Scripts"
+url="http://www.linux-ha.org/wiki/Resource_Agents"
+arch="all"
+license="GPL2"
+depends=""
+depends_dev="cluster-glue-dev libxslt-dev libnet-dev"
+makedepends="$depends_dev automake autoconf perl docbook-xsl wget bash"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="saveas-https://github.com/ClusterLabs/resource-agents/tarball/v3.9.2/resouce-agents-3.9.2.tar.gz"
+
+_builddir="$srcdir"/ClusterLabs-resource-agents-b735277
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ sed -i 's/export -n/export/g' configure.ac
+}
+
+build() {
+ cd "$_builddir"
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-fatal-warnings=no \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="3b5790e8041f2a459d8a0ff310682bfe resouce-agents-3.9.2.tar.gz"
diff --git a/testing/rpmlint/APKBUILD b/testing/rpmlint/APKBUILD
new file mode 100644
index 000000000..abb06ad9a
--- /dev/null
+++ b/testing/rpmlint/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=rpmlint
+pkgver=1.3
+pkgrel=0
+pkgdesc="A tool for checking common errors in RPM packages"
+url="http://rpmlint.zarb.org"
+arch="noarch"
+license="GPL2"
+depends="python"
+depends_dev=""
+makedepends="python-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://rpmlint.zarb.org/download/$pkgname-$pkgver.tar.xz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+md5sums="afe1b906776d1ab8148888c25fd31006 rpmlint-1.3.tar.xz"
diff --git a/testing/rrdbot/APKBUILD b/testing/rrdbot/APKBUILD
index 426c51e23..3acfd2ae5 100644
--- a/testing/rrdbot/APKBUILD
+++ b/testing/rrdbot/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=rrdbot
pkgver=0.9.6
-pkgrel=1
+pkgrel=2
pkgdesc="an SNMP polling daemon which writes the polled values to an RRD database"
url="http://memberwebs.com/stef/software/rrdbot/"
arch="all"
@@ -43,5 +43,5 @@ package() {
}
md5sums="8329c8f58136158b25c3179e825c66e6 rrdbot-0.9.6.tar.gz
-e74785806860537d38a5863fc90b324f rrdbotd.initd
+68d118f9a86c6cf8e718d0f2be210306 rrdbotd.initd
cbcac88f5b728b1441891947a4babbcb rrdbotd.confd"
diff --git a/testing/rrdbot/rrdbotd.initd b/testing/rrdbot/rrdbotd.initd
index d0fcdc4a6..5fae6e8dd 100644
--- a/testing/rrdbot/rrdbotd.initd
+++ b/testing/rrdbot/rrdbotd.initd
@@ -13,7 +13,7 @@ start() {
ebegin "Starting ${name}"
start-stop-daemon --start --quiet \
--pidfile "$pidfile" \
- --chuid ${rrdbotd_user:-rrdbotd}:${rrdbotd_group:-rrdbotd} \
+ --user ${rrdbotd_user:-rrdbotd}:${rrdbotd_group:-rrdbotd} \
--exec ${daemon} -- ${rrdbotd_opts} -p "$pidfile"
eend $?
}
diff --git a/testing/sarg/APKBUILD b/testing/sarg/APKBUILD
new file mode 100644
index 000000000..96628569a
--- /dev/null
+++ b/testing/sarg/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=sarg
+pkgver=2.3.1
+pkgrel=0
+pkgdesc="SARG Squid Analysis Report Generator"
+url="http://sarg.sourceforge.net/"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc $pkgname-php"
+source="http://sourceforge.net/projects/sarg/files/sarg/sarg-$pkgver/sarg-$pkgver.tar.gz"
+
+_builddir="$srcdir"/sarg-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/sarg \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+php() {
+ pkgdesc="SARG php interface"
+ depends="php"
+ arch="noarch"
+ cd "$_builddir"
+ mkdir -p "$subpkgdir"/usr/share/webapps
+ cp -a sarg-php \
+ "$subpkgdir"/usr/share/webapps
+}
+
+md5sums="bf637b8a820b81e2c55e815934151b4d sarg-2.3.1.tar.gz"
diff --git a/testing/scrub/APKBUILD b/testing/scrub/APKBUILD
new file mode 100644
index 000000000..9eb9141fc
--- /dev/null
+++ b/testing/scrub/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=scrub
+pkgver=2.4
+pkgrel=0
+pkgdesc="A disk overwrite utility"
+url="http://code.google.com/p/diskscrub/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends=""
+install=""
+subpackages="$pkgname-doc"
+source="http://diskscrub.googlecode.com/files/$pkgname-$pkgver.tar.bz2"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="653b9698a7e62fd0c22704e1d6a3469c scrub-2.4.tar.bz2"
diff --git a/testing/sdparm/APKBUILD b/testing/sdparm/APKBUILD
new file mode 100644
index 000000000..fba1af504
--- /dev/null
+++ b/testing/sdparm/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=sdparm
+pkgver=1.06
+pkgrel=0
+pkgdesc="SCSI device parameter modification tool"
+url="http://sg.danny.cz/sg/sdparm.html"
+arch="all"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://sg.danny.cz/sg/p/sdparm-$pkgver.tgz"
+
+_builddir="$srcdir"/sdparm-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="5e19913658bb4f9849ddd909e0f47cde sdparm-1.06.tgz"
diff --git a/testing/shed/APKBUILD b/testing/shed/APKBUILD
new file mode 100644
index 000000000..e159abe88
--- /dev/null
+++ b/testing/shed/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=shed
+pkgver=1.15
+pkgrel=0
+pkgdesc="A simple hex editor"
+url="http://shed.sourceforge.net/"
+arch="all"
+license="GPL2+"
+depends=""
+depends_dev=""
+makedepends="ncurses-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/shed/shed-$pkgver.tar.gz"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="c7d7d464d6b4fa28a7980270d03e0906 shed-1.15.tar.gz"
diff --git a/testing/sipsak/APKBUILD b/testing/sipsak/APKBUILD
index 96762b899..d328c7e96 100644
--- a/testing/sipsak/APKBUILD
+++ b/testing/sipsak/APKBUILD
@@ -1,5 +1,5 @@
# Contributor:
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=sipsak
pkgver=0.9.6
pkgrel=0
diff --git a/testing/squidguard/APKBUILD b/testing/squidguard/APKBUILD
index f7e7f45d4..9b781ea22 100644
--- a/testing/squidguard/APKBUILD
+++ b/testing/squidguard/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=squidguard
_realname=squidGuard
pkgver=1.4
diff --git a/testing/strongswan/APKBUILD b/testing/strongswan/APKBUILD
index e89a40188..b90a3e218 100644
--- a/testing/strongswan/APKBUILD
+++ b/testing/strongswan/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jesse Young <jlyo@jlyo.org>
# Maintainer:
pkgname=strongswan
-pkgver=4.5.2
+pkgver=4.6.1
pkgrel=0
pkgdesc="IPsec-based VPN solution focused on security and ease of use, supporting IKEv1/IKEv2 and MOBIKE"
url="http://www.strongswan.org/"
@@ -11,7 +11,7 @@ depends="iproute2 openssl"
depends_dev="sqlite-dev openssl-dev curl-dev gmp-dev"
makedepends="$depends_dev"
install=""
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-doc"
source="http://download.strongswan.org/$pkgname-$pkgver.tar.bz2 adns.patch strongswan.initd"
_builddir="$srcdir/$pkgname-$pkgver"
@@ -65,10 +65,10 @@ package() {
make DESTDIR="$pkgdir" install || return 1
install -m755 -D "$srcdir/$pkgname.initd" \
"$pkgdir/etc/init.d/$pkgname"
- rm "$pkgdir"/usr/lib/strongswan/plugins/*.la || return 1
- rm "$pkgdir"/usr/lib/*.la || return 1
+ rm "$pkgdir"/usr/lib/ipsec/plugins/*.la || return 1
+ rm "$pkgdir"/usr/lib/ipsec/*.la || return 1
}
-md5sums="ac33b8f849a274127f84df0838cae953 strongswan-4.5.2.tar.bz2
+md5sums="85a28a12ed6f286a5bc9117e3a9386bb strongswan-4.6.1.tar.bz2
8f02d0e582ac9ac60c28e465b626481d adns.patch
fb9822512d02f521af8812db22a5175e strongswan.initd"
diff --git a/testing/thunar-media-tags-plugin/01_port-to-thunarx-2.patch b/testing/thunar-media-tags-plugin/01_port-to-thunarx-2.patch
new file mode 100644
index 000000000..0c170f132
--- /dev/null
+++ b/testing/thunar-media-tags-plugin/01_port-to-thunarx-2.patch
@@ -0,0 +1,98 @@
+Description: Port to thunarx-2
+ Upstream patch for commit 'b805797f9bed98229f036e56c98ec16f40b539aa'
+ slightly updated to include '270924abcab81275dede68d882936c14b238b3ec'
+ (more realistic thunar version, 1.0.1 instead of 0.2.3svn-r20526).
+ .
+ Also slightly updated to patch configure.in instead of configure.in.in
+ (not available in released tarballs).
+Origin: backport, http://git.xfce.org/thunar-plugins/thunar-media-tags-plugin/commit/?h=thunarx-2&id=b805797f9bed98229f036e56c98ec16f40b539aa
+---
+diff --git a/configure.in b/configure.in
+index 0ea7f85..8764561 100644
+--- a/configure.in
++++ b/configure.in
+@@ -65,8 +65,7 @@ dnl ***********************************
+ dnl *** Check for required packages ***
+ dnl ***********************************
+ XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1.3])
+-XDT_CHECK_PACKAGE([THUNARX], [thunarx-1], [0.2.3svn-r20526])
+-XDT_CHECK_PACKAGE([THUNARVFS], [thunar-vfs-1], [0.2.3svn-r20526])
++XDT_CHECK_PACKAGE([THUNARX], [thunarx-2], [1.0.1])
+ XDT_CHECK_PACKAGE([TAGLIB], [taglib], [1.4])
+
+ dnl ***********************************
+diff --git a/thunar-plugin/Makefile.am b/thunar-plugin/Makefile.am
+index a3c2c25..a7bdb58 100644
+--- a/thunar-plugin/Makefile.am
++++ b/thunar-plugin/Makefile.am
+@@ -8,7 +8,7 @@
+ -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
+ $(PLATFORM_CPPFLAGS)
+
+-extensionsdir = $(libdir)/thunarx-1
++extensionsdir = $(libdir)/thunarx-2
+ extensions_LTLIBRARIES = \
+ thunar-media-tags-plugin.la
+
+@@ -25,7 +25,6 @@
+ $(EXO_CFLAGS) \
+ $(PLATFORM_CFLAGS) \
+ $(THUNARX_CFLAGS) \
+- $(THUNARVFS_CFLAGS) \
+ $(TAGLIB_CFLAGS) \
+ $(TAGLIBC_CFLAGS)
+
+@@ -34,7 +33,6 @@
+ -export-dynamic \
+ -module \
+ $(THUNARX_LIBS) \
+- $(THUNARVFS_LIBS) \
+ $(TAGLIB_LIBS) \
+ $(TAGLIBC_LIBS) \
+ $(PLATFORM_LDFLAGS)
+diff --git a/thunar-plugin/audio-tags-page.c b/thunar-plugin/audio-tags-page.c
+index 099d7ad..7e5dab5 100644
+--- a/thunar-plugin/audio-tags-page.c
++++ b/thunar-plugin/audio-tags-page.c
+@@ -32,7 +32,6 @@
+ #include <taglib/tag_c.h>
+
+ #include <exo/exo.h>
+-#include <thunar-vfs/thunar-vfs.h>
+
+ #include <audio-tags-page.h>
+
+@@ -977,8 +976,8 @@ audio_tags_page_info_activate (GtkAction *action,
+
+ gchar *mimetype;
+
+- ThunarVfsInfo *vfs_info;
+- gchar *filename;
++ GFileInfo *fileinfo;
++ const char *filename;
+ gchar *filesize;
+
+ g_return_val_if_fail (page != NULL || IS_AUDIO_TAGS_PAGE (page), FALSE);
+@@ -1007,9 +1006,9 @@ audio_tags_page_info_activate (GtkAction *action,
+
+ /* Additional information */
+ mimetype = thunarx_file_info_get_mime_type (page->file);
+- vfs_info = thunarx_file_info_get_vfs_info (page->file);
+- filename = vfs_info->display_name;
+- filesize = thunar_vfs_humanize_size (vfs_info->size, NULL, 0);
++ fileinfo = thunarx_file_info_get_file_info (page->file);
++ filename = g_file_info_get_display_name (fileinfo);
++ filesize = g_format_size_for_display (g_file_info_get_size (fileinfo));
+
+ /* Create layout table */
+ table = gtk_table_new (7, 2, FALSE);
+@@ -1121,7 +1120,7 @@ audio_tags_page_info_activate (GtkAction *action,
+ g_free (filesize);
+ g_free (mimetype);
+
+- thunar_vfs_info_unref (vfs_info);
++ g_object_unref (fileinfo);
+
+ return TRUE;
+ }
+
diff --git a/testing/thunar-media-tags-plugin/02_port-to-exo-1.patch b/testing/thunar-media-tags-plugin/02_port-to-exo-1.patch
new file mode 100644
index 000000000..e3ab9b148
--- /dev/null
+++ b/testing/thunar-media-tags-plugin/02_port-to-exo-1.patch
@@ -0,0 +1,175 @@
+Description: Port to exo-1
+ Patch slightly updated to patch configure.in instead of configure.in.in
+ (not available in released tarballs), and to apply cleanly against 0.1.2.
+Origin: backport, http://bugzilla.xfce.org/attachment.cgi?id=2882
+Bug: http://bugzilla.xfce.org/show_bug.cgi?id=6295
+---
+ configure.in | 3 ++-
+ thunar-plugin/audio-tags-page.c | 22 +++++++---------------
+ thunar-plugin/tag-renamer.c | 16 +++-------------
+ 3 files changed, 12 insertions(+), 29 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index ed3099b..c345c5c 100644
+--- a/configure.in
++++ b/configure.in
+@@ -64,7 +64,8 @@ XDT_I18N([@LINGUAS@])
+ dnl ***********************************
+ dnl *** Check for required packages ***
+ dnl ***********************************
+-XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1.3])
++XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.12.0])
++XDT_CHECK_PACKAGE([EXO], [exo-1], [0.5.0])
+ XDT_CHECK_PACKAGE([THUNARX], [thunarx-2], [1.0.1])
+ XDT_CHECK_PACKAGE([TAGLIB], [taglib], [1.4])
+
+diff --git a/thunar-plugin/audio-tags-page.c b/thunar-plugin/audio-tags-page.c
+index 7e5dab5..40b226f 100644
+--- a/thunar-plugin/audio-tags-page.c
++++ b/thunar-plugin/audio-tags-page.c
+@@ -89,7 +89,6 @@ struct _AudioTagsPage
+ ThunarxPropertyPage __parent__;
+
+ /* Widgets */
+- GtkTooltips *tooltips;
+ GtkWidget *table;
+ GtkWidget *save_button;
+ GtkWidget *info_button;
+@@ -281,10 +280,6 @@ audio_tags_page_init (AudioTagsPage *page)
+
+ gtk_container_set_border_width (GTK_CONTAINER (page), 8);
+
+- /* Allocate the shared tooltips */
+- page->tooltips = gtk_tooltips_new ();
+- exo_gtk_object_ref_sink (GTK_OBJECT (page->tooltips));
+-
+ /* Main container */
+ vbox = gtk_vbox_new (FALSE, 8);
+ gtk_container_add (GTK_CONTAINER (page), vbox);
+@@ -316,7 +311,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Track spin button */
+ spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 1, 0);
+ exo_mutual_binding_new (G_OBJECT (adjustment), "value", G_OBJECT (page), "track");
+- gtk_tooltips_set_tip (page->tooltips, spin, _("Enter the track number here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (spin), _("Enter the track number here."));
+ gtk_container_add (GTK_CONTAINER (alignment), spin);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin);
+ gtk_widget_show (spin);
+@@ -339,7 +334,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Year spin button */
+ spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 1, 0);
+ exo_mutual_binding_new (G_OBJECT (adjustment), "value", G_OBJECT (page), "year");
+- gtk_tooltips_set_tip (page->tooltips, spin, _("Enter the release year here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (spin), _("Enter the release year here."));
+ gtk_container_add (GTK_CONTAINER (alignment), spin);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin);
+ gtk_widget_show (spin);
+@@ -354,7 +349,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Artist entry */
+ entry = gtk_entry_new ();
+ exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "artist");
+- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the name of the artist or author of this file here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the name of the artist or author of this file here."));
+ gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
+ gtk_widget_show (entry);
+@@ -369,7 +364,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Title entry */
+ entry = gtk_entry_new ();
+ exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "title");
+- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the song title here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the song title here."));
+ gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_widget_show (entry);
+
+@@ -383,7 +378,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Album entry */
+ entry = gtk_entry_new ();
+ exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "album");
+- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter the album/record title here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter the album/record title here."));
+ gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_widget_show (entry);
+
+@@ -397,7 +392,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Comment entry */
+ entry = gtk_entry_new ();
+ exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (page), "comment");
+- gtk_tooltips_set_tip (page->tooltips, entry, _("Enter your comments here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), _("Enter your comments here."));
+ gtk_table_attach (GTK_TABLE (page->table), entry, 1, 4, 4, 5, GTK_EXPAND | GTK_FILL, 0, 0, 0);
+ gtk_widget_show (entry);
+
+@@ -411,7 +406,7 @@ audio_tags_page_init (AudioTagsPage *page)
+ /* Genre combo box */
+ combo = gtk_combo_box_entry_new_text ();
+ exo_mutual_binding_new (G_OBJECT (GTK_BIN (combo)->child), "text", G_OBJECT (page), "genre");
+- gtk_tooltips_set_tip (page->tooltips, combo, _("Select or enter the genre of this song here."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (combo), _("Select or enter the genre of this song here."));
+ gtk_table_attach (GTK_TABLE (page->table), combo, 1, 4, 5, 6, GTK_FILL, 0, 0, 0);
+ gtk_widget_show (combo);
+
+@@ -511,9 +506,6 @@ audio_tags_page_finalize (GObject *object)
+ if (G_LIKELY (page->genre != NULL))
+ g_free (page->genre);
+
+- /* Release the tooltips */
+- g_object_unref (G_OBJECT (page->tooltips));
+-
+ (*G_OBJECT_CLASS (audio_tags_page_parent_class)->finalize) (object);
+ }
+
+diff --git a/thunar-plugin/tag-renamer.c b/thunar-plugin/tag-renamer.c
+index acb694e..bdbb17c 100644
+--- a/thunar-plugin/tag-renamer.c
++++ b/thunar-plugin/tag-renamer.c
+@@ -116,9 +116,6 @@ struct _TagRenamer
+ {
+ ThunarxRenamer __parent__;
+
+- /* Widgets */
+- GtkTooltips *tooltips;
+-
+ /* Properties */
+ TagRenamerFormat format;
+ gboolean replace_spaces;
+@@ -209,10 +206,6 @@ tag_renamer_init (TagRenamer *tag_renamer)
+ GEnumClass *klass;
+ gint n;
+
+- /* Allocate shared tooltips */
+- tag_renamer->tooltips = gtk_tooltips_new ();
+- exo_gtk_object_ref_sink (GTK_OBJECT (tag_renamer->tooltips));
+-
+ table = gtk_table_new (2, 3, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 12);
+@@ -245,14 +238,14 @@ tag_renamer_init (TagRenamer *tag_renamer)
+
+ button = gtk_check_button_new_with_mnemonic (_("_Underscores"));
+ exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (tag_renamer), "replace-spaces");
+- gtk_tooltips_set_tip (tag_renamer->tooltips, button, _("Activating this option will replace all spaces in the target filename "
+- "with underscores."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (button), _("Activating this option will replace all spaces in the target filename "
++ "with underscores."));
+ gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1, GTK_FILL, 0, 0, 0);
+ gtk_widget_show (button);
+
+ button = gtk_check_button_new_with_mnemonic (_("_Lowercase"));
+ exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (tag_renamer), "lowercase");
+- gtk_tooltips_set_tip (tag_renamer->tooltips, button, _("If you activate this, the resulting filename will only contain lowercase letters."), NULL);
++ gtk_widget_set_tooltip_text (GTK_WIDGET (button), _("If you activate this, the resulting filename will only contain lowercase letters."));
+ gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2, GTK_FILL, 0, 0, 0);
+ gtk_widget_show (button);
+
+@@ -272,9 +265,6 @@ tag_renamer_finalize (GObject *object)
+ {
+ TagRenamer *tag_renamer = TAG_RENAMER (object);
+
+- /* release the tooltips */
+- g_object_unref (G_OBJECT (tag_renamer->tooltips));
+-
+ /* Free strings */
+ g_free (tag_renamer->artist);
+ g_free (tag_renamer->title);
+
diff --git a/testing/thunar-media-tags-plugin/03_fix-crash-with-ogg-video-files.patch b/testing/thunar-media-tags-plugin/03_fix-crash-with-ogg-video-files.patch
new file mode 100644
index 000000000..eb50af938
--- /dev/null
+++ b/testing/thunar-media-tags-plugin/03_fix-crash-with-ogg-video-files.patch
@@ -0,0 +1,28 @@
+Description: Call taglib_file_is_valid() for input audio files
+ Check that the file contains valid audio information to determine whether
+ the plugin should act on it or not.
+Origin: other, http://bugzilla.xfce.org/attachment.cgi?id=2879
+Bug: http://bugzilla.xfce.org/show_bug.cgi?id=6297
+---
+ thunar-plugin/media-tags-provider.c | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/thunar-plugin/media-tags-provider.c b/thunar-plugin/media-tags-provider.c
+index a7604ea..2c31a98 100644
+--- a/thunar-plugin/media-tags-provider.c
++++ b/thunar-plugin/media-tags-provider.c
+@@ -163,10 +163,11 @@ media_tags_get_audio_file_supported (ThunarxFileInfo *info)
+
+ if (G_LIKELY (taglib_file != NULL))
+ {
++ /* Check that the file contains valid audio info */
++ supported = taglib_file_is_valid (taglib_file);
++
+ /* Free the taglib file */
+ taglib_file_free (taglib_file);
+-
+- supported = TRUE;
+ }
+
+ g_free (filename);
+
diff --git a/testing/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch b/testing/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch
new file mode 100644
index 000000000..264d7237a
--- /dev/null
+++ b/testing/thunar-media-tags-plugin/04_fix-implicit-dso-linking.patch
@@ -0,0 +1,13 @@
+Description: add missing libs
+Origin: other, http://bugzilla.xfce.org/attachment.cgi?id=3284
+Bug: http://bugzilla.xfce.org/show_bug.cgi?id=6295
+--- thunar-media-tags-plugin-0.1.2.orig/thunar-plugin/Makefile.am
++++ thunar-media-tags-plugin-0.1.2/thunar-plugin/Makefile.am
+@@ -32,6 +32,7 @@
+ -avoid-version \
+ -export-dynamic \
+ -module \
++ $(EXO_LIBS) \
+ $(THUNARX_LIBS) \
+ $(TAGLIB_LIBS) \
+ $(TAGLIBC_LIBS) \
diff --git a/testing/thunar-media-tags-plugin/APKBUILD b/testing/thunar-media-tags-plugin/APKBUILD
new file mode 100644
index 000000000..5a6313345
--- /dev/null
+++ b/testing/thunar-media-tags-plugin/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=thunar-media-tags-plugin
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="Media Tags plugin for the Thunar file manager"
+url="http://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin"
+arch="all"
+license="GPLv2+"
+depends=""
+makedepends="thunar-dev xfce4-dev-tools taglib-dev"
+install=""
+subpackages="$pkgname-lang"
+source="http://goodies.xfce.org/releases/thunar-media-tags-plugin/thunar-media-tags-plugin-$pkgver.tar.bz2
+ 01_port-to-thunarx-2.patch
+ 02_port-to-exo-1.patch
+ 03_fix-crash-with-ogg-video-files.patch
+ 04_fix-implicit-dso-linking.patch"
+
+_builddir="$srcdir"/thunar-media-tags-plugin-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ xdt-autogen
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/lib/xfce4 \
+ --disable-static \
+ --sysconfdir=/etc \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm "$pkgdir"/usr/lib/thunarx-2/*.la
+}
+
+md5sums="8a95f0ea4df6f757c1c94eb5442d2ff5 thunar-media-tags-plugin-0.1.2.tar.bz2
+479843c634c516afb405ebdd72f37203 01_port-to-thunarx-2.patch
+5af37349b7d6d1b0180e49c1d86f9d8f 02_port-to-exo-1.patch
+d83ec2e224db216f90e9035b442e1e73 03_fix-crash-with-ogg-video-files.patch
+b6956747e247de938bc0970ba78cd8bf 04_fix-implicit-dso-linking.patch"
diff --git a/testing/thunderbird/0002-Use-C99-math-isfinite.patch b/testing/thunderbird/0002-Use-C99-math-isfinite.patch
new file mode 100644
index 000000000..3d85a6928
--- /dev/null
+++ b/testing/thunderbird/0002-Use-C99-math-isfinite.patch
@@ -0,0 +1,43 @@
+From cdb9db4c1c593dbe22db4f389a62fce034f31f2d Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 25 Nov 2011 08:30:51 +0000
+Subject: [PATCH 2/4] Use C99 math isfinite
+
+---
+ js/src/ctypes/CTypes.cpp | 2 +-
+ xpcom/ds/nsMathUtils.h | 6 +++++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/js/src/ctypes/CTypes.cpp b/js/src/ctypes/CTypes.cpp
+index 5c0f886..a3b1ae6 100644
+--- a/js/src/ctypes/CTypes.cpp
++++ b/js/src/ctypes/CTypes.cpp
+@@ -467,7 +467,7 @@ static inline bool FloatIsFinite(jsdouble f) {
+ #ifdef WIN32
+ return _finite(f) != 0;
+ #else
+- return finite(f);
++ return isfinite(f);
+ #endif
+ }
+
+diff --git a/xpcom/ds/nsMathUtils.h b/xpcom/ds/nsMathUtils.h
+index 21ffbec..2e80476 100644
+--- a/xpcom/ds/nsMathUtils.h
++++ b/xpcom/ds/nsMathUtils.h
+@@ -131,7 +131,11 @@ inline NS_HIDDEN_(bool) NS_finite(double d)
+ // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
+ return !!_finite(d);
+ #else
+- return finite(d);
++#ifdef _GLIBCXX_CMATH
++ return std::isfinite(d);
++#else
++ return isfinite(d);
++#endif
+ #endif
+ }
+
+--
+1.7.7.4
+
diff --git a/testing/thunderbird/0004-xulrunner-malloc_usable_size.patch b/testing/thunderbird/0004-xulrunner-malloc_usable_size.patch
new file mode 100644
index 000000000..aae416c7d
--- /dev/null
+++ b/testing/thunderbird/0004-xulrunner-malloc_usable_size.patch
@@ -0,0 +1,25 @@
+From a2a15c826a5e1743ba71288543b9e144603fba26 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 25 Nov 2011 08:40:53 +0000
+Subject: [PATCH 4/4] xulrunner: malloc_usable_size
+
+---
+ memory/mozalloc/mozalloc.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/memory/mozalloc/mozalloc.cpp b/memory/mozalloc/mozalloc.cpp
+index 58e5192..500c651 100644
+--- a/memory/mozalloc/mozalloc.cpp
++++ b/memory/mozalloc/mozalloc.cpp
+@@ -267,7 +267,7 @@ moz_malloc_usable_size(void *ptr)
+ #if defined(XP_MACOSX)
+ return malloc_size(ptr);
+ #elif defined(MOZ_MEMORY)
+- return malloc_usable_size(ptr);
++ return 0;
+ #elif defined(XP_WIN)
+ return _msize(ptr);
+ #else
+--
+1.7.7.4
+
diff --git a/testing/thunderbird/APKBUILD b/testing/thunderbird/APKBUILD
new file mode 100644
index 000000000..ae94b46db
--- /dev/null
+++ b/testing/thunderbird/APKBUILD
@@ -0,0 +1,100 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=thunderbird
+pkgver=8.0
+_pkgver=$pkgver
+_xulver=8.0
+pkgrel=0
+pkgdesc="Mozilla Thunderbird mail/newsgroup client"
+url="http://www.mozilla.org/projects/thunderbird/"
+arch="all"
+license="MPLv1.1 or GPLv2+ or LGPLv2+"
+depends="xulrunner>=${_xulver} zip"
+makedepends="
+ alsa-lib-dev
+ cairo-dev
+ curl-dev
+ dbus-glib-dev
+ gtk+2.0-dev
+ hicolor-icon-theme
+ hunspell-dev
+ libevent-dev
+ libidl-dev
+ libnotify-dev
+ libvpx-dev
+ libx11-dev
+ libxext-dev
+ libxt-dev
+ mesa-dev
+ nspr-dev
+ nss-dev
+ python
+ sqlite-dev
+ startup-notification-dev
+ wireless-tools-dev
+ xulrunner-dev>=${_xulver}
+ yasm
+ "
+install=""
+subpackages=""
+source="http://releases.mozilla.org/pub/mozilla.org/${pkgname}/releases/${pkgver}/source/${pkgname}-${_pkgver}.source.tar.bz2
+ mozconfig
+ thunderbird.desktop
+ xpt.py.patch
+ jemalloc-libs.patch
+ "
+# mozalloc_usable_size.patch
+# finite.patch
+
+_builddir="${srcdir}/comm-release"
+_mozappdir=/usr/lib/thunderbird-$pkgver
+
+prepare() {
+ local i
+
+ cd "$_builddir"
+
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ cp "${srcdir}/mozconfig" .mozconfig || return 1
+ echo "ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)" >> .mozconfig
+}
+
+build() {
+ cd "$_builddir"
+
+ # mozilla's buildsystem is on drugs
+ export CFLAGS="$(echo $CFLAGS | sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')"
+ export CXXFLAGS="$CFLAGS -std=gnu++0x"
+
+# export LDFLAGS="-Wl,-rpath,${_mozappdir}"
+ make -j1 -f client.mk build \
+ STRIP="/bin/true" \
+ MOZ_MAKE_FLAGS="$MAKEOPTS" || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make -j1 DESTDIR="$pkgdir" -f client.mk install || return 1
+
+ for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
+ install -Dm644 other-licenses/branding/thunderbird/mailicon${i/x*/}.png \
+ "$pkgdir/usr/share/icons/hicolor/$i/apps/thunderbird.png"
+ done
+
+ install -Dm644 "$srcdir"/$pkgname.desktop \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop || return 1
+
+ # xulrunner stub launcher has changed to using a symlink overlay...
+ # go figure
+ ln -sf /usr/lib/xulrunner-${_xulver} ${pkgdir}/$_mozappdir/xulrunner
+}
+
+md5sums="332f60036aebdce7dec6ee2b1af4941d thunderbird-8.0.source.tar.bz2
+ca98c2bf1017b33e19dae22fdcef2e73 mozconfig
+af3e5b344d2edf1c7d61bb0a5a96de9a thunderbird.desktop
+c872ba4217937bbbb6d2ab469a3bf95a xpt.py.patch
+7f4d92ea8800a34b3c23569c7993f092 jemalloc-libs.patch"
diff --git a/testing/thunderbird/finite.patch b/testing/thunderbird/finite.patch
new file mode 100644
index 000000000..63927ab82
--- /dev/null
+++ b/testing/thunderbird/finite.patch
@@ -0,0 +1,26 @@
+--- ./mozilla/js/src/ctypes/CTypes.cpp.orig
++++ ./mozilla/js/src/ctypes/CTypes.cpp
+@@ -467,7 +467,7 @@
+ #ifdef WIN32
+ return _finite(f) != 0;
+ #else
+- return finite(f);
++ return isfinite(f);
+ #endif
+ }
+
+--- ./mozilla/xpcom/ds/nsMathUtils.h
++++ ./mozilla/xpcom/ds/nsMathUtils.h
+@@ -131,7 +131,11 @@ inline NS_HIDDEN_(bool) NS_finite(double d)
+ // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
+ return !!_finite(d);
+ #else
+- return finite(d);
++#ifdef _GLIBCXX_CMATH
++ return std::isfinite(d);
++#else
++ return isfinite(d);
++#endif
+ #endif
+ }
+
diff --git a/testing/thunderbird/jemalloc-libs.patch b/testing/thunderbird/jemalloc-libs.patch
new file mode 100644
index 000000000..e7968986b
--- /dev/null
+++ b/testing/thunderbird/jemalloc-libs.patch
@@ -0,0 +1,11 @@
+--- ./mail/app/Makefile.in.orig
++++ ./mail/app/Makefile.in
+@@ -172,8 +172,6 @@
+ RCFLAGS += -DTHUNDERBIRD_ICO=\"$(DIST)/branding/thunderbird.ico\"
+ endif
+
+-LIBS += $(JEMALLOC_LIBS)
+-
+ include $(topsrcdir)/config/rules.mk
+
+ ifdef MOZILLA_OFFICIAL
diff --git a/testing/thunderbird/mozalloc_usable_size.patch b/testing/thunderbird/mozalloc_usable_size.patch
new file mode 100644
index 000000000..9b6740dce
--- /dev/null
+++ b/testing/thunderbird/mozalloc_usable_size.patch
@@ -0,0 +1,11 @@
+--- ./mozilla/memory/mozalloc/mozalloc.cpp.orig
++++ ./mozilla/memory/mozalloc/mozalloc.cpp
+@@ -266,7 +266,7 @@
+
+ #if defined(XP_MACOSX)
+ return malloc_size(ptr);
+-#elif defined(MOZ_MEMORY)
++#elif defined(MOZ_MEMORY) && !defined(__UCLIBC__)
+ return malloc_usable_size(ptr);
+ #elif defined(XP_WIN)
+ return _msize(ptr);
diff --git a/testing/thunderbird/mozconfig b/testing/thunderbird/mozconfig
new file mode 100644
index 000000000..85ed8a648
--- /dev/null
+++ b/testing/thunderbird/mozconfig
@@ -0,0 +1,40 @@
+mk_add_options MOZ_CO_PROJECT=mail
+ac_add_options --enable-application=mail
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-pixman
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-official-branding
+ac_add_options --enable-safe-browsing
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
diff --git a/testing/thunderbird/thunderbird.desktop b/testing/thunderbird/thunderbird.desktop
new file mode 100644
index 000000000..a626e52ba
--- /dev/null
+++ b/testing/thunderbird/thunderbird.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=Thunderbird
+Comment=Mail & News Reader
+GenericName=Mail Client & News Reader
+Exec=thunderbird %u
+TryExec=thunderbird
+Icon=thunderbird
+Terminal=false
+Type=Application
+Categories=Network;Email;
+MimeType=message/rfc822;x-scheme-handler/mailto;
+StartupNotify=true
diff --git a/testing/thunderbird/xpt.py.patch b/testing/thunderbird/xpt.py.patch
new file mode 100644
index 000000000..1718e8707
--- /dev/null
+++ b/testing/thunderbird/xpt.py.patch
@@ -0,0 +1,11 @@
+--- ./config/config.mk.orig
++++ ./config/config.mk
+@@ -368,7 +368,7 @@
+ else
+ XPIDL_COMPILE = $(CYGWIN_WRAPPER) $(LIBXUL_DIST)/bin/xpidl$(BIN_SUFFIX)
+ endif
+-XPIDL_LINK = $(PYTHON) $(SDK_BIN_DIR)/xpt.py link
++XPIDL_LINK = $(PYTHON) $(LIBXUL_DIST)/sdk/bin/xpt.py link
+
+ INCLUDES = \
+ $(LOCAL_INCLUDES) \
diff --git a/testing/totem-pl-parser/APKBUILD b/testing/totem-pl-parser/APKBUILD
index 018ee53b7..13201e2cc 100644
--- a/testing/totem-pl-parser/APKBUILD
+++ b/testing/totem-pl-parser/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=totem-pl-parser
pkgver=2.32.1
-pkgrel=2
+pkgrel=3
pkgdesc="playlist parsing library for totem"
url="http://projects.gnome.org/totem"
arch="all"
@@ -38,6 +38,7 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
+ rm "$pkgdir"/usr/lib/*.la || return 1
}
md5sums="2cedaab5dee14526ad0be0970155151f totem-pl-parser-2.32.1.tar.bz2
diff --git a/testing/truecrypt/APKBUILD b/testing/truecrypt/APKBUILD
new file mode 100644
index 000000000..2cb716eef
--- /dev/null
+++ b/testing/truecrypt/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=truecrypt
+pkgver=7.1
+pkgrel=1
+pkgdesc="crypto"
+url="http://www.truecrypt.org/"
+arch="all"
+license="AS-IS"
+depends="device-mapper"
+depends_dev=""
+makedepends="nasm fuse-dev wxgtk-dev"
+install=""
+subpackages=""
+source="ftp://ftp.archlinux.org/other/tc/truecrypt-${pkgver}.tar.gz
+ ftp://ftp.archlinux.org/other/tc/pkcs-2.20.tar.gz
+ truecrypt-arch-detection.patch
+ execstack-fix.patch
+ truecrypt.desktop
+ "
+
+_builddir="$srcdir"/truecrypt-7.1-source
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make PKCS11_INC="${srcdir}/pkcs-2.20" VERBOSE=1 \
+ TC_EXTRA_CFLAGS="${CFLAGS}" \
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ TC_EXTRA_LFLAGS="${LDFLAGS} -fno-PIE" \
+ NOSTRIP=1 \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+ install -Dm755 Main/truecrypt "$pkgdir"/usr/bin/truecrypt || return 1
+ install -Dm644 "$srcdir"/truecrypt.desktop \
+ "$pkgdir"/usr/share/applications/truecrypt.desktop
+}
+
+md5sums="a8268630a870faff07af940f63fb29eb truecrypt-7.1.tar.gz
+ce6a707b79411e82e8e558aa03e764b0 pkcs-2.20.tar.gz
+00ea70fa8437de877b31b027ac2b4060 truecrypt-arch-detection.patch
+78e606e6582dacc3176d59ad4419b6bb execstack-fix.patch
+183b9bf04a943454d4e216130bcbac01 truecrypt.desktop"
diff --git a/testing/truecrypt/execstack-fix.patch b/testing/truecrypt/execstack-fix.patch
new file mode 100644
index 000000000..d72fe0e14
--- /dev/null
+++ b/testing/truecrypt/execstack-fix.patch
@@ -0,0 +1,60 @@
+--- ./Crypto/Aes_hw_cpu.asm.old 2011-06-01 17:12:53.078000001 -0400
++++ ./Crypto/Aes_hw_cpu.asm 2011-06-01 17:12:53.080000002 -0400
+@@ -328,3 +328,12 @@
+
+
+ %endif ; __BITS__ != 16
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- ./Crypto/AesSmall_x86.asm.old 2011-06-01 17:12:53.084000002 -0400
++++ ./Crypto/AesSmall_x86.asm 2011-06-01 17:12:53.086000002 -0400
+@@ -1442,3 +1442,12 @@
+ db v8(0xe1),v8(0x69),v8(0x14),v8(0x63),v8(0x55),v8(0x21),v8(0x0c),v8(0x7d)
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- ./Crypto/Aes_x64.asm.old 2011-06-01 17:12:53.090000002 -0400
++++ ./Crypto/Aes_x64.asm 2011-06-01 17:12:53.092000002 -0400
+@@ -905,3 +905,12 @@
+ %endif
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- ./Crypto/Aes_x86.asm.old 2011-06-01 17:12:53.096000002 -0400
++++ ./Crypto/Aes_x86.asm 2011-06-01 17:12:53.097000002 -0400
+@@ -644,3 +644,12 @@
+ do_exit
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
diff --git a/testing/truecrypt/truecrypt-arch-detection.patch b/testing/truecrypt/truecrypt-arch-detection.patch
new file mode 100644
index 000000000..bc16a2a36
--- /dev/null
+++ b/testing/truecrypt/truecrypt-arch-detection.patch
@@ -0,0 +1,15 @@
+diff -urN truecrypt-7.0a-source/Makefile truecrypt-7.0a-source.fixed/Makefile
+--- truecrypt-7.0a-source/Makefile 2010-09-05 10:32:10.000000000 -0400
++++ truecrypt-7.0a-source.fixed/Makefile 2011-07-05 21:41:50.296437879 -0400
+@@ -120,10 +120,7 @@
+
+ export CPU_ARCH ?= unknown
+
+-ARCH = $(shell uname -p)
+-ifeq "$(ARCH)" "unknown"
+- ARCH = $(shell uname -m)
+-endif
++ARCH = $(shell uname -m)
+
+ ifneq (,$(filter i386 i486 i586 i686 x86,$(ARCH)))
+ CPU_ARCH = x86
diff --git a/testing/truecrypt/truecrypt.desktop b/testing/truecrypt/truecrypt.desktop
new file mode 100644
index 000000000..53626f29f
--- /dev/null
+++ b/testing/truecrypt/truecrypt.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Exec=truecrypt
+Icon=truecrypt
+Comment=On-the-fly encryption
+Terminal=false
+Name=TrueCrypt
+StartupNotify=true
+Categories=System;
diff --git a/testing/ttf-liberation/APKBUILD b/testing/ttf-liberation/APKBUILD
deleted file mode 100644
index 52c123787..000000000
--- a/testing/ttf-liberation/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=ttf-liberation
-pkgver=1.07.0
-pkgrel=0
-pkgdesc="Red Hats Liberation fonts"
-url="https://fedorahosted.org/liberation-fonts/"
-license="custom GPL2"
-arch="noarch"
-depends=""
-makedepends="wget"
-install=
-source="https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-$pkgver.tar.gz"
-
-_builddir="$srcdir"/liberation-fonts-ttf-$pkgver
-build() {
- return 0
-}
-
-package() {
- cd "$_builddir"
- install -d "$pkgdir"/usr/share/fonts/truetype/liberation
- cp -a *.ttf "$pkgdir"/usr/share/fonts/truetype/liberation/
-}
-
-md5sums="8150db1c6e27cacdfd524b563b85b69e liberation-fonts-ttf-1.07.0.tar.gz"
diff --git a/testing/tvheadend/APKBUILD b/testing/tvheadend/APKBUILD
new file mode 100644
index 000000000..d8d81599b
--- /dev/null
+++ b/testing/tvheadend/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Francesco Colista <francesco.colista@gmail.com>
+# Maintainer: Francesco Colista <francesco.colista@gmail.com>
+pkgname=tvheadend-git
+_pkgname=andoma-tvheadend-fdc743f
+pkgver=2.13
+pkgrel=0
+pkgdesc="TV Streaming server for linux"
+url="http://www.lonelycoder.com/hts/tvheadend_overview.html"
+arch="all"
+license="GPL3"
+depends=""
+depends_dev="openssl-dev avahi-dev wget bash findutils"
+makedepends="$depends_dev"
+install="$pkgname.pre-install $pkgname.post-deinstall"
+subpackages=""
+source="saveas-https://github.com/andoma/tvheadend/tarball/master/$pkgname-$pkgver.tar.gz
+tvheadend-git.initd
+tvheadend-git.confd
+"
+_builddir="$srcdir"/$_pkgname
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr --release
+ make || return 1
+}
+package() {
+ cd "$_builddir"
+ sed -i 's/\-T//g' support/posix.mk
+ make DESTDIR="$pkgdir" install || return 1
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname || return 1
+ install -m755 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname || return 1
+}
+
+md5sums="97c51df1daca8db241dee8b9c55d0aad tvheadend-git-2.13.tar.gz
+4d6324b1b87890faf846ad95c2f3483c tvheadend-git.initd
+74749f3527418ddfd5671d5d5ad4dca4 tvheadend-git.confd"
diff --git a/testing/tvheadend/tvheadend-git.confd b/testing/tvheadend/tvheadend-git.confd
new file mode 100644
index 000000000..a912932ae
--- /dev/null
+++ b/testing/tvheadend/tvheadend-git.confd
@@ -0,0 +1,2 @@
+TVHBIN="/usr/bin/tvheadend"
+TVHUSER="tvheadend"
diff --git a/testing/tvheadend/tvheadend-git.initd b/testing/tvheadend/tvheadend-git.initd
new file mode 100644
index 000000000..6a50b9f3f
--- /dev/null
+++ b/testing/tvheadend/tvheadend-git.initd
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting tvheadend"
+ start-stop-daemon --start \
+ --user ${TVHUSER} \
+ --exec ${TVHBIN} -- -C -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tvheadend"
+ start-stop-daemon --stop --quiet --name tvheadend --signal 2
+ eend $?
+}
diff --git a/testing/tvheadend/tvheadend-git.post-deinstall b/testing/tvheadend/tvheadend-git.post-deinstall
new file mode 100644
index 000000000..b80984d6f
--- /dev/null
+++ b/testing/tvheadend/tvheadend-git.post-deinstall
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+deluser hts 2>/dev/null
+exit 0
diff --git a/testing/tvheadend/tvheadend-git.pre-install b/testing/tvheadend/tvheadend-git.pre-install
new file mode 100644
index 000000000..73f865ca4
--- /dev/null
+++ b/testing/tvheadend/tvheadend-git.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+groupadd tvheadend 2>/dev/null
+adduser -H -h /home/tvheadend -g tvheadend -D -s /bin/false tvheadend 2>/dev/null
+gpasswd -a tvheadend video 2>/dev/null
+exit 0
diff --git a/testing/usb-modeswitch/APKBUILD b/testing/usb-modeswitch/APKBUILD
index 486d7d4b1..b237e86c5 100644
--- a/testing/usb-modeswitch/APKBUILD
+++ b/testing/usb-modeswitch/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=usb-modeswitch
pkgver=1.1.7
pkgrel=2
diff --git a/testing/v8/APKBUILD b/testing/v8/APKBUILD
new file mode 100644
index 000000000..40ef6e8d8
--- /dev/null
+++ b/testing/v8/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=v8
+pkgver=3.7.7
+pkgrel=1
+pkgdesc="V8 JavaScript/ECMAScript Engine"
+url="http://www.chromium.org/"
+arch="x86 x86_64 arm"
+license="BSD"
+depends=""
+depends_dev=""
+makedepends="scons wget"
+install=""
+subpackages="$pkgname-dev"
+source="http://gsdview.appspot.com/chromium-browser-official/v8-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/v8-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+
+ v8_arch=${CARCH}
+ test ${CARCH} = x86 && v8_arch=ia32
+ test ${CARCH} = x86_64 && v8_arch=x64
+
+ msg "building for ${v8_arch}"
+
+ export LINKFLAGS="${LDFLAGS}"
+
+ scons -j$JOBS \
+ library=shared \
+ inspector=on \
+ objectprint=on \
+ console=readline \
+ soname=on \
+ arch=${v8_arch} \
+ || return 1
+}
+
+package() {
+ cd "$_builddir"
+
+ mkdir -p "$pkgdir"/usr/include
+ cp include/* "$pkgdir"/usr/include
+
+ mkdir -p "$pkgdir"/usr/lib
+ install -c -m755 libv8-${pkgver}.so "$pkgdir"/usr/lib/libv8-${pkgver}.so
+ ln -sf libv8-${pkgver}.so "$pkgdir"/usr/lib/libv8.so
+}
+
+md5sums="f49dee4890a3c0c35c0a2c7610c79bdf v8-3.7.7.tar.bz2"
diff --git a/testing/virt-manager/APKBUILD b/testing/virt-manager/APKBUILD
index 30aff4667..369214246 100644
--- a/testing/virt-manager/APKBUILD
+++ b/testing/virt-manager/APKBUILD
@@ -2,12 +2,13 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=virt-manager
pkgver=0.9.0
-pkgrel=0
+pkgrel=3
pkgdesc="GUI for managing virtual machines"
url="http://virt-manager.et.redhat.com/"
arch="noarch"
license="GPL"
-depends="dbus gconf libvirt python virtinst"
+depends="gconf gtk-vnc librsvg libvirt libxml2 py-dbus py-gnome-gconf python
+ rarian virtinst vte py-urlgrabber"
depends_dev="intltool"
makedepends="$depends_dev"
install=
@@ -34,10 +35,6 @@ build() {
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install
-
- # remove the 2 lines below (and this) if there is no init.d script
- # install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
md5sums="a10331b467f92f4134a39bf636e04adc virt-manager-0.9.0.tar.gz"
diff --git a/testing/weechat/APKBUILD b/testing/weechat/APKBUILD
new file mode 100644
index 000000000..6350bbd97
--- /dev/null
+++ b/testing/weechat/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor:
+# Maintainer: Leonardo Arena <rnalrd@alpine.linux.org>
+pkgname=weechat
+pkgver=0.3.6
+pkgrel=0
+pkgdesc="A fast, light, extensible ncurses-based chat client"
+url="http://www.weechat.org"
+arch="all"
+license="GPL3"
+depends=
+depends_dev="cmake libiconv-dev libintl ncurses-dev"
+makedepends="$depends_dev"
+install=
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://www.weechat.org/files/src/$pkgname-$pkgver.tar.gz"
+
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ cd "$_builddir"
+ # apply patches here
+}
+
+build() {
+ cd "$_builddir"
+ mkdir build
+ cd build
+# ./configure --prefix=/usr \
+# --sysconfdir=/etc \
+# --mandir=/usr/share/man \
+# --infodir=/usr/share/info \
+# --disable-nls
+# make || return 1
+ cmake .. -DPREFIX=/usr
+}
+
+package() {
+ cd "$_builddir"/build
+ make DESTDIR="$pkgdir/" install
+}
+
+md5sums="f130af1f858919fd446561faeaaf555e weechat-0.3.6.tar.gz"
diff --git a/testing/wput/APKBUILD b/testing/wput/APKBUILD
new file mode 100644
index 000000000..43a5374bd
--- /dev/null
+++ b/testing/wput/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+pkgname=wput
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="A command line tool to upload files to FTP site"
+url="http://wput.sourceforge.net/"
+arch=""
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="gnutls-dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tgz
+ $pkgname-destdir.patch"
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --disable-g-switch \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+md5sums="a14c4c13d91d04d6119bdc977e8a8bdf wput-0.6.2.tgz
+a15127342ed24051108d945e2124f323 wput-destdir.patch"
diff --git a/testing/wxgtk/APKBUILD b/testing/wxgtk/APKBUILD
new file mode 100644
index 000000000..62dbbbde0
--- /dev/null
+++ b/testing/wxgtk/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=wxgtk
+pkgver=2.8.12
+pkgrel=0
+pkgdesc="GTK2 port of the wxWidgets GUI library"
+url="http://www.wxwidgets.org/"
+arch="all"
+license="wxWidgets"
+depends=""
+depends_dev="gtk+2.0-dev zlib-dev tiff-dev libpng-dev jpeg-dev expat-dev
+ libsm-dev"
+makedepends="$depends_dev sdl-dev gst-plugins-base-dev gstreamer-dev gconf-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-lang $pkgname-media wxbase"
+source="http://downloads.sourceforge.net/wxwindows/wxGTK-$pkgver.tar.bz2"
+
+_builddir="$srcdir"/wxGTK-$pkgver
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --with-sdl \
+ --enable-unicode \
+ --enable-no_deps \
+ --enable-shared \
+ --enable-sound \
+ --enable-mediactrl \
+ --disable-rpath \
+ --disable-optimise \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+ rm -f "$pkgdir"/usr/lib/*.la
+}
+
+dev() {
+ default_dev
+ mv "$pkgdir"/usr/lib/wx/config "$subpkgdir"/usr/lib/wx/ || return 1
+ mv "$pkgdir"/usr/bin/wxrc* "$subpkgdir"/usr/bin/ || return 1
+ mv "$pkgdir"/usr/share/bakefile "$subpkgdir"/usr/share/ || return 1
+}
+
+media() {
+ pkgdesc="Multimedia add-on for the wxWidgets library"
+ mkdir -p "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/lib/libwx_gtk2u_media-*.so.* "$subpkgdir"/usr/lib/
+}
+
+wxbase() {
+ pkgdesc="Non-GUI support classes from the wxWidgets library"
+ mkdir -p "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/lib/libwx_baseu-*.so.* \
+ "$pkgdir"/usr/lib/libwx_baseu_net-*.so.* \
+ "$pkgdir"/usr/lib/libwx_baseu_xml-*.so.* \
+ "$subpkgdir"/usr/lib/
+}
+
+md5sums="08f81ab60647308058f6ce99712b14f8 wxGTK-2.8.12.tar.bz2"
diff --git a/testing/xonotic-data/APKBUILD b/testing/xonotic-data/APKBUILD
new file mode 100644
index 000000000..c02400e09
--- /dev/null
+++ b/testing/xonotic-data/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=xonotic-data
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="data files for Xonotic"
+url="http://www.xonotic.org/"
+arch="noarch"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages=""
+source="http://dl.xonotic.org/xonotic-${pkgver}.zip"
+
+_builddir=${srcdir}/Xonotic
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/xonotic/
+ mv "$srcdir"/Xonotic/data "$pkgdir"/usr/share/xonotic/
+}
+
+md5sums="cdadb384ccf9cad926bb377312832c2f xonotic-0.5.0.zip"
diff --git a/testing/xonotic/APKBUILD b/testing/xonotic/APKBUILD
new file mode 100644
index 000000000..173abaa8d
--- /dev/null
+++ b/testing/xonotic/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer:
+pkgname=xonotic
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="game engine for Xonotic (quake1/nexuiz derivative)"
+url="http://www.xonotic.org/"
+arch="all"
+license="GPL"
+depends="xonotic-data"
+depends_dev="sdl-dev mesa-dev jpeg-dev libvorbis-dev libxpm-dev libxxf86dga-dev libxxf86vm-dev libmodplug-dev libpng-dev alsa-lib-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-glx $pkgname-sdl"
+source="http://dl.xonotic.org/xonotic-${pkgver}-source.zip
+ xonotic-moncontrol.patch"
+
+_builddir="$srcdir"/Xonotic
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+
+ # msg "building Xonotic-patched QuakeC compiler"
+ # make -C source/fteqcc CPUOPTIMIZATIONS="${CFLAGS}"
+
+ msg "building dedicated server"
+ make -C source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR="/usr/share/xonotic" DP_LINK_TO_LIBJPEG=1 sv-release
+
+ msg "building GLX client"
+ make -C source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR="/usr/share/xonotic" DP_LINK_TO_LIBJPEG=1 cl-release
+
+ msg "building SDL client"
+ make -C source/darkplaces CPUOPTIMIZATIONS="${CFLAGS}" DP_FS_BASEDIR="/usr/share/xonotic" DP_LINK_TO_LIBJPEG=1 sdl-release
+}
+
+package() {
+ cd "$_builddir"
+
+ mkdir -p "$pkgdir"/usr/bin
+ install -Dm755 source/darkplaces/darkplaces-dedicated "$pkgdir"/usr/bin/xonotic-dedicated
+}
+
+sdl() {
+ pkgdesc="$pkgdesc (SDL client)"
+
+ cd "$_builddir"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ install -Dm755 source/darkplaces/darkplaces-sdl "$subpkgdir"/usr/bin/xonotic-sdl
+}
+
+glx() {
+ pkgdesc="$pkgdesc (GLX client)"
+
+ cd "$_builddir"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ install -Dm755 source/darkplaces/darkplaces-glx "$subpkgdir"/usr/bin/xonotic-glx
+}
+
+md5sums="7382f195386b8e51df65e57e6be413e5 xonotic-0.5.0-source.zip
+e7ad5ace0debe34486ff06b4f78b3f27 xonotic-moncontrol.patch"
diff --git a/testing/xonotic/xonotic-moncontrol.patch b/testing/xonotic/xonotic-moncontrol.patch
new file mode 100644
index 000000000..9d8886689
--- /dev/null
+++ b/testing/xonotic/xonotic-moncontrol.patch
@@ -0,0 +1,21 @@
+--- Xonotic.orig/source/darkplaces/sys_shared.c
++++ Xonotic/source/darkplaces/sys_shared.c
+@@ -50,18 +50,8 @@
+ exit(returnvalue);
+ }
+
+-#if defined(__linux__) || defined(__FreeBSD__)
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-int moncontrol(int);
+-#endif
+-
+ void Sys_AllowProfiling(qboolean enable)
+ {
+-#if defined(__linux__) || defined(__FreeBSD__)
+- moncontrol(enable);
+-#endif
+ }
+
+
diff --git a/testing/zeromq/APKBUILD b/testing/zeromq/APKBUILD
deleted file mode 100644
index 6715f0af9..000000000
--- a/testing/zeromq/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=zeromq
-pkgver=2.1.7
-pkgrel=2
-pkgdesc="The ZeroMQ messaging library and tools"
-url="http://www.zeromq.org/"
-arch="all"
-license="LGPLv3+"
-depends=
-makedepends="util-linux-dev"
-install=
-subpackages="$pkgname-dev $pkgname-doc libzmq"
-source="http://download.zeromq.org/zeromq-$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
- rm -f "$pkgdir"/usr/lib/*.la
-}
-
-libzmq() {
- pkgdesc="The ZeroMQ messaging library"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libzmq.so.* "$subpkgdir"/usr/lib/
-}
-
-md5sums="7d3120f8a8fb913a7e55c57c6eb024f3 zeromq-2.1.7.tar.gz"