summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/openssl/APKBUILD14
-rw-r--r--main/openssl/openssl-0.9.8l-CVE-2009-1377.patch53
-rw-r--r--main/openssl/openssl-0.9.8l-CVE-2009-1378.patch24
-rw-r--r--main/openssl/openssl-0.9.8l-CVE-2009-1379.patch22
-rw-r--r--main/openssl/openssl-0.9.8l-CVE-2009-1387.patch59
-rw-r--r--main/openssl/openssl-0.9.8l-CVE-2009-2409.patch71
-rw-r--r--testing/bacula-client/APKBUILD70
-rw-r--r--testing/bacula-client/bacula-client.post-install2
-rw-r--r--testing/bacula-client/bacula-client.pre-install3
-rw-r--r--testing/bacula-client/bacula-fd-conf4
-rw-r--r--testing/bacula-client/bacula-fd-init22
-rw-r--r--testing/bacula-client/configure.in.patch23
-rw-r--r--testing/bacula-client/os.m4.patch12
-rw-r--r--testing/bacula/APKBUILD86
-rw-r--r--testing/bacula/bacula-dir-conf7
-rw-r--r--testing/bacula/bacula-dir-init23
-rw-r--r--testing/bacula/bacula-fd-conf4
-rw-r--r--testing/bacula/bacula-fd-init22
-rw-r--r--testing/bacula/bacula-sd-conf7
-rw-r--r--testing/bacula/bacula-sd-init22
-rw-r--r--testing/bacula/bacula.post-install2
-rw-r--r--testing/bacula/bacula.pre-install4
-rw-r--r--testing/bacula/configure.in.patch23
-rw-r--r--testing/bacula/os.m4.patch12
-rw-r--r--testing/mtx/APKBUILD23
25 files changed, 612 insertions, 2 deletions
diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD
index a4b22a9d3..fddbf2119 100644
--- a/main/openssl/APKBUILD
+++ b/main/openssl/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=openssl
pkgver=0.9.8l
-pkgrel=0
+pkgrel=1
pkgdesc="Toolkit for SSL v2/v3 and TLS v1"
url=http://openssl.org
depends=
@@ -15,6 +15,11 @@ source="http://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz
openssl-bb-basename.patch
openssl-0.9.8k-quote-cc.patch
openssl-0.9.8k-padlock-sha.patch
+ openssl-0.9.8l-CVE-2009-1377.patch
+ openssl-0.9.8l-CVE-2009-1378.patch
+ openssl-0.9.8l-CVE-2009-1379.patch
+ openssl-0.9.8l-CVE-2009-1387.patch
+ openssl-0.9.8l-CVE-2009-2409.patch
"
build() {
@@ -45,4 +50,9 @@ md5sums="05a0ece1372392a2cf310ebb96333025 openssl-0.9.8l.tar.gz
04a6a88c2ee4badd4f8649792b73eaf3 openssl-0.9.8g-fix_manpages-1.patch
c6a9857a5dbd30cead0404aa7dd73977 openssl-bb-basename.patch
c838eb8488896cfeb7de957a0cbe04ae openssl-0.9.8k-quote-cc.patch
-86b7f1bf50e1f3ba407ec62001a51a0d openssl-0.9.8k-padlock-sha.patch"
+86b7f1bf50e1f3ba407ec62001a51a0d openssl-0.9.8k-padlock-sha.patch
+36694a8dd1c7164f1021f6f24ef20ab9 openssl-0.9.8l-CVE-2009-1377.patch
+80b8c77288a6fde633f8ac3a33e21d31 openssl-0.9.8l-CVE-2009-1378.patch
+da60b14279e076a19e783f07d8a60d24 openssl-0.9.8l-CVE-2009-1379.patch
+926b151cb1e32dc6e9b1c9a25f218a31 openssl-0.9.8l-CVE-2009-1387.patch
+595f5bda14198b3aa83a854b1d4fcfb0 openssl-0.9.8l-CVE-2009-2409.patch"
diff --git a/main/openssl/openssl-0.9.8l-CVE-2009-1377.patch b/main/openssl/openssl-0.9.8l-CVE-2009-1377.patch
new file mode 100644
index 000000000..a3a51f0fd
--- /dev/null
+++ b/main/openssl/openssl-0.9.8l-CVE-2009-1377.patch
@@ -0,0 +1,53 @@
+http://rt.openssl.org/Ticket/Display.html?id=1931&user=guest&pass=guest
+
+Index: openssl/crypto/pqueue/pqueue.c
+RCS File: /v/openssl/cvs/openssl/crypto/pqueue/pqueue.c,v
+rcsdiff -q -kk '-r1.2.2.4' '-r1.2.2.5' -u '/v/openssl/cvs/openssl/crypto/pqueue/pqueue.c,v' 2>/dev/null
+--- a/crypto/pqueue/pqueue.c 2005/06/28 12:53:33 1.2.2.4
++++ b/crypto/pqueue/pqueue.c 2009/05/16 16:18:44 1.2.2.5
+@@ -234,3 +234,17 @@
+
+ return ret;
+ }
++
++int
++pqueue_size(pqueue_s *pq)
++{
++ pitem *item = pq->items;
++ int count = 0;
++
++ while(item != NULL)
++ {
++ count++;
++ item = item->next;
++ }
++ return count;
++}
+Index: openssl/crypto/pqueue/pqueue.h
+RCS File: /v/openssl/cvs/openssl/crypto/pqueue/pqueue.h,v
+rcsdiff -q -kk '-r1.2.2.1' '-r1.2.2.2' -u '/v/openssl/cvs/openssl/crypto/pqueue/pqueue.h,v' 2>/dev/null
+--- a/crypto/pqueue/pqueue.h 2005/05/30 22:34:27 1.2.2.1
++++ b/crypto/pqueue/pqueue.h 2009/05/16 16:18:44 1.2.2.2
+@@ -91,5 +91,6 @@
+ pitem *pqueue_next(piterator *iter);
+
+ void pqueue_print(pqueue pq);
++int pqueue_size(pqueue pq);
+
+ #endif /* ! HEADER_PQUEUE_H */
+Index: openssl/ssl/d1_pkt.c
+RCS File: /v/openssl/cvs/openssl/ssl/d1_pkt.c,v
+rcsdiff -q -kk '-r1.4.2.17' '-r1.4.2.18' -u '/v/openssl/cvs/openssl/ssl/d1_pkt.c,v' 2>/dev/null
+--- a/ssl/d1_pkt.c 2009/05/16 15:51:59 1.4.2.17
++++ b/ssl/d1_pkt.c 2009/05/16 16:18:45 1.4.2.18
+@@ -167,6 +167,10 @@
+ DTLS1_RECORD_DATA *rdata;
+ pitem *item;
+
++ /* Limit the size of the queue to prevent DOS attacks */
++ if (pqueue_size(queue->q) >= 100)
++ return 0;
++
+ rdata = OPENSSL_malloc(sizeof(DTLS1_RECORD_DATA));
+ item = pitem_new(priority, rdata);
+ if (rdata == NULL || item == NULL)
diff --git a/main/openssl/openssl-0.9.8l-CVE-2009-1378.patch b/main/openssl/openssl-0.9.8l-CVE-2009-1378.patch
new file mode 100644
index 000000000..9ec8a9f3a
--- /dev/null
+++ b/main/openssl/openssl-0.9.8l-CVE-2009-1378.patch
@@ -0,0 +1,24 @@
+http://rt.openssl.org/Ticket/Display.html?id=1931&user=guest&pass=guest
+
+Index: ssl/d1_both.c
+===================================================================
+--- a/ssl/d1_both.c.orig
++++ b/ssl/d1_both.c
+@@ -561,7 +561,16 @@ dtls1_process_out_of_seq_message(SSL *s,
+ if ((msg_hdr->frag_off+frag_len) > msg_hdr->msg_len)
+ goto err;
+
+- if (msg_hdr->seq <= s->d1->handshake_read_seq)
++ /* Try to find item in queue, to prevent duplicate entries */
++ pq_64bit_init(&seq64);
++ pq_64bit_assign_word(&seq64, msg_hdr->seq);
++ item = pqueue_find(s->d1->buffered_messages, seq64);
++ pq_64bit_free(&seq64);
++
++ /* Discard the message if sequence number was already there, is
++ * too far in the future or the fragment is already in the queue */
++ if (msg_hdr->seq <= s->d1->handshake_read_seq ||
++ msg_hdr->seq > s->d1->handshake_read_seq + 10 || item != NULL)
+ {
+ unsigned char devnull [256];
+
diff --git a/main/openssl/openssl-0.9.8l-CVE-2009-1379.patch b/main/openssl/openssl-0.9.8l-CVE-2009-1379.patch
new file mode 100644
index 000000000..b70772c97
--- /dev/null
+++ b/main/openssl/openssl-0.9.8l-CVE-2009-1379.patch
@@ -0,0 +1,22 @@
+Index: openssl/ssl/d1_both.c
+RCS File: /v/openssl/cvs/openssl/ssl/d1_both.c,v
+rcsdiff -q -kk '-r1.14.2.6' '-r1.14.2.7' -u '/v/openssl/cvs/openssl/ssl/d1_both.c,v' 2>/dev/null
+--- a/ssl/d1_both.c 2009/04/22 12:17:02 1.14.2.6
++++ b/ssl/d1_both.c 2009/05/13 11:51:30 1.14.2.7
+@@ -519,6 +519,7 @@
+
+ if ( s->d1->handshake_read_seq == frag->msg_header.seq)
+ {
++ unsigned long frag_len = frag->msg_header.frag_len;
+ pqueue_pop(s->d1->buffered_messages);
+
+ al=dtls1_preprocess_fragment(s,&frag->msg_header,max);
+@@ -536,7 +537,7 @@
+ if (al==0)
+ {
+ *ok = 1;
+- return frag->msg_header.frag_len;
++ return frag_len;
+ }
+
+ ssl3_send_alert(s,SSL3_AL_FATAL,al);
diff --git a/main/openssl/openssl-0.9.8l-CVE-2009-1387.patch b/main/openssl/openssl-0.9.8l-CVE-2009-1387.patch
new file mode 100644
index 000000000..c8ff15e50
--- /dev/null
+++ b/main/openssl/openssl-0.9.8l-CVE-2009-1387.patch
@@ -0,0 +1,59 @@
+http://bugs.gentoo.org/270305
+
+fix from upstream
+
+Index: ssl/d1_both.c
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/ssl/d1_both.c,v
+retrieving revision 1.4.2.7
+retrieving revision 1.4.2.8
+diff -u -p -r1.4.2.7 -r1.4.2.8
+--- a/ssl/d1_both.c 17 Oct 2007 21:17:49 -0000 1.4.2.7
++++ b/ssl/d1_both.c 2 Apr 2009 22:12:13 -0000 1.4.2.8
+@@ -575,30 +575,31 @@ dtls1_process_out_of_seq_message(SSL *s,
+ }
+ }
+
+- frag = dtls1_hm_fragment_new(frag_len);
+- if ( frag == NULL)
+- goto err;
++ if (frag_len)
++ {
++ frag = dtls1_hm_fragment_new(frag_len);
++ if ( frag == NULL)
++ goto err;
+
+- memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
++ memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
+
+- if (frag_len)
+- {
+- /* read the body of the fragment (header has already been read */
++ /* read the body of the fragment (header has already been read) */
+ i = s->method->ssl_read_bytes(s,SSL3_RT_HANDSHAKE,
+ frag->fragment,frag_len,0);
+ if (i<=0 || (unsigned long)i!=frag_len)
+ goto err;
+- }
+
+- pq_64bit_init(&seq64);
+- pq_64bit_assign_word(&seq64, msg_hdr->seq);
++ pq_64bit_init(&seq64);
++ pq_64bit_assign_word(&seq64, msg_hdr->seq);
+
+- item = pitem_new(seq64, frag);
+- pq_64bit_free(&seq64);
+- if ( item == NULL)
+- goto err;
++ item = pitem_new(seq64, frag);
++ pq_64bit_free(&seq64);
++ if ( item == NULL)
++ goto err;
++
++ pqueue_insert(s->d1->buffered_messages, item);
++ }
+
+- pqueue_insert(s->d1->buffered_messages, item);
+ return DTLS1_HM_FRAGMENT_RETRY;
+
+ err:
diff --git a/main/openssl/openssl-0.9.8l-CVE-2009-2409.patch b/main/openssl/openssl-0.9.8l-CVE-2009-2409.patch
new file mode 100644
index 000000000..6e485c3b7
--- /dev/null
+++ b/main/openssl/openssl-0.9.8l-CVE-2009-2409.patch
@@ -0,0 +1,71 @@
+http://bugs.gentoo.org/280591
+
+fix from upstream
+
+http://cvs.openssl.org/chngview?cn=18260
+
+Index: openssl/crypto/x509/x509_vfy.c
+RCS File: /v/openssl/cvs/openssl/crypto/x509/x509_vfy.c,v
+rcsdiff -q -kk '-r1.77.2.8' '-r1.77.2.9' -u '/v/openssl/cvs/openssl/crypto/x509/x509_vfy.c,v' 2>/dev/null
+--- a/crypto/x509/x509_vfy.c 2008/07/13 14:33:15 1.77.2.8
++++ b/crypto/x509/x509_vfy.c 2009/06/15 14:52:38 1.77.2.9
+@@ -986,7 +986,11 @@
+ while (n >= 0)
+ {
+ ctx->error_depth=n;
+- if (!xs->valid)
++
++ /* Skip signature check for self signed certificates. It
++ * doesn't add any security and just wastes time.
++ */
++ if (!xs->valid && xs != xi)
+ {
+ if ((pkey=X509_get_pubkey(xi)) == NULL)
+ {
+@@ -996,13 +1000,6 @@
+ if (!ok) goto end;
+ }
+ else if (X509_verify(xs,pkey) <= 0)
+- /* XXX For the final trusted self-signed cert,
+- * this is a waste of time. That check should
+- * optional so that e.g. 'openssl x509' can be
+- * used to detect invalid self-signatures, but
+- * we don't verify again and again in SSL
+- * handshakes and the like once the cert has
+- * been declared trusted. */
+ {
+ ctx->error=X509_V_ERR_CERT_SIGNATURE_FAILURE;
+ ctx->current_cert=xs;
+
+http://cvs.openssl.org/chngview?cn=18317
+
+Index: openssl/crypto/evp/c_alld.c
+RCS File: /v/openssl/cvs/openssl/crypto/evp/c_alld.c,v
+rcsdiff -q -kk '-r1.7' '-r1.7.2.1' -u '/v/openssl/cvs/openssl/crypto/evp/c_alld.c,v' 2>/dev/null
+--- a/crypto/evp/c_alld.c 2005/04/30 21:51:40 1.7
++++ b/crypto/evp/c_alld.c 2009/07/08 08:33:26 1.7.2.1
+@@ -64,9 +64,6 @@
+
+ void OpenSSL_add_all_digests(void)
+ {
+-#ifndef OPENSSL_NO_MD2
+- EVP_add_digest(EVP_md2());
+-#endif
+ #ifndef OPENSSL_NO_MD4
+ EVP_add_digest(EVP_md4());
+ #endif
+Index: openssl/ssl/ssl_algs.c
+RCS File: /v/openssl/cvs/openssl/ssl/ssl_algs.c,v
+rcsdiff -q -kk '-r1.12.2.3' '-r1.12.2.4' -u '/v/openssl/cvs/openssl/ssl/ssl_algs.c,v' 2>/dev/null
+--- a/ssl/ssl_algs.c 2007/04/23 23:50:21 1.12.2.3
++++ b/ssl/ssl_algs.c 2009/07/08 08:33:27 1.12.2.4
+@@ -92,9 +92,6 @@
+ EVP_add_cipher(EVP_seed_cbc());
+ #endif
+
+-#ifndef OPENSSL_NO_MD2
+- EVP_add_digest(EVP_md2());
+-#endif
+ #ifndef OPENSSL_NO_MD5
+ EVP_add_digest(EVP_md5());
+ EVP_add_digest_alias(SN_md5,"ssl2-md5");
diff --git a/testing/bacula-client/APKBUILD b/testing/bacula-client/APKBUILD
new file mode 100644
index 000000000..3156c9dd5
--- /dev/null
+++ b/testing/bacula-client/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+pkgname="bacula-client"
+_realname="bacula"
+pkgver=3.0.3
+pkgrel=0
+pkgdesc="Client (File Daemon) of Bacula, a network based backup program"
+url="http://www.bacula.org"
+license="GPL2"
+depends="openssl ncurses"
+makedepends="openssl-dev autoconf ncurses-dev"
+install="$pkgname.pre-install $pkgname.post-install"
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/$_realname/$_realname/$pkgver/$_realname-$pkgver.tar.gz
+bacula-fd-init
+bacula-fd-conf
+configure.in.patch
+os.m4.patch"
+
+prepare () {
+ cd "$srcdir/$_realname-$pkgver"
+ patch -p1 < ../../configure.in.patch
+ patch -p1 < ../../os.m4.patch
+}
+
+build() {
+ cd "$srcdir/$_realname-$pkgver"
+ export LDFLAGS=
+ # Need to run configure at least once
+ # in order to do not go into an infinite loop
+ ./configure
+ make configure
+ make distclean
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/bacula \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --docdir=/usr/share/doc \
+ --infodir=/usr/share/info \
+ --with-pid-dir=/var/run \
+ --with-subsys-dir=/var/lock/subsys \
+ --enable-largefile \
+ --enable-client-only \
+ --disable-nls \
+ --with-openssl=/usr/include/openssl \
+ --with-scriptdir=/etc/bacula/scripts \
+ --with-working-dir=/var/bacula \
+ --with-fd-user=root \
+ --with-fd-group=root \
+ --with-fd-password=ca4pheexie1aeC1hee3i \
+
+ make || return 1
+}
+
+package() {
+ cd "$srcdir/$_realname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm755 $srcdir/bacula-fd-init \
+ $pkgdir/etc/init.d/bacula-fd
+ install -Dm644 $srcdir/bacula-fd-conf \
+ $pkgdir/etc/conf.d/bacula-fd
+}
+
+md5sums="feba58691b674b12056359d459ad6940 bacula-3.0.3.tar.gz
+38b0fe78acdc5e65aec3a59578e98a20 bacula-fd-init
+4500ce2d62bf9df33c07f70dc40f7b85 bacula-fd-conf
+ebc9c2bbc9be95c920723a3f142d8e19 configure.in.patch
+cf7a2a4e972697f54364654c4e282b8b os.m4.patch"
diff --git a/testing/bacula-client/bacula-client.post-install b/testing/bacula-client/bacula-client.post-install
new file mode 100644
index 000000000..51274b5c3
--- /dev/null
+++ b/testing/bacula-client/bacula-client.post-install
@@ -0,0 +1,2 @@
+#!/bin/sh
+chown bacula.bacula /var/bacula
diff --git a/testing/bacula-client/bacula-client.pre-install b/testing/bacula-client/bacula-client.pre-install
new file mode 100644
index 000000000..54f408770
--- /dev/null
+++ b/testing/bacula-client/bacula-client.pre-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+addgroup -S bacula 2>/dev/null
+exit 0
diff --git a/testing/bacula-client/bacula-fd-conf b/testing/bacula-client/bacula-fd-conf
new file mode 100644
index 000000000..033ef74b4
--- /dev/null
+++ b/testing/bacula-client/bacula-fd-conf
@@ -0,0 +1,4 @@
+# Config file for /etc/init.d/bacula-fd
+
+# Options for the file daemon.
+FD_OPTIONS="-u root -g bacula -c /etc/bacula/bacula-fd.conf"
diff --git a/testing/bacula-client/bacula-fd-init b/testing/bacula-client/bacula-fd-init
new file mode 100644
index 000000000..618b3508c
--- /dev/null
+++ b/testing/bacula-client/bacula-fd-init
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/app-backup/bacula/files/3.0.3/bacula-fd-init,v 1.1 2009/11/08 17:14:46 wschlich Exp $
+
+depend() {
+ need net
+ use dns
+}
+
+start() {
+ ebegin "Starting bacula file daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/bacula-fd \
+ -- ${FD_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping bacula file daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/bacula-fd.*.pid
+ eend $?
+}
diff --git a/testing/bacula-client/configure.in.patch b/testing/bacula-client/configure.in.patch
new file mode 100644
index 000000000..cfe2a0b7c
--- /dev/null
+++ b/testing/bacula-client/configure.in.patch
@@ -0,0 +1,23 @@
+--- bacula-3.0.3-orig/autoconf/configure.in Sun Oct 18 09:10:16 2009
++++ bacula-3.0.3/autoconf/configure.in Wed Dec 2 14:13:44 2009
+@@ -2576,6 +2576,20 @@
+ fi
+ TAPEDRIVE="/dev/nrmt0"
+ ;;
++alpine)
++ dnl Make sure hostname is resolved
++ ping -c 1 $hostname 2>&1 1>/dev/null
++ if test ! $? = 0; then
++ hostname="localhost"
++ fi
++ if `test -f /etc/alpine-release && grep -q alpine /etc/alpine-release`; then
++ DISTNAME="alpine"
++ fi
++ DISTVER=`cat /etc/alpine-release`
++ TAPEDRIVE="/dev/nst0"
++ PSCMD="ps -e -o pid,comm"
++ largefile_support="yes"
++ ;;
+ bsdi)
+ DISTVER=`uname -a |awk '{print $3}'`
+ TAPEDRIVE="/dev/nrmt0"
diff --git a/testing/bacula-client/os.m4.patch b/testing/bacula-client/os.m4.patch
new file mode 100644
index 000000000..95dc5666a
--- /dev/null
+++ b/testing/bacula-client/os.m4.patch
@@ -0,0 +1,12 @@
+--- bacula-3.0.3-orig/autoconf/bacula-macros/os.m4 Sun Oct 18 09:10:16 2009
++++ bacula-3.0.3/autoconf/bacula-macros/os.m4 Wed Dec 2 13:48:30 2009
+@@ -201,6 +201,9 @@
+ elif test -f /etc/gentoo-release
+ then
+ DISTNAME=gentoo
++elif test -f /etc/alpine-release
++then
++ DISTNAME=alpine
+ elif test -f /etc/debian_version
+ then
+ DISTNAME=debian
diff --git a/testing/bacula/APKBUILD b/testing/bacula/APKBUILD
new file mode 100644
index 000000000..6adc49456
--- /dev/null
+++ b/testing/bacula/APKBUILD
@@ -0,0 +1,86 @@
+# Contributor: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+pkgname="bacula"
+pkgver=3.0.3
+pkgrel=0
+pkgdesc="Enterprise ready, network based backup program"
+url="http://www.bacula.org"
+license="GPL2"
+depends="postgresql openssl ncurses"
+makedepends="postgresql-dev openssl-dev ncurses-dev autoconf"
+install="$pkgname.pre-install $pkgname.post-install"
+subpackages="$pkgname-doc"
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
+bacula-dir-init
+bacula-dir-conf
+bacula-sd-init
+bacula-sd-conf
+bacula-fd-init
+bacula-fd-conf
+configure.in.patch
+os.m4.patch"
+
+prepare () {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 < ../../configure.in.patch
+ patch -p1 < ../../os.m4.patch
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ export LDFLAGS=
+ # Need to run configure at least once
+ # in order to do not go into an infinite loop
+ ./configure
+ make configure
+ make distclean
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/bacula \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --docdir=/usr/share/doc \
+ --infodir=/usr/share/info \
+ --with-pid-dir=/var/run \
+ --with-subsys-dir=/var/lock/subsys \
+ --enable-largefile \
+ --disable-nls \
+ --with-openssl=/usr/include/openssl \
+ --with-postgresql=/usr \
+ --with-scriptdir=/etc/bacula/scripts \
+ --with-working-dir=/var/bacula \
+ --with-dir-user=bacula \
+ --with-dir-group=bacula \
+ --with-sd-user=bacula \
+ --with-sd-group=bacula \
+ --with-fd-user=root \
+ --with-fd-group=root \
+ --with-dir-password=pie9Sah6aZo4aiS5te5e \
+ --with-fd-password=ca4pheexie1aeC1hee3i \
+ --with-sd-password=Saphaech3xohmuDaDaLi
+
+ make || return 1
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ for DAEMON in dir sd fd
+ do
+ install -Dm755 $srcdir/bacula-${DAEMON}-init \
+ $pkgdir/etc/init.d/bacula-${DAEMON}
+ install -Dm644 $srcdir/bacula-${DAEMON}-conf \
+ $pkgdir/etc/conf.d/bacula-${DAEMON}
+ done
+}
+
+md5sums="feba58691b674b12056359d459ad6940 bacula-3.0.3.tar.gz
+2e11ca528feb60adc1bb09a6488eb654 bacula-dir-init
+20f28a16f34e3f20ed18ed81b010e765 bacula-dir-conf
+38603c86eae43e8a38962bb8590c41dd bacula-sd-init
+afe2f9a4d79d7d96eb9372d003d10f86 bacula-sd-conf
+38b0fe78acdc5e65aec3a59578e98a20 bacula-fd-init
+4500ce2d62bf9df33c07f70dc40f7b85 bacula-fd-conf
+ebc9c2bbc9be95c920723a3f142d8e19 configure.in.patch
+cf7a2a4e972697f54364654c4e282b8b os.m4.patch"
diff --git a/testing/bacula/bacula-dir-conf b/testing/bacula/bacula-dir-conf
new file mode 100644
index 000000000..17a56161f
--- /dev/null
+++ b/testing/bacula/bacula-dir-conf
@@ -0,0 +1,7 @@
+# Config file for /etc/init.d/bacula-dir
+
+# Options for the director daemon.
+# The DIR can be run as a non-root user, however
+# please ensure that this user has proper permissions to
+# access your backup devices.
+DIR_OPTIONS="-u bacula -g bacula -c /etc/bacula/bacula-dir.conf"
diff --git a/testing/bacula/bacula-dir-init b/testing/bacula/bacula-dir-init
new file mode 100644
index 000000000..c14f5c876
--- /dev/null
+++ b/testing/bacula/bacula-dir-init
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/app-backup/bacula/files/3.0.3/bacula-dir-init,v 1.1 2009/11/08 17:14:46 wschlich Exp $
+
+depend() {
+ need net postgresql
+ after firewall
+ use dns bacula-fd bacula-sd
+}
+
+start() {
+ ebegin "Starting bacula director"
+ start-stop-daemon --start --quiet --exec /usr/sbin/bacula-dir \
+ -- ${DIR_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping bacula director"
+ start-stop-daemon --stop --quiet --pidfile /var/run/bacula-dir.*.pid
+ eend $?
+}
diff --git a/testing/bacula/bacula-fd-conf b/testing/bacula/bacula-fd-conf
new file mode 100644
index 000000000..033ef74b4
--- /dev/null
+++ b/testing/bacula/bacula-fd-conf
@@ -0,0 +1,4 @@
+# Config file for /etc/init.d/bacula-fd
+
+# Options for the file daemon.
+FD_OPTIONS="-u root -g bacula -c /etc/bacula/bacula-fd.conf"
diff --git a/testing/bacula/bacula-fd-init b/testing/bacula/bacula-fd-init
new file mode 100644
index 000000000..618b3508c
--- /dev/null
+++ b/testing/bacula/bacula-fd-init
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/app-backup/bacula/files/3.0.3/bacula-fd-init,v 1.1 2009/11/08 17:14:46 wschlich Exp $
+
+depend() {
+ need net
+ use dns
+}
+
+start() {
+ ebegin "Starting bacula file daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/bacula-fd \
+ -- ${FD_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping bacula file daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/bacula-fd.*.pid
+ eend $?
+}
diff --git a/testing/bacula/bacula-sd-conf b/testing/bacula/bacula-sd-conf
new file mode 100644
index 000000000..88e13aa0e
--- /dev/null
+++ b/testing/bacula/bacula-sd-conf
@@ -0,0 +1,7 @@
+# Config file for /etc/init.d/bacula-sd
+
+# Options for the storage daemon.
+# The SD can be run as a non-root user, however
+# please ensure that this user has proper permissions to
+# access your backup devices.
+SD_OPTIONS="-u bacula -g bacula -c /etc/bacula/bacula-sd.conf"
diff --git a/testing/bacula/bacula-sd-init b/testing/bacula/bacula-sd-init
new file mode 100644
index 000000000..38c9ea487
--- /dev/null
+++ b/testing/bacula/bacula-sd-init
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/app-backup/bacula/files/3.0.3/bacula-sd-init,v 1.1 2009/11/08 17:14:46 wschlich Exp $
+
+depend() {
+ need net
+ use dns
+}
+
+start() {
+ ebegin "Starting bacula storage daemon"
+ start-stop-daemon --start --quiet --exec /usr/sbin/bacula-sd \
+ -- ${SD_OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping bacula storage daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/bacula-sd.*.pid
+ eend $?
+}
diff --git a/testing/bacula/bacula.post-install b/testing/bacula/bacula.post-install
new file mode 100644
index 000000000..51274b5c3
--- /dev/null
+++ b/testing/bacula/bacula.post-install
@@ -0,0 +1,2 @@
+#!/bin/sh
+chown bacula.bacula /var/bacula
diff --git a/testing/bacula/bacula.pre-install b/testing/bacula/bacula.pre-install
new file mode 100644
index 000000000..bfac8567a
--- /dev/null
+++ b/testing/bacula/bacula.pre-install
@@ -0,0 +1,4 @@
+#!/bin/sh
+addgroup -S bacula 2>/dev/null
+adduser -h /var/bacula/ -s /bin/false -G bacula -S -H -D bacula 2>/dev/null
+exit 0
diff --git a/testing/bacula/configure.in.patch b/testing/bacula/configure.in.patch
new file mode 100644
index 000000000..cfe2a0b7c
--- /dev/null
+++ b/testing/bacula/configure.in.patch
@@ -0,0 +1,23 @@
+--- bacula-3.0.3-orig/autoconf/configure.in Sun Oct 18 09:10:16 2009
++++ bacula-3.0.3/autoconf/configure.in Wed Dec 2 14:13:44 2009
+@@ -2576,6 +2576,20 @@
+ fi
+ TAPEDRIVE="/dev/nrmt0"
+ ;;
++alpine)
++ dnl Make sure hostname is resolved
++ ping -c 1 $hostname 2>&1 1>/dev/null
++ if test ! $? = 0; then
++ hostname="localhost"
++ fi
++ if `test -f /etc/alpine-release && grep -q alpine /etc/alpine-release`; then
++ DISTNAME="alpine"
++ fi
++ DISTVER=`cat /etc/alpine-release`
++ TAPEDRIVE="/dev/nst0"
++ PSCMD="ps -e -o pid,comm"
++ largefile_support="yes"
++ ;;
+ bsdi)
+ DISTVER=`uname -a |awk '{print $3}'`
+ TAPEDRIVE="/dev/nrmt0"
diff --git a/testing/bacula/os.m4.patch b/testing/bacula/os.m4.patch
new file mode 100644
index 000000000..95dc5666a
--- /dev/null
+++ b/testing/bacula/os.m4.patch
@@ -0,0 +1,12 @@
+--- bacula-3.0.3-orig/autoconf/bacula-macros/os.m4 Sun Oct 18 09:10:16 2009
++++ bacula-3.0.3/autoconf/bacula-macros/os.m4 Wed Dec 2 13:48:30 2009
+@@ -201,6 +201,9 @@
+ elif test -f /etc/gentoo-release
+ then
+ DISTNAME=gentoo
++elif test -f /etc/alpine-release
++then
++ DISTNAME=alpine
+ elif test -f /etc/debian_version
+ then
+ DISTNAME=debian
diff --git a/testing/mtx/APKBUILD b/testing/mtx/APKBUILD
new file mode 100644
index 000000000..5d706bc40
--- /dev/null
+++ b/testing/mtx/APKBUILD
@@ -0,0 +1,23 @@
+# Contributor: Leonardo Arena <rnalrd@gmail.com>
+# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+pkgname="mtx"
+pkgver=1.3.12
+pkgrel=0
+pkgdesc="SCSI Media Changer and Backup Device Control"
+url="http://mtx.opensource-sw.net/"
+license="GPL2"
+depends=""
+makedepends=""
+install=""
+subpackages=""
+source="http://downloads.sourceforge.net/mtx/$pkgname-$pkgver.tar.gz"
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --datadir=/usr/share
+ make || return 1
+ make prefix="$pkgdir" install
+}
+
+md5sums="ce8f0e44671fb0c7d9ec30bb0bfa8b5c mtx-1.3.12.tar.gz"