diff options
193 files changed, 7973 insertions, 0 deletions
diff --git a/testing/acf-fetch-crl/APKBUILD b/testing/acf-fetch-crl/APKBUILD new file mode 100644 index 00000000..3728292f --- /dev/null +++ b/testing/acf-fetch-crl/APKBUILD @@ -0,0 +1,21 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +pkgname=acf-fetch-crl +pkgver=0.2.0 +pkgrel=0 +pkgdesc="A web-based system administration interface for fetch-crl" +url="http://git.alpinelinux.org/cgit/$pkgname" +license="GPL-2" +depends="acf-core lua fetch-crl" +makedepends="" +install= +subpackages="" +source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + +} + +md5sums="d8789ef066ac41abd0db69a8ec470540 acf-fetch-crl-0.2.0.tar.bz2" diff --git a/testing/alsa-utils/APKBUILD b/testing/alsa-utils/APKBUILD new file mode 100644 index 00000000..ffa91217 --- /dev/null +++ b/testing/alsa-utils/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=alsa-utils +pkgver=1.0.22 +pkgrel=0 +pkgdesc="Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)" +url="http://www.alsa-project.org" +license="GPL" +makedepends="alsa-lib-dev pciutils-dev ncurses-dev" +depends="dialog" +subpackages="$pkgname-doc" +source="ftp://ftp.alsa-project.org/pub/utils/$pkgname-$pkgver.tar.bz2 + alsaconf.patch + alsa.initd + alsa.confd + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + patch -Np1 -i ../alsaconf.patch || return 1 +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-xmlto \ + || return 1 + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -D -m755 ../alsa.initd "$pkgdir"/etc/init.d/alsa + install -D -m644 ../alsa.confd "$pkgdir"/etc/conf.d/alsa +} +md5sums="f7180316188552ee1e6759a03f1fe98d alsa-utils-1.0.22.tar.bz2 +5e65f278b5a77e3ee2821ad955c4cd91 alsaconf.patch +4a66dad46d5366e05098cde97f3d37b5 alsa.initd +85b1f1e759fe5953eca329237f4ac256 alsa.confd" diff --git a/testing/alsa-utils/alsa.confd b/testing/alsa-utils/alsa.confd new file mode 100644 index 00000000..0a5d58fc --- /dev/null +++ b/testing/alsa-utils/alsa.confd @@ -0,0 +1,31 @@ +# ENABLE_OSS_EMUL: +# Do you want to enable in-kernel oss emulation? +# no - Do not load oss emul drivers +# yes - Load oss emul drivers if they're found + +ENABLE_OSS_EMUL="yes" + +# RESTORE_ON_START: +# Do you want to restore your mixer settings? If not, your cards will be +# muted. +# no - Do not restore state +# yes - Restore state + +RESTORE_ON_START="yes" + +# SAVE_ON_STOP: +# Do you want to save changes made to your mixer volumes when alsasound +# stops? +# no - Do not save state +# yes - Save state + +SAVE_ON_STOP="yes" + +# LOAD_ON_START: +# Do you want to load sound modules when alsasound starts? +# Note: The Gentoo ALSA developers encourage you to build your sound +# drivers into the kernel unless the device is hotpluggable or +# you need to supply specific options (such as model= to HD-Audio). +# no - Do not load modules +# yes - Load modules +LOAD_ON_START="yes" diff --git a/testing/alsa-utils/alsa.initd b/testing/alsa-utils/alsa.initd new file mode 100644 index 00000000..c1186189 --- /dev/null +++ b/testing/alsa-utils/alsa.initd @@ -0,0 +1,218 @@ +#!/sbin/runscript +# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsasound.initd-r4,v 1.1 2009/08/02 11:27:26 ssuominen Exp $ +# Copyright 2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +alsastatedir=/var/lib/alsa +alsascrdir=/etc/alsa.d + +opts="save restore" + +depend() { + need localmount + after bootmisc modules isapnp coldplug hotplug hwdrivers +} + +load_modules() { + # List of drivers for each card. + local DRIVERS="$(modprobe -c | sed -n -e 's/^alias \(snd-card-[[:digit:]]\+\) .*/\1/p')" + + # Fall back on the automated aliases if we don't have ALSA configured properly... + if [ -z "${DRIVERS}" ] && \ + ( [ ! -r /proc/asound/cards ] || grep -q ' no soundcards ' /proc/asound/cards 2>/dev/null ) ; then + ewarn "Could not detect custom ALSA settings. Loading all detected alsa drivers." + DRIVERS="$(modprobe -c | sed -n -e '/^alias pci:.* snd.*/ s/^alias pci:[^ ]* \(.*\)/\1/p' | sort | uniq)" + if [ -z "${DRIVERS}" ] ; then + eerror "Unable to find any ALSA drivers. Have you compiled alsa-drivers correctly?" + fi + fi + + if [ "${ENABLE_OSS_EMUL}" = "yes" ] ; then + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -e '/snd.*oss/ s:.*\/\([[:alnum:]_-]\+\).ko:\1:p')" + fi + + # We want to ensure snd-seq is loaded as it is needed for things like + # timidity even if we don't use a real sequencer. + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -e '/snd.seq\./ s:.*\/\([[:alnum:]_-]\+\).ko:\1:p')" + + # We want to ensure snd-ioctl32 is loaded as it is needed for 32bit + # compatibility + DRIVERS="${DRIVERS} $(modprobe -l | sed -n -e '/snd.ioctl32\./ s:.*\/\([[:alnum:]_-]\+\).ko:\1:p')" + + local DRIVER= DMOD= + for DRIVER in ${DRIVERS} ; do + [ "${DRIVER}" = "off" ] && continue + DMOD="$(echo "${DRIVER}" | sed -e 's/-/_/g')" + if ! grep -q "^${DMOD} " /proc/modules ; then + ebegin "Loading: ${DRIVER}" + modprobe ${DRIVER} + eend $? + fi + done + + if [ -f /proc/asound/seq/drivers ] ; then + local SEQUENCERS="$(sed -n -e 's/\([^,]*\),empty,.*/\1/p' /proc/asound/seq/drivers)" + local SEQUENCER + for SEQUENCER in ${SEQUENCERS} ; do + DMOD="$(echo "${SEQUENCER}" | sed -e 's/-/_/g')" + if ! grep -q "^${DMOD} " /proc/modules ; then + ebegin "Loading: ${SEQUENCER}" + modprobe ${SEQUENCER} + eend $? + fi + done + fi + + for DRIVER in ${DRIVERS} + do + local TMP=${DRIVER##snd-} + TMP=${TMP##snd_} + if [ -x "${alsascrdir}/${TMP}" ] ; then + ebegin "Running: ${alsascrdir}/${TMP}" + "${alsascrdir}/${TMP}" + eend $? + fi + done + + if [ ! -d /proc/asound ] || grep -q ' no soundcards ' /proc/asound/cards ; then + eerror "ERROR: Failed to load necessary drivers" + return 1 + fi +} + +unload_modules_24() { + local LOADED_MODULES="$(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p')" + local MODULE + for MODULE in ${LOADED_MODULES} ; do + rmmod "${MODULE}" + done + rmmod soundcore 2>/dev/null + rmmod gameport 2>/dev/null + + lsmod | grep -vq '^snd' +} + +unload_modules_recursive() { + local revdeps="$(lsmod | sed -n -e "s/,/ /g" -e "s/^$1 *[0-9]* *[0-9]* \(.*\)/\1/p")" + + for module in ${revdeps} ; do + unload_modules_recursive "${module}" + done + + vebegin "Unloading: $1" + rmmod --wait "$1" + veend $? +} + +unload_modules_26() { + # First of all, remove the snd module and all the modules depending + # on it, this should remove already most of ALSA modules. + lsmod | grep -q "^snd[[:space:]]" && unload_modules_recursive snd + + # Then find the remaining ones, and handle them too. + for module in $(lsmod | sed -n -e 's/^\(snd[^ ]*\) .*/\1/p'); do + unload_modules_recursive "${module}" + done + + lsmod | grep -vq "^snd" +} + +terminate() { + # + # Kill processes holding open sound devices + # + # DEVS=`find /dev/ -follow -type c -maxdepth 1 -print 2>/dev/null | xargs ls -dils | grep "1*1[46]," | cut -d: -f2 | cut -d" " -f2; echo /proc/asound/dev/*` + local ossdevs="/dev/admmidi* /dev/adsp* /dev/amidi* /dev/audio* /dev/dmfm* \ + /dev/dmmidi* /dev/dsp* /dev/dspW* /dev/midi0* /dev/mixer* /dev/music \ + /dev/patmgr* /dev/sequencer* /dev/sndstat" + local alsadevs="/proc/asound/dev/* /dev/sound/* /dev/snd/*" + fuser -k ${ossdevs} ${alsadevs} >/dev/null 2>/dev/null + + # remove all sequencer connections if any + [ -f /proc/asound/seq/clients ] && type aconnect >/dev/null 2>/dev/null && aconnect --removeall +} + +restore() { + ebegin "Restoring Mixer Levels" + + if [ ! -r "${alsastatedir}/asound.state" ] ; then + ewarn "No mixer config in ${alsastatedir}/asound.state, you have to unmute your card!" + eend 0 + return 0 + fi + + local cards="$(sed -n -e 's/ *\([[:digit:]]*\) .*/\1/p' /proc/asound/cards)" + local CARDNUM + for cardnum in ${cards}; do + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + [ -e /dev/snd/controlC${cardnum} ] || sleep 2 + alsactl -f "${alsastatedir}/asound.state" restore ${cardnum} \ + || ewarn "Errors while restoring defaults, ignoring" + done + + for ossfile in "${alsastatedir}"/oss/card*_pcm* ; do + [ -e "${ossfile}" ] || continue + # We use cat because I'm not sure if cp works properly on /proc + local procfile=${ossfile##${alsastatedir}/oss} + procfile="$(echo "${procfile}" | sed -e 's,_,/,g')" + if [ -e /proc/asound/"${procfile}"/oss ] ; then + cat "${ossfile}" > /proc/asound/"${procfile}"/oss + fi + done + + eend 0 +} + +save() { + ebegin "Storing ALSA Mixer Levels" + + mkdir -p "${alsastatedir}" + if ! alsactl -f "${alsastatedir}/asound.state" store; then + eerror "Error saving levels." + eend 1 + return 1 + fi + + for ossfile in /proc/asound/card*/pcm*/oss; do + [ -e "${ossfile}" ] || continue + local device=${ossfile##/proc/asound/} ; device=${device%%/oss} + device="$(echo "${device}" | sed -e 's,/,_,g')" + mkdir -p "${alsastatedir}/oss/" + cp "${ossfile}" "${alsastatedir}/oss/${device}" + done + + eend 0 +} + +start() { + if [ -f /proc/modules ] && [ "${LOAD_ON_START}" = "yes" ]; then + ebegin "Loading ALSA modules" + eindent + load_modules + eoutdent + eend $? || return 1 + fi + + if [ ! -d /proc/asound ]; then + eerror "ALSA failed to load." + eend 1 + return 1 + elif [ "${RESTORE_ON_START}" = "yes" ]; then + restore + fi + + return 0 +} + +stop() { + if [ ! -d /proc/asound ] ; then + eerror "ALSA is not loaded" + return 0 + fi + + [ "${SAVE_ON_STOP}" = "yes" ] && save + + return 0 +} diff --git a/testing/alsa-utils/alsaconf.patch b/testing/alsa-utils/alsaconf.patch new file mode 100644 index 00000000..846cf984 --- /dev/null +++ b/testing/alsa-utils/alsaconf.patch @@ -0,0 +1,12 @@ +diff -Naur alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in alsa-utils-1.0.9a/alsaconf/alsaconf.in +--- alsa-utils-1.0.9a-orig/alsaconf/alsaconf.in 2005-03-24 00:24:52.000000000 -0800 ++++ alsa-utils-1.0.9a/alsaconf/alsaconf.in 2005-07-18 09:25:02.000000000 -0700 +@@ -58,6 +58,8 @@ + distribution="redhat" + elif test -f /etc/fedora-release && grep -q "Fedora" /etc/fedora-release; then + distribution="fedora" ++elif test -f /etc/alpine-release; then ++ distribution="alpine" + elif [ -f /etc/slackware-version -o -f /etc/slamd64-version ]; then + distribution="slackware" + else diff --git a/testing/antiword/APKBUILD b/testing/antiword/APKBUILD new file mode 100644 index 00000000..75f5bf73 --- /dev/null +++ b/testing/antiword/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=antiword +pkgver=0.37 +pkgrel=0 +pkgdesc="free MS Word reader" +url="http://www.winfield.demon.nl" +license="GPL" +depends="" +makedepends="" +install= +subpackages="" +source="http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + make || return 1 + + install -m755 -D "$srcdir"/"$pkgname-$pkgver"/$pkgname "$pkgdir"/usr/bin/$pkgname + mkdir -p "$pkgdir"/usr/share/antiword + install -m644 -D "$srcdir"/"$pkgname-$pkgver"/Resources/* "$pkgdir"/usr/share/antiword/ +} + +md5sums="f868e2a269edcbc06bf77e89a55898d1 antiword-0.37.tar.gz" diff --git a/testing/atomic-ops/APKBUILD b/testing/atomic-ops/APKBUILD new file mode 100644 index 00000000..aff442f5 --- /dev/null +++ b/testing/atomic-ops/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=atomic-ops +pkgver=1.2_p20080819 +_realver=1.2+cvs20080819 +pkgrel=0 +pkgdesc="A library for atomic operations" +url="http://www.hpl.hp.com/research/linux/atomic_ops/download.php4" +license="GPL" +depends="" +makedepends="" +install= +subpackages= +source="http://ftp.de.debian.org/debian/pool/main/liba/libatomic-ops/libatomic-ops_$_realver.orig.tar.gz" + +build() { + cd "$srcdir"/libatomic_ops-${pkgver%_p*} + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install +} + +md5sums="bf26c062f28796e3daaab586a38abec1 libatomic-ops_1.2+cvs20080819.orig.tar.gz" diff --git a/testing/attr/APKBUILD b/testing/attr/APKBUILD new file mode 100644 index 00000000..8f80a991 --- /dev/null +++ b/testing/attr/APKBUILD @@ -0,0 +1,50 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=attr +pkgver=2.4.44 +_ver=2.4.44 +pkgrel=0 +pkgdesc="Extended attribute support library for ACL support" +url="http://oss.sgi.com/projects/xfs/" +license="LGPL" +depends= +makedepends="libtool autoconf automake bash gzip" +subpackage="$pkgname-dev $pkgname-doc" +source="ftp://ftp.archlinux.org/other/attr/attr-${pkgver}.src.tar.gz" + +prepare() { + cd "$srcdir"/attr-$pkgver + sed -i -e '/HAVE_ZIPPED_MANPAGES/s:=.*:=false:' \ + include/builddefs.in + + autoconf || return 1 +} + +build() { + cd "$srcdir"/attr-$pkgver + + unset PLATFORM #184564 + export OPTIMIZER="${CFLAGS}" + export DEBUG=-DNDEBUG + + ./configure \ + --prefix=/ \ + --exec-prefix=/ \ + --sbindir=/bin \ + --bindir=/usr/bin \ + --libdir=/lib \ + --libexecdir=/usr/lib \ + --enable-lib64=yes \ + --includedir=/usr/include \ + --mandir=/usr/share/man \ + --datadir=/usr/share \ + --disable-gettext || return 1 + make LIBTOOL="libtool --tag=CC" || return 1 +} + +package() { + cd "$srcdir"/attr-$pkgver + make DIST_ROOT="$pkgdir" install install-lib install-dev + # provided by man-pages + rm -fr "$pkgdir"/usr/share/man/man2 +} +md5sums="adeefe65c5ad1febe46da185c5bfd5d4 attr-2.4.44.src.tar.gz" diff --git a/testing/bacula-client/APKBUILD b/testing/bacula-client/APKBUILD new file mode 100644 index 00000000..3156c9dd --- /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 00000000..51274b5c --- /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 00000000..54f40877 --- /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 00000000..033ef74b --- /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 00000000..618b3508 --- /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 00000000..cfe2a0b7 --- /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 00000000..95dc5666 --- /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 00000000..6adc4945 --- /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 00000000..17a56161 --- /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 00000000..c14f5c87 --- /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 00000000..033ef74b --- /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 00000000..618b3508 --- /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 00000000..88e13aa0 --- /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 00000000..38c9ea48 --- /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 00000000..51274b5c --- /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 00000000..bfac8567 --- /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 00000000..cfe2a0b7 --- /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 00000000..95dc5666 --- /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/cdparanoia/APKBUILD b/testing/cdparanoia/APKBUILD new file mode 100644 index 00000000..7080bfc8 --- /dev/null +++ b/testing/cdparanoia/APKBUILD @@ -0,0 +1,51 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=cdparanoia +pkgver=10.2 +pkgrel=0 +pkgdesc="An audio CD extraction application" +url="http://www.xiph.org/paranoia" +license="GPL" +depends="uclibc" +makedepends="libtool autoconf automake" +install= +subpackages="$pkgname-dev" +source="http://downloads.xiph.org/releases/cdparanoia/$pkgname-III-$pkgver.src.tgz" + +build() { + cd "$srcdir/$pkgname-III-$pkgver" + mv configure.guess config.guess + mv configure.sub config.sub + sed -i -e '/configure.\(guess\|sub\)/d' configure.in || return 1 + aclocal && autoconf || return 1 + libtoolize || return 1 + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + #make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/"$pkgname-III-$pkgver"/cdparanoia "$pkgdir"/usr/bin/cdparanoia + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/interface/libcdda_interface.a "$pkgdir"/usr/lib/libcdda_interface.a + install -m755 -D "$srcdir"/"$pkgname-III-$pkgver"/interface/libcdda_interface.so.0."$pkgver" "$pkgdir"/usr/lib/libcdda_interface.so.0."$pkgver" + install -m755 -D "$srcdir"/"$pkgname-III-$pkgver"/paranoia/libcdda_paranoia.so.0."$pkgver" "$pkgdir"/usr/lib/libcdda_paranoia.so.0."$pkgver" + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/interface/libcdda_interface.so.0 "$pkgdir"/usr/lib/libcdda_interface.so.0 + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/interface/libcdda_interface.so "$pkgdir"/usr/lib/libcdda_interface.so + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/paranoia/libcdda_paranoia.so.0 "$pkgdir"/usr/lib/libcdda_paranoia.so.0 + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/paranoia/libcdda_paranoia.so "$pkgdir"/usr/lib/libcdda_paranoia.so + +} + +dev () { + install="" + mkdir pkg-dev + cd "$srcdir/$pkgname-III-$pkgver" + + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/interface/cdda_interface.h "$pkgdir"-dev/usr/include/cdda_interface.h + install -m644 -D "$srcdir"/"$pkgname-III-$pkgver"/paranoia/cdda_paranoia.h "$pkgdir"-dev/usr/include/cdda_paranoia.h + +} + +md5sums="b304bbe8ab63373924a744eac9ebc652 cdparanoia-III-10.2.src.tgz" diff --git a/testing/cherokee/APKBUILD b/testing/cherokee/APKBUILD new file mode 100644 index 00000000..47a7d43a --- /dev/null +++ b/testing/cherokee/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Mika Havela <mika.havela@gmail.com> +# Maintainer: Mika Havela <mika.havela@gmail.com> +pkgname=cherokee +pkgver=0.99.41 +pkgrel=0 +pkgdesc="A very fast, flexible and easy to configure Web Server" +url="http://www.cherokee-project.com/" +license="GPL2" +depends="pcre rrdtool" +makedepends="openssl-dev gettext-dev ffmpeg-dev" +install= +subpackages="$pkgname-dev $pkgname-doc" +source="http://www.cherokee-project.com/download/0.99/${pkgver}/${pkgname}-${pkgver}.tar.gz + cherokee.initd + cherokee.confd + " + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-wwwroot=/var/www + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="388affc0636aca802ec46cea4ebb8d08 cherokee-0.99.41.tar.gz +4180dbb6701f928054079aa1e3bd5ebc cherokee.initd +bd6a840f72c630ce1eaabe058097584f cherokee.confd" diff --git a/testing/cherokee/cherokee.confd b/testing/cherokee/cherokee.confd new file mode 100644 index 00000000..8f719df3 --- /dev/null +++ b/testing/cherokee/cherokee.confd @@ -0,0 +1,10 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon $OPTS here. +# + +OPTS="-d" +DAEMON_USER="root" +DAEMON_GROUP="root" + diff --git a/testing/cherokee/cherokee.initd b/testing/cherokee/cherokee.initd new file mode 100755 index 00000000..6aed337b --- /dev/null +++ b/testing/cherokee/cherokee.initd @@ -0,0 +1,41 @@ +#!/sbin/runscript + +# Cherokee init.d file for alpine linux. + +NAME=cherokee +DAEMON=/usr/sbin/$NAME +DAEMON_USER=${DAEMON_USER:-root} +DAEMON_GROUP=${DAEMON_GROUP:-root} + +depend() { + need net +} + +start() { + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet \ + --pidfile /var/run/${NAME}.pid \ + --chuid ${DAEMON_USER}:${DAEMON_GROUP} \ + --exec ${DAEMON} -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --quiet \ + --exec ${DAEMON} \ + --pidfile /var/run/${NAME}.pid + eend $? +} + +reload() { + ebegin "Reloading ${NAME}" + if ! service_started "${NAME}" ; then + eend 1 "${NAME} is not started" + return 1 + fi + start-stop-daemon --stop --oknodo --signal HUP \ + --exec ${DAEMON} --pidfile /var/run/${NAME}.pid + eend $? +} + diff --git a/testing/collectd/APKBUILD b/testing/collectd/APKBUILD new file mode 100644 index 00000000..e145a79f --- /dev/null +++ b/testing/collectd/APKBUILD @@ -0,0 +1,79 @@ +# Contributor: +# Maintainer: +pkgname=collectd +pkgver=4.9.1 +pkgrel=0 +pkgdesc="The system statistics collection daemon" +url="http://collectd.org" +license="GPL" +depends= +makedepends="pkgconfig curl-dev net-snmp-dev postgresql-dev perl-dev + libgcrypt-dev mysql-dev zlib-dev" +install= +subpackages="$pkgname-dev $pkgname-doc $pkgname-perl $pkgname-snmp $pkgname-curl + $pkgname-write_http $pkgname-nginx $pkgname-apache $pkgname-postgresql + $pkgname-mysql $pkgname-network" + +source="http://collectd.org/files/collectd-$pkgver.tar.bz2" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + + # we need -lm + sed -i -e 's/^collectd_LDADD = \(.*\)/collectd_LDADD = -lm \1/' \ + -e 's/^collectd_nagios_LDADD = \(.*\)/collectd_nagios_LDADD = -lm \1/' src/Makefile.in + + # disable -Werror + sed -i -e 's/-Werror//' src/owniptc/Makefile.in + +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install + + find "$pkgdir" -name perllocal.pod -delete + # 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 +} + +perl() { + pkgdesc="perl bindings to collectd" + depends="perl" + install -d "$subpkgdir"/usr/lib/ "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/perl* "$subpkgdir"/usr/share/ +} + +_plugin() { + local mod=$1 + local desc=${2:-$mod} + pkgdesc="$desc pluin for collectd" + depends="collectd" + install -d "$subpkgdir"/usr/lib/collectd + mv "$pkgdir"/usr/lib/collectd/$mod.so "$subpkgdir"/usr/lib/collectd/ +} + +snmp() { _plugin snmp; } +curl() { _plugin curl; } +write_http() { _plugin write_http; } +nginx() { _plugin nginx; } +apache() { _plugin apache; } +postgresql() { _plugin postgresql; } +mysql() { _plugin mysql; } +network() { _plugin network; } + +md5sums="5753496651c8c84afaea1fe290876bfc collectd-4.9.1.tar.bz2" diff --git a/testing/coova-chilli/APKBUILD b/testing/coova-chilli/APKBUILD new file mode 100644 index 00000000..256475ba --- /dev/null +++ b/testing/coova-chilli/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: grharry +# Maintainer: + +# TODO: fix init.d script + +pkgname=coova-chilli +pkgver=1.0.14 +pkgrel=0 +pkgdesc="CoovaChilli is an open source access controller for wireless LAN" +url="http://www.coova.org/" +license="GPL" +depends= +makedepends="perl openssl-dev autoconf automake libtool" +install= #"coova-chilli.install" +subpackages="$pkgname-doc $pkgname-dev" +source="http://ap.coova.org/chilli/coova-chilli-$pkgver.tar.gz + coova-chilli-ssl.patch + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 -i ../coova-chilli-ssl.patch || return 1 + aclocal && autoconf && automake && libtoolize || return 1 + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var/run \ + --libdir=/usr/lib \ + --sysconfdir=/etc \ + --with-openssl + make -j1 || return 1 + make DESTDIR="$pkgdir" install +} + +md5sums="88774ec55f9943d174ea7dd26e85fd8a coova-chilli-1.0.14.tar.gz +e4e94b06540c10caa750a590f3ec9ec6 coova-chilli-ssl.patch" diff --git a/testing/coova-chilli/coova-chilli-ssl.patch b/testing/coova-chilli/coova-chilli-ssl.patch new file mode 100644 index 00000000..618b90a6 --- /dev/null +++ b/testing/coova-chilli/coova-chilli-ssl.patch @@ -0,0 +1,17 @@ +diff -ru a/src/Makefile.am b/src/Makefile.am +--- a/src/Makefile.am 2009-10-15 09:15:00.000000000 +0000 ++++ b/src/Makefile.am 2009-10-15 09:17:20.000000000 +0000 +@@ -20,6 +20,7 @@ + chilli.h options.h util.c garden.c garden.h \ + dns.c dns.h session.c session.h limits.h pkt.h pkt.c \ + chksum.c net.h net.c ms_chap.c options.c ++libchilli_la_LIBADD = $(LIBOPENSSL) + + # AM_LDFLAGS = -lchilli + +@@ -32,4 +33,4 @@ + chilli_dog_SOURCES = main-dog.c + #test_radius_SOURCES = test-radius.c + +-LDADD = libchilli.la $(top_builddir)/bstring/libbstring.la ++LDADD = libchilli.la $(top_builddir)/bstring/libbstring.la $(LIBOPENSSL) diff --git a/testing/cryptsetup/APKBUILD b/testing/cryptsetup/APKBUILD new file mode 100644 index 00000000..4d7d4c98 --- /dev/null +++ b/testing/cryptsetup/APKBUILD @@ -0,0 +1,24 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=cryptsetup +pkgver=1.0.7 +pkgrel=0 +pkgdesc="Userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi" +url="http://code.google.com/p/cryptsetup/" +license="GPL" +depends= +makedepends="lvm2-dev libgcrypt-dev popt-dev util-linux-ng-dev" +subpackages="$pkgname-dev $pkgname-doc" +source="http://$pkgname.googlecode.com/files/$pkgname-$pkgver.tar.bz2" + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-static + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} +md5sums="5eea2a77391a8a1a651b31cbaef59e22 cryptsetup-1.0.7.tar.bz2" diff --git a/testing/daemontools/0.76-errno.patch b/testing/daemontools/0.76-errno.patch new file mode 100644 index 00000000..3af157c4 --- /dev/null +++ b/testing/daemontools/0.76-errno.patch @@ -0,0 +1,11 @@ +--- src/error.h 2001-07-12 11:49:49.000000000 -0500 ++++ src/error.h 2003-02-26 02:14:06.000000000 -0600 +@@ -3,7 +3,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; diff --git a/testing/daemontools/0.76-warnings.patch b/testing/daemontools/0.76-warnings.patch new file mode 100644 index 00000000..f558bb18 --- /dev/null +++ b/testing/daemontools/0.76-warnings.patch @@ -0,0 +1,74 @@ +Fixup misc warnings + +Patch by RiverRat + +http://bugs.gentoo.org/124487 + +--- src/chkshsgr.c ++++ src/chkshsgr.c +@@ -1,10 +1,13 @@ + /* Public domain. */ + ++#include <sys/types.h> ++#include <stdlib.h> ++#include <grp.h> + #include <unistd.h> + + int main() + { +- short x[4]; ++ gid_t x[4]; + + x[0] = x[1] = 0; + if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); +--- src/matchtest.c ++++ src/matchtest.c +@@ -1,3 +1,4 @@ ++#include <unistd.h> + #include "match.h" + #include "buffer.h" + #include "str.h" +--- src/multilog.c ++++ src/multilog.c +@@ -1,3 +1,4 @@ ++#include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> +--- src/prot.c ++++ src/prot.c +@@ -1,5 +1,8 @@ + /* Public domain. */ + ++#include <sys/types.h> ++#include <unistd.h> ++#include <grp.h> + #include "hasshsgr.h" + #include "prot.h" + +--- src/seek_set.c ++++ src/seek_set.c +@@ -1,6 +1,7 @@ + /* Public domain. */ + + #include <sys/types.h> ++#include <unistd.h> + #include "seek.h" + + #define SET 0 /* sigh */ +--- src/supervise.c ++++ src/supervise.c +@@ -1,3 +1,4 @@ ++#include <stdio.h> + #include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> +--- src/pathexec_run.c ++++ src/pathexec_run.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include "error.h" + #include "stralloc.h" + #include "str.h" diff --git a/testing/daemontools/APKBUILD b/testing/daemontools/APKBUILD new file mode 100644 index 00000000..98bf9952 --- /dev/null +++ b/testing/daemontools/APKBUILD @@ -0,0 +1,48 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=daemontools +pkgver=0.76 +pkgrel=0 +pkgdesc="Collection of tools for managing UNIX services" +url="http://cr.yp.to/daemontools.html" +license="public-domain" +depends= +# The makefile need GNU cat for 'cat -v' +makedepends="coreutils" + +source="http://cr.yp.to/daemontools/$pkgname-$pkgver.tar.gz + 0.76-errno.patch + 0.76-warnings.patch + svscan.initd + " + +_builddir="$srcdir"/admin/$pkgname-$pkgver/src + +prepare() { + cd "$_builddir" + for i in "$srcdir"/*.patch; do + msg "Applying $i" + patch -p1 -i $i || return 1 + done +} + +build() { + cd "$_builddir" + echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc + echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld + touch > home + make PATH="/usr/bin:/bin" || return 1 +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/bin "$pkgdir"/service + for f in $(cat ../package/commands); do + cp $f "$pkgdir"/usr/bin/$f + done + install -Dm755 "$srcdir"/svscan.initd "$pkgdir"/etc/init.d/svscan +} + +md5sums="1871af2453d6e464034968a0fbcb2bfc daemontools-0.76.tar.gz +c75438b1c3b9d9f67691bd10cf3c8e52 0.76-errno.patch +ad68177f50bfffb6a1cbf8c668de6a55 0.76-warnings.patch +c6e4ace205400be062d3ba82315cbcd1 svscan.initd" diff --git a/testing/daemontools/svscan.initd b/testing/daemontools/svscan.initd new file mode 100644 index 00000000..bf7af28f --- /dev/null +++ b/testing/daemontools/svscan.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-process/daemontools/files/svscan.init-0.76-r7,v 1.1 2008/12/07 06:59:37 robbat2 Exp $ + +depend() { + use net + before ntpd ntp-client spamd apache apache2 + after firewall +} + +start() { + ebegin "Starting service scan" + setsid start-stop-daemon --start --exec /usr/bin/svscan \ + --background --make-pidfile \ + --pidfile /var/run/svscan.pid -- /service + eend $? +} + +stop() { + ebegin "Stopping service scan" + start-stop-daemon --stop --exec /usr/bin/svscan \ + --pidfile /var/run/svscan.pid + eend $? + + ebegin "Stopping service scan services" + svc -dx /service/* 2>/dev/null + eend $? + + ebegin "Stopping service scan logging" + svc -dx /service/*/log 2>/dev/null + eend $? +} diff --git a/testing/dspam/0001-Support-for-parallell-builds.patch b/testing/dspam/0001-Support-for-parallell-builds.patch new file mode 100644 index 00000000..7044d5f6 --- /dev/null +++ b/testing/dspam/0001-Support-for-parallell-builds.patch @@ -0,0 +1,77 @@ +From 80f81670323a09025ffb7d030be56e47aec5492c Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Wed, 6 Jan 2010 12:34:15 +0000 +Subject: [PATCH] Support for parallell builds + +--- + src/Makefile.am | 12 +++++++----- + 1 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 6e8a774..49d6b16 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -134,7 +134,7 @@ libmysql_drv_la_LIBADD = $(libmysql_drv_libs) -L. -ldspam + libmysql_drv_la_CPPFLAGS = $(libmysql_drv_cppflags) + libmysql_drv_la_LDFLAGS = $(libmysql_drv_ldflags) + libmysql_drv_la_LDFLAGS += -rpath '$(pkglibdir)' -version-info $(libversion) +-libmysql_drv_la_DEPENDENCIES = ++libmysql_drv_la_DEPENDENCIES = libdspam.la + + libpgsql_drv_la_SOURCES = \ + pgsql_drv.c pgsql_drv.h +@@ -142,7 +142,7 @@ libpgsql_drv_la_LIBADD = $(libpgsql_drv_libs) -L. -ldspam + libpgsql_drv_la_CPPFLAGS = $(libpgsql_drv_cppflags) + libpgsql_drv_la_LDFLAGS = $(libpgsql_drv_ldflags) + libpgsql_drv_la_LDFLAGS += -rpath '$(pkglibdir)' -version-info $(libversion) +-libpgsql_drv_la_DEPENDENCIES = ++libpgsql_drv_la_DEPENDENCIES = libdspam.la + + libsqlite_drv_la_SOURCES = \ + sqlite_drv.c sqlite_drv.h +@@ -150,7 +150,7 @@ libsqlite_drv_la_LIBADD = $(libsqlite_drv_libs) -L. -ldspam + libsqlite_drv_la_CPPFLAGS = $(libsqlite_drv_cppflags) + libsqlite_drv_la_LDFLAGS = $(libsqlite_drv_ldflags) + libsqlite_drv_la_LDFLAGS += -rpath '$(pkglibdir)' -version-info $(libversion) +-libsqlite_drv_la_DEPENDENCIES = ++libsqlite_drv_la_DEPENDENCIES = libdspam.la + + libsqlite3_drv_la_SOURCES = \ + sqlite3_drv.c sqlite3_drv.h +@@ -158,7 +158,7 @@ libsqlite3_drv_la_LIBADD = $(libsqlite3_drv_libs) -L. -ldspam + libsqlite3_drv_la_CPPFLAGS = $(libsqlite3_drv_cppflags) + libsqlite3_drv_la_LDFLAGS = $(libsqlite3_drv_ldflags) + libsqlite3_drv_la_LDFLAGS += -rpath '$(pkglibdir)' -version-info $(libversion) +-libsqlite3_drv_la_DEPENDENCIES = ++libsqlite3_drv_la_DEPENDENCIES = libdspam.la + + libhash_drv_la_SOURCES = \ + hash_drv.c hash_drv.h +@@ -166,7 +166,7 @@ libhash_drv_la_LIBADD = $(libhash_drv_libs) -L. -ldspam + libhash_drv_la_CPPFLAGS = $(libhash_drv_cppflags) + libhash_drv_la_LDFLAGS = $(libhash_drv_ldflags) + libhash_drv_la_LDFLAGS += -rpath '$(pkglibdir)' -version-info $(libversion) +-libhash_drv_la_DEPENDENCIES = ++libhash_drv_la_DEPENDENCIES = libdspam.la + + endif + +@@ -181,6 +181,7 @@ dspam_SOURCES = \ + agent_shared.c agent_shared.h + + dspam_LDADD = -lm pref.o libdspam.la ++dspam_DEPENDENCIES = pref.o libdspam.la + + dspamc_SOURCES = \ + config.h language.h \ +@@ -192,6 +193,7 @@ dspamc_SOURCES = \ + + dspamc_LDADD = -lm buffer.o config_shared.o error.o read_config.o pref.o nodetree.o util.o $(NETLIBS) + dspamc_LDFLAGS = ++dspamc_DEPENDENCIES = buffer.o config_shared.o error.o read_config.o pref.o nodetree.o util.o + + # Failing of chgrp is expected and normal case when someone do + # make install DESTDIR=... +-- +1.6.6 + diff --git a/testing/dspam/APKBUILD b/testing/dspam/APKBUILD new file mode 100644 index 00000000..1d049cfb --- /dev/null +++ b/testing/dspam/APKBUILD @@ -0,0 +1,78 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=dspam +pkgver=3.9.0_rc2 +_ver=3.9.0-RC2 +pkgrel=0 +pkgdesc="A statistical-algorithmic hybrid anti-spam filter" +url="http://dspam.nuclearelephant.com/" +pkgusers="dspam" +pkggroups="dspam" +license="GPL-2" +depends= +install="$pkgname.pre-install" +makedepends="postgresql-dev sqlite-dev mysql-dev autoconf automake libtool" +subpackages="$pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-mysql + $pkgname-sqlite" + +install= #dspam.install +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_ver.tar.gz + 0001-Support-for-parallell-builds.patch + dspam.logrotate + dspam.initd" + + +prepare() { + cd "$srcdir"/$pkgname-$_ver + for i in "$srcdir"/*.patch; do + [ -f "$i" ] || continue + msg "Applying $i" + patch -p1 -i "$i" || return 1 + done + aclocal -I m4 && libtoolize && autoconf && automake +} + +build() { + cd "$srcdir"/$pkgname-$_ver + ./configure --prefix=/usr \ + --sysconfdir=/etc/dspam \ + --with-dspam-home=/var/lib/dspam \ + --enable-virtual-users \ + --enable-preferences-extension \ + --enable-daemon \ + --with-storage-driver="hash_drv,sqlite3_drv,pgsql_drv,mysql_drv" \ + --with-mysql-includes=/usr/include/mysql \ + --with-mysql-libraries=/usr/lib/mysql \ + || return 1 + make +} + +package() { + cd "$srcdir"/$pkgname-$_ver + make install DESTDIR="$pkgdir" + install -Dm755 "$srcdir"/dspam.initd "$pkgdir"/etc/init.d/dspam + install -Dm644 "$srcdir"/dspam.logrotate "$pkgdir"/etc/logrotate.d/dspam + +} + +pgsql() { + pkgdesc="dspam postgresql driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*pgsql* "$subpkgdir"/usr/lib/dspam/ +} + +mysql() { + pkgdesc="dspam mysql driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*mysql* "$subpkgdir"/usr/lib/dspam/ +} + +sqlite() { + pkgdesc="dspam sqlite driver" + install -d "$subpkgdir"/usr/lib/dspam + mv "$pkgdir"/usr/lib/dspam/*sqlite* "$subpkgdir"/usr/lib/dspam/ +} + +md5sums="013dc6700f7c5a757b7a656626b36248 dspam-3.9.0-RC2.tar.gz +0f9f6b32cab7b8e3ad342daad119535d 0001-Support-for-parallell-builds.patch +a798e9a6e2d5c30724f84d004bb96339 dspam.logrotate +7d1fb0820f4a23f593f22186ef77d02a dspam.initd" diff --git a/testing/dspam/dspam.initd b/testing/dspam/dspam.initd new file mode 100644 index 00000000..d91fefeb --- /dev/null +++ b/testing/dspam/dspam.initd @@ -0,0 +1,46 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/files/dspam.rc,v 1.1 2005/03/21 00:10:30 st_lim Exp $ + +conf=/etc/dspam/dspam.conf + +depend() { + use logger + need net + before mta + after pg_autovacuum postgresql mysql +} + +checkconfig() { + if [ ! -f "$conf" ] + then + eerror "You need a DSPAM configuration in $conf" + return 1 + fi + if (! grep -q "^ServerPID" $conf); then + eerror "ServerPID missing in DSPAM configuration $conf" + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting DSPAM" + start-stop-daemon --start --quiet --background \ + --exec /usr/bin/dspam -- --daemon + eend ${?} +} + +stop() { + checkconfig || return 1 + + local DSPAM_PID="$(grep "^ServerPID" $conf)" + DSPAM_PID="${DSPAM_PID/ServerPID/}" + + ebegin "Stopping DSPAM" + start-stop-daemon --stop --quiet --pidfile ${DSPAM_PID} + eend ${?} +} + diff --git a/testing/dspam/dspam.logrotate b/testing/dspam/dspam.logrotate new file mode 100644 index 00000000..1fb3e04c --- /dev/null +++ b/testing/dspam/dspam.logrotate @@ -0,0 +1,6 @@ +/var/log/dspam/sql.errors /var/log/dspam/dspam.log /var/log/dspam/dspam.debug /var/log/dspam/dspam.messages { + weekly + compress + missingok + copytruncate +} diff --git a/testing/dspam/dspam.pre-install b/testing/dspam/dspam.pre-install new file mode 100644 index 00000000..9a6cc6f1 --- /dev/null +++ b/testing/dspam/dspam.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +adduser -h /var/lib/dspam -s /bin/false -D dspam 2>/dev/null +chown dspam:dspam /var/lib/dspam +exit 0 + diff --git a/testing/ebtables/0001-link-with-gcc.patch b/testing/ebtables/0001-link-with-gcc.patch new file mode 100644 index 00000000..88aba09f --- /dev/null +++ b/testing/ebtables/0001-link-with-gcc.patch @@ -0,0 +1,25 @@ +--- a/Makefile Sun Jun 21 13:13:25 2009 ++++ b/Makefile Wed Oct 28 02:42:43 2009 +@@ -85,7 +85,7 @@ + + .PHONY: libebtc + libebtc: $(OBJECTS2) +- $(LD) -shared -soname libebtc.so -o libebtc.so -lc $(OBJECTS2) ++ $(CC) -shared -Wl,-soname,libebtc.so -o libebtc.so -lc $(OBJECTS2) + + ebtables: $(OBJECTS) ebtables-standalone.o libebtc + $(CC) $(CFLAGS) $(CFLAGS_SH_LIB) -o $@ ebtables-standalone.o -I$(KERNEL_INCLUDES) -L. -Lextensions -lebtc $(EXT_LIBSI) \ +@@ -153,10 +153,13 @@ + tmp3:=$(shell printf $(PIPE) | sed 's/\//\\\//g') + .PHONY: scripts + scripts: ebtables-save ebtables.sysv ebtables-config ++ mkdir -p $(DESTDIR)$(BINDIR) + cat ebtables-save | sed 's/__EXEC_PATH__/$(tmp1)/g' > ebtables-save_ + install -m 0755 -o root -g root ebtables-save_ $(DESTDIR)$(BINDIR)/ebtables-save ++ mkdir -p $(DESTDIR)$(INITDIR) + cat ebtables.sysv | sed 's/__EXEC_PATH__/$(tmp1)/g' | sed 's/__SYSCONFIG__/$(tmp2)/g' > ebtables.sysv_ + install -m 0755 -o root -g root ebtables.sysv_ $(DESTDIR)$(INITDIR)/ebtables ++ mkdir -p $(DESTDIR)$(SYSCONFIGDIR) + cat ebtables-config | sed 's/__SYSCONFIG__/$(tmp2)/g' > ebtables-config_ + install -m 0600 -o root -g root ebtables-config_ $(DESTDIR)$(SYSCONFIGDIR)/ebtables-config + rm -f ebtables-save_ ebtables.sysv_ ebtables-config_ diff --git a/testing/ebtables/APKBUILD b/testing/ebtables/APKBUILD new file mode 100644 index 00000000..4bdc882e --- /dev/null +++ b/testing/ebtables/APKBUILD @@ -0,0 +1,58 @@ +# Contributor: Andrew Manison <amanison@anselsystems.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ebtables +pkgver=2.0.9.1 +_realver=v2.0.9-1 +pkgrel=0 +pkgdesc="Ethernet bridge tables - Linux Ethernet filter for the Linux bridge." +url="http://ebtables.sourceforge.net/" +license="GPL" +depends= +makedepends= +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_realver.tar.gz + 0001-link-with-gcc.patch + ebtables.initd + ebtables.confd" + +prepare() { + cd "$srcdir"/$pkgname-$_realver + # patches + for i in ../*.patch; do + msg "Applying $i" + if ! patch --verbose -p1 -i $i; then + error "$i failed" + return 1 + fi + done + + sed -i -e "s,^MANDIR:=.*,MANDIR:=/usr/share/man," \ + -e "s,^BINDIR:=.*,BINDIR:=/sbin," \ + -e "s,^INITDIR:=.*,INITDIR:=/usr/share/doc/ebtables," \ + -e "s,^SYSCONFIGDIR:=.*,SYSCONFIGDIR:=/usr/share/doc/ebtables,"\ + -e "s,^LIBDIR:=.*,LIBDIR:=/usr/lib/\$(PROGNAME)," \ + -e "s/^CFLAGS:=/CFLAGS+=/" \ + -e "s,^CC:=,CC?=," Makefile +} + +build() { + cd "$srcdir"/$pkgname-$_realver + + # This package uses _init functions to initialise extensions. With + # --as-needed this will not work. + export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$_realver + make DESTDIR="$pkgdir" install + install -D -m755 ../ebtables.initd "$pkgdir"/etc/init.d/ebtables + install -D -m644 ../ebtables.initd "$pkgdir"/etc/conf.d/ebtables +} + +md5sums="0e0c20adf2bba6d91dbd0b74a1a38c33 ebtables-v2.0.9-1.tar.gz +91a565a5906dc1fd4103f03c6a88e0e1 0001-link-with-gcc.patch +92e13b3bc1d47d7c00636ebb78c905d5 ebtables.initd +285089ba2d846e72e321a12e3da3cc96 ebtables.confd" diff --git a/testing/ebtables/ebtables.confd b/testing/ebtables/ebtables.confd new file mode 100644 index 00000000..db46ffb5 --- /dev/null +++ b/testing/ebtables/ebtables.confd @@ -0,0 +1,15 @@ +# /etc/conf.d/ebtables + +# Location in which ebtables initscript will save set rules on +# service shutdown +EBTABLES_SAVE="/var/lib/ebtables/rules-save" + +# Options to pass to ebtables-save and ebtables-restore +SAVE_RESTORE_OPTIONS="" + +# Save state on stopping ebtables +SAVE_ON_STOP="yes" + +# Tables to be saved and restored. If you have built ebtables as modules, you +# may leave it blank. Otherwise, you MUST define which to control. +TABLE_NAMES="filter nat broute" diff --git a/testing/ebtables/ebtables.initd b/testing/ebtables/ebtables.initd new file mode 100644 index 00000000..27c743c9 --- /dev/null +++ b/testing/ebtables/ebtables.initd @@ -0,0 +1,97 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/ebtables/files/ebtables.initd,v 1.2 2007/09/28 19:22:14 pva Exp $ + +opts="save reload panic" + +ebtables_bin="/sbin/ebtables" +ebtables_save=${EBTABLES_SAVE} +ebtables_tables=$(grep -E '^ebtable_' /proc/modules | cut -f1 -d' ' | sed s/ebtable_//) +if [ "$ebtables_tables" == "" ] ; then + ebtables_tables=${TABLE_NAMES} +fi + +depend() { + before net + use logger +} + +set_table_policy() { + local chains table=$1 policy=$2 + case ${table} in + nat) chains="PREROUTING POSTROUTING OUTPUT";; + broute) chains="BROUTING";; + filter) chains="INPUT FORWARD OUTPUT";; + *) chains="";; + esac + local chain + for chain in ${chains} ; do + ${ebtables_bin} -t ${table} -P ${chain} ${policy} + done +} + +checkconfig() { + if [ ! -f ${ebtables_save} ] ; then + eerror "Not starting ebtables. First create some rules then run:" + eerror "/etc/init.d/ebtables save" + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + ebegin "Loading ebtables state and starting bridge firewall" + ${ebtables_bin}-restore ${SAVE_RESTORE_OPTIONS} < "${ebtables_save}" + eend $? +} + +stop() { + if [ "${SAVE_ON_STOP}" = "yes" ] ; then + save || return 1 + fi + ebegin "Stopping bridge firewall" + local a + for a in ${ebtables_tables}; do + set_table_policy $a ACCEPT + + ${ebtables_bin} -t $a -F + ${ebtables_bin} -t $a -X + done + eend $? +} + +reload() { + ebegin "Flushing bridge firewall" + local a + for a in ${ebtables_tables}; do + ${ebtables_bin} -t $a -F + ${ebtables_bin} -t $a -X + done + eend $? + + start +} + +save() { + ebegin "Saving ebtables state" + touch "${ebtables_save}" + chmod 0600 "${ebtables_save}" + ${ebtables_bin}-save ${ebtables_tables} ${SAVE_RESTORE_OPTIONS} > "${ebtables_save}" + eend $? +} + +panic() { + service_started ebtables && svc_stop + + local a + ebegin "Dropping all packets forwarded on bridges" + for a in ${ebtables_tables}; do + ${ebtables_bin} -t $a -F + ${ebtables_bin} -t $a -X + + set_table_policy $a DROP + done + eend $? +} diff --git a/testing/ferm/APKBUILD b/testing/ferm/APKBUILD new file mode 100644 index 00000000..b6710399 --- /dev/null +++ b/testing/ferm/APKBUILD @@ -0,0 +1,22 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=ferm +pkgver=2.0.5 +pkgrel=0 +pkgdesc="firewall configuration tool" +url="http://ferm.foo-projects.org/" +license="GPL" +depends="perl iptables" +makedepends="" +install= +subpackages="" +source="http://ferm.foo-projects.org/download/2.0/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + install -m755 -D "$srcdir"/"$pkgname-$pkgver"/src/ferm "$pkgdir"/usr/sbin/"$pkgname" + install -m755 -D "$srcdir"/"$pkgname-$pkgver"/src/import-ferm "$pkgdir"/usr/sbin/import-ferm +} + +md5sums="e77db05360877299cb6fa8c5b51a5e77 ferm-2.0.5.tar.gz" diff --git a/testing/fetch-crl/APKBUILD b/testing/fetch-crl/APKBUILD new file mode 100644 index 00000000..cd4f18c1 --- /dev/null +++ b/testing/fetch-crl/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=fetch-crl +pkgver=2.7.0 +pkgrel=1 +pkgdesc="Tool to keep Certificate Revocation Lists (CRLs) up-to-date" +url="http://dist.eugridpma.info/distribution/util/fetch-crl/" +license="custom" +subpackages="$pkgname-doc" +source=" + http://dist.eugridpma.info/distribution/util/$pkgname/$pkgname-$pkgver.tar.gz + $pkgname-2.7.0-bb-wget.patch + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i -e 's:etc/sysconfig:etc/fetch-crl:g' \ + edg-fetch-crl fetch-crl.cron fetch-crl.8 + sed -i -e 's:bin/bash:bin/sh:' fetch-crl.cron + patch -p1 -i "$srcdir"/$pkgname-2.7.0-bb-wget.patch || return 1 + + + _r=$pkgname-$pkgver + install -m755 -D edg-fetch-crl "$pkgdir"/usr/sbin/fetch-crl + install -m644 -D fetch-crl.sysconfig "$pkgdir"/etc/fetch-crl/fetch-crl + + install -m644 -D fetch-crl.8 "$pkgdir"/usr/share/man/man8/fetch-crl.8 + install -m644 -D README "$pkgdir"/usr/share/doc/$_r/README + install -m644 -D CHANGES "$pkgdir"/usr/share/doc/$_r/CHANGES + install -m755 -D fetch-crl.cron "$pkgdir"/usr/share/doc/$_r/fetch-crl.periodic +} + +md5sums="6b0ba042ac3d155f1cd9c7b0baf3c708 fetch-crl-2.7.0.tar.gz +613e4987db52cbd231cd4d7a46070d74 fetch-crl-2.7.0-bb-wget.patch" diff --git a/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch b/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch new file mode 100644 index 00000000..48fa7457 --- /dev/null +++ b/testing/fetch-crl/fetch-crl-2.7.0-bb-wget.patch @@ -0,0 +1,41 @@ +--- fetch-crl-2.7.0/edg-fetch-crl.orig 2009-02-26 08:54:17 +0000 ++++ fetch-crl-2.7.0/edg-fetch-crl 2009-02-26 09:20:27 +0000 +@@ -94,8 +94,8 @@ + allWarnings=no # warnings follow verbosity + + # get defaults +-WGET_RETRIES=2 +-WGET_TIMEOUT=10 ++#WGET_RETRIES=2 ++#WGET_TIMEOUT=10 + FETCH_CRL_SYSCONFIG="${FETCH_CRL_SYSCONFIG:-/etc/fetch-crl/fetch-crl}" + + # specific work-around for incidental filesystem corruption +@@ -149,7 +149,15 @@ + fi + + # add the other default arguments +- wgetOptions="${wgetOptions} -t $WGET_RETRIES -T $WGET_TIMEOUT " ++ if [ -n "$WGET_RETRIES" ]; then ++ wgetOptions="${wgetOptions} -t $WGET_RETRIES " ++ fi ++ if [ -n "$WGET_TIMEOUT" ]; then ++ wgetOptions="${wgetOptions} -T $WGET_TIMEOUT " ++ fi ++ if [ -n "$WGET_TIMESTAMPING" ] && [ "$WGET_TIMESTAMPING" != "no" ]; then ++ wgetOptions="${wgetOptions} -N " ++ fi + + # only add "-q" if the extra options do not have a -v. They are exclusive + expr match "${wgetAdditionalOptions}" '.*-v' >/dev/null 2>&1 +@@ -175,8 +183,8 @@ + ${rm} -f "${cacheDirectory}/${hash}/pre" + ${cp} "${cacheDirectory}/${hash}/"* \ + "${cacheDirectory}/${hash}/pre" >/dev/null 2>&1 +- PrintDebug ${wget} ${wgetOptions} -N -P "${cacheDirectory}/${hash}" "${url}" +- ${wget} ${wgetOptions} -N -P "${cacheDirectory}/${hash}" "${url}" ++ PrintDebug ${wget} ${wgetOptions} -P "${cacheDirectory}/${hash}" "${url}" ++ ${wget} ${wgetOptions} -P "${cacheDirectory}/${hash}" "${url}" + rc=$? + if [ $rc -ne 0 ]; then + PrintWarning "RetrieveFileByURL: wget download error $rc for ${url}" diff --git a/testing/fprobe/APKBUILD b/testing/fprobe/APKBUILD new file mode 100644 index 00000000..ea6faea2 --- /dev/null +++ b/testing/fprobe/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=fprobe +pkgver=1.1 +pkgrel=1 +pkgdesc="libpcap-based tool that collect network traffic" +url="http://fprobe.sourceforge.net/" +license="GPL" +depends= +makedepends="libpcap-dev" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 +$pkgname.initd +$pkgname.confd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="65850d0470078269b33eee58cba77ac2 fprobe-1.1.tar.bz2 +41810a73503624de2c27809e34ed80b4 fprobe.initd +ba9c9327456e4db897b60481705df282 fprobe.confd" diff --git a/testing/fprobe/fprobe.confd b/testing/fprobe/fprobe.confd new file mode 100644 index 00000000..1c444f55 --- /dev/null +++ b/testing/fprobe/fprobe.confd @@ -0,0 +1,70 @@ +# Config file for /etc/init.d/fprobe + +# Do we want the interface in promiscous mode [yes/no] +#PROMISC=no + +# Interface +IFACE=eth0 + +# If configured, only capture packets matching this tcpdump expression +#FILTER="" + +# Flow state timers +#TIMER_EXPIRED=5 +#TIMER_FRAGMENTED=30 +#TIMER_IDLE=60 +#TIMER_ACTIVE=300 + +# This is the default and should be left unless you know what you are doing +#FLOW_VER=5 + +# local ip. if configured fprobe will use this as the source IP for sending ALL flow data +# If you want to specify a specific source address per collecter, customize it below +#LOCALIP= + +# SNMP iface id +SNMP_IFACE="${IFACE//eth}" + +# Maximum number of concurrent flows to track +# using a specified amount of memory +#MEMBULK=10000 +#MEMLIMIT= + +# Pending queue +#PENDING=100 + +# Kernel capture buffer size (kB) +#KERNBUF=1024 + +# Realtime priority [0=disabled, 1..99] +#RTPRIO=0 + +# Delay N nanoseconds after each B bytes +#DELAY="0:0" + +# How much of the start of each packet to grab +#SNAPLEN=256 + +# chroot() to this location after startup +CHROOT="/var/empty" + +# User to run as. must have perms to the pidfile directory /var/run/fprobe/ +USER=nobody + +# logging level for syslog (0=EMERG, ..., 6=INFO, 7=DEBUG) +#LOGLEVEL=6 + +# If you want to run multiple instances of fprobe, +# You MUST set this variable to a unique INTEGER for each one! +PIDFILE_ID='' + +# remote ip. this is where we send flows +REMOTEIP=127.0.0.1 +# port to listen on +PORT=2055 +# Collector type, see the manpage for valid types +TYPE='' + +# If you want multiple collectors, just specify each one here +COLLECTORS="${REMOTEIP}:${PORT}/${LOCALIP}/${TYPE}" + diff --git a/testing/fprobe/fprobe.initd b/testing/fprobe/fprobe.initd new file mode 100644 index 00000000..a14f1e6b --- /dev/null +++ b/testing/fprobe/fprobe.initd @@ -0,0 +1,40 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + after firewall +} + +BIN=/usr/sbin/fprobe +PIDFILE_EXTRA="" +[ -n "$PIDFILE_ID" ] && PIDFILE_EXTRA="[$PIDFILE_ID]" +PIDFILE="/var/run/fprobe$PIDFILE_EXTRA.pid" + +start() { + ebegin "Starting fprobe" + local OPTS="" + [ "${PROMISC}" == "yes" ] || OPTS="${OPTS} -p" + [ -n "${FILTER}" ] && OPTS="${OPTS} -f '${FILTER}'" + for optname in i:IFACE s:TIMER_EXPIRED g:TIME_FRAGMENTED d:TIMER_IDLE \ + e:TIMER_ACTIVE n:FLOW_VER a:LOCALIP x:SNMP_IFACE b:MEMBULK \ + m:MEMLIMIT q:PENDING B:KERNBUF r:RTPRIO t:DELAY S:SNAPLEN \ + c:CHROOT u:USER v:LOGLEVEL ; do + opt="${optname/:*}" optvar="${optname/*:}" + eval optvalue="\$$optvar" + [ -n "$optvalue" ] && OPTS="${OPTS} -${opt} ${optvalue}" + done + OPTS="${OPTS} -l 1:${PIDFILE_ID} ${COLLECTORS}" + start-stop-daemon --start --exec $BIN \ + --pidfile ${PIDFILE} \ + -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping fprobe" + start-stop-daemon --stop --quiet --exec $BIN \ + --pidfile ${PIDFILE} + eend $? +} diff --git a/testing/freeradius/0001-Fix-detection-of-TLS-for-uClibc.patch b/testing/freeradius/0001-Fix-detection-of-TLS-for-uClibc.patch new file mode 100644 index 00000000..e76571a2 --- /dev/null +++ b/testing/freeradius/0001-Fix-detection-of-TLS-for-uClibc.patch @@ -0,0 +1,33 @@ +From 51cb058c6a9472585622582d16e01c5540627c25 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 13 Oct 2009 12:53:38 +0000 +Subject: [PATCH] Fix detection of TLS for uClibc + +On uClibc the configure script will wrongly detect that TLS is +available. This happends becuase the variable val in the test program +is optimized away and missing during link time. + +This patch make sure that the variable val is not optimized away so +configure correctly will detect that TLS is missing on uClibc. + +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- + acinclude.m4 | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 6025474..100e5b0 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -382,7 +382,7 @@ m4_pushdef([AC_OUTPUT], + AC_DEFUN([FR_TLS], + [ + AC_MSG_CHECKING(for TLS) +- AC_RUN_IFELSE([AC_LANG_SOURCE([[ static __thread int val; int main() { return 0; } ]])],[have_tls=yes],[have_tls=no],[have_tls=no ]) ++ AC_RUN_IFELSE([AC_LANG_SOURCE([[ static __thread int val; int main(int argc, char *argv[]) { return val = argc; } ]])],[have_tls=yes],[have_tls=no],[have_tls=no ]) + AC_MSG_RESULT($have_tls) + if test "$have_tls" = "yes"; then + AC_DEFINE([HAVE_THREAD_TLS],[1],[Define if the compiler supports __thread]) +-- +1.6.4.4 + diff --git a/testing/freeradius/APKBUILD b/testing/freeradius/APKBUILD new file mode 100644 index 00000000..51633591 --- /dev/null +++ b/testing/freeradius/APKBUILD @@ -0,0 +1,68 @@ +# Contributor: +# Maintainer: +pkgname=freeradius +pkgver=2.1.7 +pkgrel=0 +pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server" +url="http://freeradius.org/" +license="GPL" +depends= +makedepends="openssl-dev pth-dev mysql-dev postgresql-dev gdbm-dev readline-dev + bash libtool autoconf automake + " +pkggroups="radiusd" +pkgusers="radiusd" +install="freeradius.pre-install" +subpackages="$pkgname-doc $pkgname-dev" +source="ftp://ftp.freeradius.org/pub/freeradius/$pkgname-server-$pkgver.tar.gz + freeradius.confd + freeradius.initd + 0001-Fix-detection-of-TLS-for-uClibc.patch + freeradius-2.1.6-nothreads.patch + freeradius-2.1.7-pkglibdir.patch + " + +build() { + cd "$srcdir/$pkgname-server-$pkgver" + for i in ../*.patch; do + msg "Applying $i" + patch -p1 -i $i || return 1 + done + + aclocal && ./autogen.sh || return 1 + + export CONFIG_SHELL=/bin/bash + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-static \ + || return 1 + +# # the configure script fails to detect that we dont have TLS +# sed -i -e '/^\#define HAVE_THREAD_TLS/d' src/include/autoconf.h \ +# || return 1 + + make -j1 || return 1 + install -d -m0750 -o root -g radiusd "$pkgdir"/etc/raddb + install -d -m0750 -o root -g radiusd "$pkgdir"/var/run/radius + install -d -m0750 -o root -g radiusd "$pkgdir"/var/log/radius + install -d -m0750 -o root -g radiusd "$pkgdir"/var/log/radius/radacct + + make -j1 R="$pkgdir" install + sed -i -e 's:^#user *= *nobody:user = radiusd:;s:^#group *= *nobody:group = radiusd:' \ + "$pkgdir"/etc/raddb/radiusd.conf + chown -R root:radiusd "$pkgdir"/etc/raddb/* + rm -f "$pkgdir/usr/sbin/rc.radiusd" + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + +} + +md5sums="b1f77c5e3116bcb0ac0aa9080a06ebf1 freeradius-server-2.1.7.tar.gz +fc6693f3df5a0694610110287a28568a freeradius.confd +b22092fcdcb61d7f0b8e13a007c444c5 freeradius.initd +2e39f10c814bc7e1172c4cb2d178b39b 0001-Fix-detection-of-TLS-for-uClibc.patch +1e04786d3f626200999f53471c19ac47 freeradius-2.1.6-nothreads.patch +4c8af50e174d392c0210cbf494cd15cd freeradius-2.1.7-pkglibdir.patch" diff --git a/testing/freeradius/freeradius-2.1.6-nothreads.patch b/testing/freeradius/freeradius-2.1.6-nothreads.patch new file mode 100644 index 00000000..41a41c8d --- /dev/null +++ b/testing/freeradius/freeradius-2.1.6-nothreads.patch @@ -0,0 +1,13 @@ +diff -Nru freeradius-server-2.1.6.orig/src/main/event.c freeradius-server-2.1.6/src/main/event.c +--- freeradius-server-2.1.6.orig/src/main/event.c 2009-05-18 13:13:55.000000000 +0200 ++++ freeradius-server-2.1.6/src/main/event.c 2009-09-05 07:52:42.000000000 +0200 +@@ -1667,7 +1667,9 @@ + */ + request->num_proxied_requests = 1; + request->num_proxied_responses = 0; ++#ifdef HAVE_PTHREAD_H + request->child_pid = NO_SUCH_CHILD_PID; ++#endif + + update_event_timestamp(request->proxy, request->proxy_when.tv_sec); + diff --git a/testing/freeradius/freeradius-2.1.7-pkglibdir.patch b/testing/freeradius/freeradius-2.1.7-pkglibdir.patch new file mode 100644 index 00000000..d5767fbd --- /dev/null +++ b/testing/freeradius/freeradius-2.1.7-pkglibdir.patch @@ -0,0 +1,63 @@ +diff -ru freeradius-server-2.1.7.orig/Make.inc.in freeradius-server-2.1.7/Make.inc.in +--- freeradius-server-2.1.7.orig/Make.inc.in 2009-10-09 08:38:58.000000000 +0000 ++++ freeradius-server-2.1.7/Make.inc.in 2009-10-09 08:39:15.000000000 +0000 +@@ -10,6 +10,7 @@ + sysconfdir = @sysconfdir@ + localstatedir = @localstatedir@ + libdir = @libdir@ ++pkglibdir = @libdir@/freeradius + bindir = @bindir@ + sbindir = @sbindir@ + docdir = @docdir@ +diff -ru freeradius-server-2.1.7.orig/raddb/radiusd.conf.in freeradius-server-2.1.7/raddb/radiusd.conf.in +--- freeradius-server-2.1.7.orig/raddb/radiusd.conf.in 2009-10-09 08:38:58.000000000 +0000 ++++ freeradius-server-2.1.7/raddb/radiusd.conf.in 2009-10-09 08:39:15.000000000 +0000 +@@ -103,7 +103,7 @@ + # make + # make install + # +-libdir = @libdir@ ++libdir = @libdir@/freeradius + + # pidfile: Where to place the PID of the RADIUS server. + # +diff -ru freeradius-server-2.1.7.orig/src/modules/Makefile freeradius-server-2.1.7/src/modules/Makefile +--- freeradius-server-2.1.7.orig/src/modules/Makefile 2009-10-09 08:38:58.000000000 +0000 ++++ freeradius-server-2.1.7/src/modules/Makefile 2009-10-09 08:39:15.000000000 +0000 +@@ -12,7 +12,7 @@ + @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common + + install: +- $(INSTALL) -d -m 755 $(R)$(libdir) ++ $(INSTALL) -d -m 755 $(R)$(pkglibdir) + @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=$@ common + + clean: +diff -ru freeradius-server-2.1.7.orig/src/modules/rules.mak freeradius-server-2.1.7/src/modules/rules.mak +--- freeradius-server-2.1.7.orig/src/modules/rules.mak 2009-10-09 08:38:58.000000000 +0000 ++++ freeradius-server-2.1.7/src/modules/rules.mak 2009-10-09 08:40:56.000000000 +0000 +@@ -123,7 +123,7 @@ + $(TARGET).la: $(LT_OBJS) + $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \ + -module $(LINK_MODE) $(LDFLAGS) $(RLM_LDFLAGS) -o $@ \ +- -rpath $(libdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) ++ -rpath $(pkglibdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) + + ####################################################################### + # +@@ -164,13 +164,13 @@ + # Do any module-specific installation. + # + # If there isn't a TARGET defined, then don't do anything. +-# Otherwise, install the libraries into $(libdir) ++# Otherwise, install the libraries into $(pkglibdir) + # + install: + @[ "x$(RLM_INSTALL)" = "x" ] || $(MAKE) $(MFLAGS) $(RLM_INSTALL) + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ +- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ ++ $(TARGET).la $(R)$(pkglibdir)/$(TARGET).la || exit $$?; \ + rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \ + ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ + fi diff --git a/testing/freeradius/freeradius.confd b/testing/freeradius/freeradius.confd new file mode 100644 index 00000000..9811289b --- /dev/null +++ b/testing/freeradius/freeradius.confd @@ -0,0 +1,5 @@ +# Config file for /etc/init.d/radiusd + +# see man pages for radiusd run `radiusd -h` +# for valid cmdline options +#RADIUSD_OPTS="" diff --git a/testing/freeradius/freeradius.initd b/testing/freeradius/freeradius.initd new file mode 100644 index 00000000..86909ade --- /dev/null +++ b/testing/freeradius/freeradius.initd @@ -0,0 +1,70 @@ +#!/sbin/runscript + +opts="${opts} reload" + +depend() { + need net + after firewall + use dns +} + +checkconfig() { + #set the location of log files, including startup.log created by check-radiusd-config + if ! cd /var/log/radius ; then + eerror "Failed to change current directory to /var/log/radius" + return 1 + fi + + if [ ! -d /var/run/radiusd ] && ! mkdir /var/run/radiusd ; then + eerror "Failed to create /var/run/radiusd" + return 1 + fi + + if [ ! -f /etc/raddb/radiusd.conf ] ; then + eerror "No /etc/raddb/radiusd.conf file exists!" + return 1 + fi + + if [ "`/usr/sbin/check-radiusd-config >/dev/null 2>&1; echo $?`" != "0" ] ; then + eerror "Config not ok! (try /usr/sbin/check-radiusd-config )" + return 1 + fi + + RADIUSD_USER=`grep '^ *user *=' /etc/raddb/radiusd.conf | cut -d ' ' -f 3` + RADIUSD_GROUP=`grep '^ *group *=' /etc/raddb/radiusd.conf | cut -d ' ' -f 3` + if [ -n "${RADIUSD_USER}" ] && ! getent passwd ${RADIUSD_USER} > /dev/null ; then + eerror "${RADIUSD_USER} user missing!" + return 1 + fi + if [ -n "${RADIUSD_GROUP}" ] && ! getent group ${RADIUSD_GROUP} > /dev/null ; then + eerror "${RADIUSD_GROUP} group missing!" + return 1 + fi + + #radius.log is created before privileges drop; we need to set proper permissions on it + [ -f radius.log ] || touch radius.log || return 1 + + chown -R "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" . /var/run/radiusd && \ + chmod -R u+rwX,g+rX . /var/run/radiusd || return 1 +} + +start() { + checkconfig || return 1 + + ebegin "Starting radiusd" + start-stop-daemon --start --quiet --exec /usr/sbin/radiusd -- ${RADIUSD_OPTS} >/dev/null + eend $? +} + +stop () { + ebegin "Stopping radiusd" + start-stop-daemon --stop --quiet --pidfile=/var/run/radiusd/radiusd.pid + eend $? +} + +reload () { + ebegin "Reloading radiusd" + kill -HUP `</var/run/radiusd/radiusd.pid` + eend $? +} + diff --git a/testing/freeradius/freeradius.pre-install b/testing/freeradius/freeradius.pre-install new file mode 100644 index 00000000..87502274 --- /dev/null +++ b/testing/freeradius/freeradius.pre-install @@ -0,0 +1,3 @@ +#!/bin/sh + +adduser -h /var/log/radius -s /bin/false -D radiusd 2>/dev/null diff --git a/testing/freeswitch/APKBUILD b/testing/freeswitch/APKBUILD new file mode 100644 index 00000000..293678c7 --- /dev/null +++ b/testing/freeswitch/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +pkgname=freeswitch +pkgver=1.0.4 +pkgrel=0 +pkgdesc="A communications platform written in C from the ground up" +url="http://www.freeswitch.org" +license="GPL" +depends="" +makedepends="curl-dev unixodbc-dev zlib-dev openssl-dev + autoconf automake libtool" +install= +subpackages="$pkgname-dev" +source="http://files.freeswitch.org/freeswitch-$pkgver.tar.gz + modules.conf + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + cp -f "$srcdir/modules.conf" modules.conf || return 1 + + # i think our max cmd len is 32768 + # by specifying it here we save our selves from some CPU cycles + export lt_cv_sys_max_cmd_len=8192 + + ./configure --prefix=/usr \ + --sysconfdir=/etc/freeswitch \ + --with-modinstdir=/usr/lib/freeswitch \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + + # check how/when parallel builds are fixed here: + # http://jira.freeswitch.org/browse/FSBUILD-6 + + # build the libs and prerequisites in parallel first + make libs/apr/libapr-1.la \ + libs/apr-util/libaprutil-1.la \ + libs/speex/libspeex/libspeexdsp.la \ + libs/sqlite/libsqlite3.la \ + libs/pcre/libpcre.la \ + libs/srtp/libsrtp.la \ + src/include/switch_version.h + + # then the rest should build in parallel too + make || return 1 + make -j1 DESTDIR="$pkgdir" install + + # TODO: make and test init.d scripts + # install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="86e34bdd8cc027d71772cb0dc51388da freeswitch-1.0.4.tar.gz +c05f2356be159e99b3845f5260a33599 modules.conf" diff --git a/testing/freeswitch/freeswitch.initd b/testing/freeswitch/freeswitch.initd new file mode 100644 index 00000000..34f44139 --- /dev/null +++ b/testing/freeswitch/freeswitch.initd @@ -0,0 +1,19 @@ +#!/sbin/runscript + +NAME=freeswitch +USER=freeswitch +DAEMON=/usr/bin/freeswitch +OPTIONS_START="-u $USER -g $GROUP -nc" +OPTIONS_STOP="-stop" + +start() { + ebegin "Starting $NAME" + $DAEMON $OPTIONS_START + eend 0 + } + +stop() { + ebegin "Stopping $NAME" + $DAEMON $OPTIONS_STOP + eend 0 + } diff --git a/testing/freeswitch/freeswitch.install b/testing/freeswitch/freeswitch.install new file mode 100755 index 00000000..0507fe53 --- /dev/null +++ b/testing/freeswitch/freeswitch.install @@ -0,0 +1,15 @@ +#!/bin/sh + +case "$1" in + pre_install) + adduser -h /dev/null -s /bin/false -D freeswitch 2>/dev/null + ;; + post_install) + chown -R freeswitch:freeswitch /etc/freeswitch/ + ;; + post_deinstall) + deluser freeswitch + delgroup freeswitch + ;; +esac + diff --git a/testing/freeswitch/modules.conf b/testing/freeswitch/modules.conf new file mode 100644 index 00000000..c6f5a05d --- /dev/null +++ b/testing/freeswitch/modules.conf @@ -0,0 +1,75 @@ +loggers/mod_console +loggers/mod_logfile +loggers/mod_syslog +applications/mod_commands +applications/mod_conference +applications/mod_dptools +applications/mod_enum +applications/mod_fifo +#applications/mod_fax +applications/mod_voicemail +#applications/mod_lcr +applications/mod_limit +applications/mod_expr +applications/mod_esf +#applications/mod_easyroute +applications/mod_fsv +#applications/mod_soundtouch +#applications/mod_rss +#applications/mod_snom +#applications/mod_vmd +#asr_tts/mod_flite +#asr_tts/mod_pocketsphinx +#asr_tts/mod_cepstral +codecs/mod_g723_1 +codecs/mod_amr +#codecs/mod_amrwb +codecs/mod_g729 +codecs/mod_h26x +codecs/mod_voipcodecs +codecs/mod_ilbc +codecs/mod_speex +#codecs/mod_siren +#codecs/mod_celt +#codecs/mod_dahdi_codec +#dialplans/mod_dialplan_directory +dialplans/mod_dialplan_xml +dialplans/mod_dialplan_asterisk +#directories/mod_ldap +#endpoints/mod_dingaling +endpoints/mod_iax +#endpoints/mod_portaudio +endpoints/mod_sofia +endpoints/mod_loopback +#endpoints/mod_alsa +#endpoints/mod_opal +#../../libs/openzap/mod_openzap +#event_handlers/mod_event_multicast +event_handlers/mod_event_socket +event_handlers/mod_cdr_csv +#event_handlers/mod_radius_cdr +formats/mod_native_file +formats/mod_sndfile +#formats/mod_shout +formats/mod_local_stream +formats/mod_tone_stream +#languages/mod_python +#languages/mod_spidermonkey +#languages/mod_spidermonkey_teletone +#languages/mod_spidermonkey_core_db +#languages/mod_spidermonkey_socket +#languages/mod_spidermonkey_odbc +languages/mod_lua +#languages/mod_perl +#languages/mod_yaml +#xml_int/mod_xml_rpc +#xml_int/mod_xml_curl +#xml_int/mod_xml_cdr +#xml_int/mod_xml_ldap +say/mod_say_en +#say/mod_say_de +#say/mod_say_es +#say/mod_say_fr +#say/mod_say_it +#say/mod_say_nl +#say/mod_say_zh diff --git a/testing/fuse/APKBUILD b/testing/fuse/APKBUILD new file mode 100644 index 00000000..52cf280b --- /dev/null +++ b/testing/fuse/APKBUILD @@ -0,0 +1,62 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=fuse +pkgver=2.8.1 +pkgrel=0 +pkgdesc="A library that makes it possible to implement a filesystem in a userspace program." +url="http://fuse.sourceforge.net/" +license="GPL2" +depends= +makedepends="pkgconfig libiconv-dev gettext-dev + autoconf automake libtool" +install= +subpackages="$pkgname-dev" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + fuse-iconv.patch + fuse.initd" + + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/fuse-iconv.patch || return 1 + aclocal -I m4 && libtoolize && autoconf && automake +} + +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --enable-lib \ + --enable-util \ + --bindir=/bin \ + || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 + + rm -rf "$pkgdir"/dev + rm -rf "$pkgdir"/etc/init.d + + install -Dm755 "$srcdir"/fuse.initd "$pkgdir"/etc/init.d/fuse + # create config + install -d "$pkgdir"/etc + cat >"$pkgdir"/etc/fuse.conf << _EOF_ +# Set the maximum number of FUSE mounts allowed to non-root users. +# The default is 1000. +# +#mount_max = 1000 + +# Allow non-root users to specify the 'allow_other' or 'allow_root' +# mount options. +# +#user_allow_other +_EOF_ + +} + +md5sums="0e3505ce90155983f1bc995eb2cf6fa7 fuse-2.8.1.tar.gz +e5183506aabc5bf7795da52953d38888 fuse-iconv.patch +5983726cfabf0830dffbbbf9a3abcddc fuse.initd" diff --git a/testing/fuse/fuse-iconv.patch b/testing/fuse/fuse-iconv.patch new file mode 100644 index 00000000..4710f576 --- /dev/null +++ b/testing/fuse/fuse-iconv.patch @@ -0,0 +1,24 @@ +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 3eec119..c7414ac 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -11,8 +11,10 @@ else + mount_source = mount.c mount_util.c mount_util.h + endif + ++libfuse_la_LDFLAGS = + if ICONV + iconv_source = modules/iconv.c ++libfuse_la_LDFLAGS += -liconv + else + iconv_source = + endif +@@ -35,7 +37,7 @@ libfuse_la_SOURCES = \ + $(iconv_source) \ + $(mount_source) + +-libfuse_la_LDFLAGS = @libfuse_libs@ -version-number 2:8:1 \ ++libfuse_la_LDFLAGS += @libfuse_libs@ -version-number 2:8:1 \ + -Wl,--version-script,$(srcdir)/fuse_versionscript + + libulockmgr_la_SOURCES = ulockmgr.c diff --git a/testing/fuse/fuse.initd b/testing/fuse/fuse.initd new file mode 100644 index 00000000..30b512e8 --- /dev/null +++ b/testing/fuse/fuse.initd @@ -0,0 +1,35 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MOUNTPOINT=/sys/fs/fuse/connections + +depend() { + need localmount +} + +start() { + + ebegin "Starting fuse" + if ! grep -qw fuse /proc/filesystems; then + modprobe fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module" + fi + if grep -qw fusectl /proc/filesystems && \ + ! grep -qw $MOUNTPOINT /proc/mounts; then + mount -t fusectl none $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error mounting control filesystem" + fi + eend ${?} + +} + +stop() { + + ebegin "Stopping fuse" + if grep -qw $MOUNTPOINT /proc/mounts; then + umount $MOUNTPOINT >/dev/null 2>&1 || \ + eerror $? "Error unmounting control filesystem" + fi + eend ${?} + +} diff --git a/testing/gnump3d/APKBUILD b/testing/gnump3d/APKBUILD new file mode 100644 index 00000000..b3674329 --- /dev/null +++ b/testing/gnump3d/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=gnump3d +pkgver=3.0 +pkgrel=0 +pkgdesc="A streaming server for MP3, OGG vorbis and other streamable files" +url="http://www.gnump3d.org/" +license="GPL-2" +depends="perl" +makedepends="" +install= +subpackages="$pkgname-doc" +source="http://savannah.gnu.org/download/gnump3d/$pkgname-$pkgver.tar.gz + gnump3d.confd + gnump3d.initd" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + make PREFIX="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + mv "$pkgdir"/usr/local "$pkgdir"-doc/ +} + +md5sums="d2b665c3267253cc8cae29659131b9b4 gnump3d-3.0.tar.gz +59f0286d4c943226a67ab7b7787547c6 gnump3d.confd +5202488dff1c7e6c6788fb00fb32f071 gnump3d.initd" diff --git a/testing/gnump3d/gnump3d.confd b/testing/gnump3d/gnump3d.confd new file mode 100644 index 00000000..1d6cf397 --- /dev/null +++ b/testing/gnump3d/gnump3d.confd @@ -0,0 +1,6 @@ +# Set this to 0 to stop the init script from indexing your mp3s. +# It takes the longest on the first time, but after that, it only does +# updates. + +DO_INDEX=1 + diff --git a/testing/gnump3d/gnump3d.initd b/testing/gnump3d/gnump3d.initd new file mode 100644 index 00000000..43290ee3 --- /dev/null +++ b/testing/gnump3d/gnump3d.initd @@ -0,0 +1,37 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/media-sound/gnump3d/files/gnump3d.init.d,v 1.4 2008/06/03 14:52:33 beandog Exp $ + +opts="start stop index" + +depend() { + need net + after netmount nfsmount +} + +start() { + ebegin "Starting gnump3d" + + if [ ${DO_INDEX} -eq 1 ]; then + ebegin "Updating index of music files (may take a while for the first time)" + /usr/bin/gnump3d-index + eend $? + fi + + start-stop-daemon --start --quiet --exec /usr/bin/gnump3d2 --make-pidfile \ + --pidfile /var/run/gnump3d.pid --background -- --quiet + eend $? +} + +stop() { + ebegin "Stopping gnump3d" + start-stop-daemon --stop --quiet --pidfile /var/run/gnump3d.pid + eend $? +} + +index() { + ebegin "Indexing music files" + /usr/bin/gnump3d-index + eend $? +} diff --git a/testing/gross-svn/APKBUILD b/testing/gross-svn/APKBUILD new file mode 100644 index 00000000..58389f55 --- /dev/null +++ b/testing/gross-svn/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=gross-svn +pkgver=511 +pkgrel=2 +pkgdesc="Greylisting of suspicious sources" +url="http://code.google.com/p/gross/" +license="BSD" +depends= +makedepends="c-ares-dev" +install="$pkgname.post-install $pkgname.pre-install" +subpackages="$pkgname-doc $pkgname-dev" +source="http://alpine.nethq.org/clandmeter/src/${pkgname}-${pkgver}.tar.bz2 +$pkgname.initd +$pkgname.confd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make -j1 DESTDIR="$pkgdir" install + + install -dD "$pkgdir"/var/run/gross + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/gross + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/gross +} + +md5sums="f2488ced5b47f359c3a1127d9ba3453c gross-svn-511.tar.bz2 +e8d7c8ce4760f8443ab13c3a4af80db0 gross-svn.initd +5ca1c6e51c3243236e6564480b20279b gross-svn.confd" diff --git a/testing/gross-svn/gross-svn.confd b/testing/gross-svn/gross-svn.confd new file mode 100644 index 00000000..646e12f9 --- /dev/null +++ b/testing/gross-svn/gross-svn.confd @@ -0,0 +1,6 @@ +# +# Specify daemon $OPTS here. +# + +OPTS="" + diff --git a/testing/gross-svn/gross-svn.initd b/testing/gross-svn/gross-svn.initd new file mode 100644 index 00000000..00ee33e5 --- /dev/null +++ b/testing/gross-svn/gross-svn.initd @@ -0,0 +1,36 @@ +#!/sbin/runscript + +NAME="grossd" +DAEMON="/usr/sbin/$NAME" +USER="gross" +GROUP="gross" + +depend() { + need net + after firewall +} + +check_config() { + if [ ! -f /var/db/gross/state ] ; then + einfo "Generating Gross database..." + install -dD -o${USER} -g${GROUP} /var/db/gross + ${DAEMON} -Cu ${USER} > /dev/null + fi +} + +start() { + check_config || return 1 + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet --background \ + --exec ${DAEMON} -- \ + -p /var/run/gross/grossd.pid \ + -u ${USER} ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --pidfile /var/run/gross/grossd.pid + eend $? +} + diff --git a/testing/gross-svn/gross-svn.post-install b/testing/gross-svn/gross-svn.post-install new file mode 100644 index 00000000..df06670a --- /dev/null +++ b/testing/gross-svn/gross-svn.post-install @@ -0,0 +1,2 @@ +#!/bin/sh +chown -R gross:gross /var/run/gross diff --git a/testing/gross-svn/gross-svn.pre-install b/testing/gross-svn/gross-svn.pre-install new file mode 100644 index 00000000..c3844d7a --- /dev/null +++ b/testing/gross-svn/gross-svn.pre-install @@ -0,0 +1,3 @@ +#!/bin/sh +adduser -H -s /bin/false -D gross 2>/dev/null +exit 0 diff --git a/testing/haproxy/APKBUILD b/testing/haproxy/APKBUILD new file mode 100644 index 00000000..eadcabd1 --- /dev/null +++ b/testing/haproxy/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=haproxy +pkgver=1.3.20 +pkgrel=1 +pkgdesc="A TCP/HTTP reverse proxy for high availability environments" +url="http://haproxy.1wt.eu" +license="GPL" +depends="" +makedepends="" +install= +subpackages="" +source="http://haproxy.1wt.eu/download/1.3/src/$pkgname-$pkgver.tar.gz + haproxy.initd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make TARGET=linux26 || return 1 + make DESTDIR="$pkgdir" PREFIX=/usr install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="e37046e0cb2f407d92c41d7731d1dd10 haproxy-1.3.20.tar.gz +7d26095c6f899b0ef00bedecaca58864 haproxy.initd" diff --git a/testing/haproxy/haproxy.initd b/testing/haproxy/haproxy.initd new file mode 100644 index 00000000..82a10675 --- /dev/null +++ b/testing/haproxy/haproxy.initd @@ -0,0 +1,45 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-proxy/haproxy/files/haproxy.initd,v 1.3 2007/10/27 10:42:32 mrness Exp $ + +opts="${opts} reload" + +CONFFILE=/etc/${SVCNAME}.cfg +PIDFILE=/var/run/${SVCNAME}.pid + +checkconfig() { + if [ ! -f "${CONFFILE}" ]; then + eerror "${CONFFILE} does not exist!" + return 1 + fi + /usr/bin/haproxy -c -f "${CONFFILE}" >/dev/null +} + +depend() { + need net + after firewall + use dns logger +} + +start() { + checkconfig || return 1 + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet \ + --exec /usr/bin/haproxy \ + -- -D -p "${PIDFILE}" -f "${CONFFILE}" + eend ${?} +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" + eend ${?} +} + +reload() { + ebegin "Reloading ${SVCNAME}" + /usr/bin/haproxy -D -p "${PIDFILE}" -f "${CONFFILE}" -sf $(cat "${PIDFILE}") + eend ${?} +} diff --git a/testing/hping3/APKBUILD b/testing/hping3/APKBUILD new file mode 100644 index 00000000..f55e1168 --- /dev/null +++ b/testing/hping3/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=hping3 +pkgver=20051105 +pkgrel=0 +pkgdesc="A ping-like TCP/IP packet assembler/analyzer" +url="http://www.hping.org" +license="GPL" +depends="" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://www.hping.org/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + sed -i -e 's:net/bpf.h:pcap/bpf.h:' libpcap_stuff.c script.c || return 1 + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --no-tcl + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + install -m755 -D hping3 "$pkgdir"/usr/sbin/hping3 + ln -s hping3 "$pkgdir"/usr/sbin/hping + ln -s hping3 "$pkgdir"/usr/sbin/hping2 + install -m644 -D docs/hping2.8 "$pkgdir"/usr/share/man/man8/hping2.8 + install -m644 -D docs/hping3.8 "$pkgdir"/usr/share/man/man8/hping3.8 +} + +md5sums="ca4ea4e34bcc2162aedf25df8b2d1747 hping3-20051105.tar.gz" diff --git a/testing/html2ps/APKBUILD b/testing/html2ps/APKBUILD new file mode 100644 index 00000000..d1ce4c2d --- /dev/null +++ b/testing/html2ps/APKBUILD @@ -0,0 +1,31 @@ +# Contributor: +# Maintainer: +pkgname=html2ps +pkgver=1.0b5 +pkgrel=0 +pkgdesc="Perl version of html2ps" +url="http://user.it.uu.se/~jan/html2ps.html" +license="GPL" +depends="perl wget imagemagick" +makedepends="" +install= +subpackages="$pkgname-doc" +source="http://user.it.uu.se/~jan/$pkgname-$pkgver.tar.gz + html2ps-conf.patch" + +build() { + cd "$srcdir"/$pkgname-$pkgver + for i in ../*.patch; do + msg "Applying $i" + patch < $i || return 1 + done + mv install install.sh + + install -m755 -D "$srcdir"/$pkgname-$pkgver/html2ps "$pkgdir"/usr/bin/html2ps + install -m644 -D "$srcdir"/$pkgname-$pkgver/sample "$pkgdir"/etc/html2ps.conf + install -m644 -D "$srcdir"/$pkgname-$pkgver/html2ps.1 "$pkgdir"/usr/share/man/man1/html2ps.1 + install -m644 -D "$srcdir"/$pkgname-$pkgver/html2psrc.5 "$pkgdir"/usr/share/man/man5/html2psrc.5 +} + +md5sums="0998fefa4c8f9a04c88cfac7a83df629 html2ps-1.0b5.tar.gz +336a9e908578aeee303660a083b58c03 html2ps-conf.patch" diff --git a/testing/html2ps/html2ps-conf.patch b/testing/html2ps/html2ps-conf.patch new file mode 100644 index 00000000..e96e1e1e --- /dev/null +++ b/testing/html2ps/html2ps-conf.patch @@ -0,0 +1,11 @@ +--- html2ps-1.0b5.orig/html2ps Wed Aug 5 19:54:09 2009 ++++ html2ps-1.0b5/html2ps Wed Aug 5 19:54:34 2009 +@@ -26,7 +26,7 @@ + # Set the name of the global configuration file. See the installation notes + # and manual page for more details on configuration files. + +-$globrc='/opt/misc/lib/html2ps/html2psrc'; ++$globrc='/etc/html2ps.conf'; + $ug='/opt/misc/lib/html2ps/html2ps.html'; + + $conf=<<'EOR'; diff --git a/testing/icecast/APKBUILD b/testing/icecast/APKBUILD new file mode 100644 index 00000000..73135371 --- /dev/null +++ b/testing/icecast/APKBUILD @@ -0,0 +1,32 @@ +# Contributor: +# Maintainer: +pkgname=icecast +pkgver=2.3.2 +pkgrel=0 +pkgdesc="Open source media server" +url="http://www.icecast.org" +license="GPL" +depends= +makedepends="libxslt-dev libxml2-dev libogg-dev libvorbis-dev libtheora-dev" +subpackages="$pkgname-doc" +source="http://downloads.xiph.org/releases/$pkgname/$pkgname-$pkgver.tar.gz + icecast.initd" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -D -m755 ../icecast.initd "$pkgdir"/etc/init.d/icecast +} + +md5sums="ff516b3ccd2bcc31e68f460cd316093f icecast-2.3.2.tar.gz +b6f2fc5eaada6e9389784ccf43f68684 icecast.initd" diff --git a/testing/icecast/icecast.initd b/testing/icecast/icecast.initd new file mode 100644 index 00000000..b82e5cdd --- /dev/null +++ b/testing/icecast/icecast.initd @@ -0,0 +1,18 @@ +#!/sbin/runscript + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting Icecast 2" + start-stop-daemon --background --start --make-pidfile --pidfile /var/run/icecast.pid --exec /usr/bin/icecast -- -c /etc/icecast.xml + eend $? +} + +stop() { + ebegin "Stopping Icecast 2" + start-stop-daemon --stop --pidfile /var/run/icecast.pid --name icecast + eend $? +} diff --git a/testing/ircii/APKBUILD b/testing/ircii/APKBUILD new file mode 100644 index 00000000..221568ba --- /dev/null +++ b/testing/ircii/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=ircii +pkgver=20080314 +pkgrel=0 +pkgdesc="Universal IRC for Unix systems" +url="http://www.eterna.com.au/ircii/" +license="GPL" +depends= +makedepends= +install= +subpackages="$pkgname-doc $pkgname-dev" +source="ftp://ircii.warped.com/pub/ircII/ircii-20080314.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make -j1 DESTDIR="$pkgdir" install +} + +md5sums="da7fcf2a442bd25f303778eb6466eb19 ircii-20080314.tar.bz2" diff --git a/testing/ircservices/APKBUILD b/testing/ircservices/APKBUILD new file mode 100644 index 00000000..8367866b --- /dev/null +++ b/testing/ircservices/APKBUILD @@ -0,0 +1,78 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ircservices +pkgver=5.1.20 +pkgrel=0 +pkgdesc="Services for IRC (NickServ, ChanServ, MemoServ)" +url="http://www.ircservices.za.net/" +license="GPL" +depends= +makedepends= +install=$pkgname.pre-install +pkgusers="ircservices" +pkggroups="ircservices" +subpackages="$pkgname-doc" +source="http://www.ircservices.za.net/download/$pkgname-$pkgver.tar.gz + $pkgname.initd" + +build() { + cd "$srcdir"/$pkgname-$pkgver + RUNGROUP=ircservices ./configure \ + -cc "$CC" \ + -cflags "$CFLAGS" \ + -bindest /usr/bin \ + -datdest /var/lib/ircservices \ + || return 1 + + # build targets one by one as paralell builds breaks + make config-check &&\ + make ircservices &&\ + make languages &&\ + make tools +} + +package() { + cd "$srcdir"/$pkgname-$pkgver +# export INSTALL_PREFIX="$pkgdir" + make -j1 \ + BINDEST="$pkgdir"/usr/bin \ + DATDEST="$pkgdir"/var/lib/ircservices \ + install || return 1 + + install -d "$pkgdir"/usr/share/man/man8 + install docs/ircservices.8 "$pkgdir"/usr/share/man/man8/ircservices.8 + install docs/convert-db.8 \ + "$pkgdir"/usr/share/man/man8/ircservices-convert-db.8 + + # try conform to FHS + cd "$pkgdir" + install -d etc/ircservices usr/share/ircservices var/log/ircservices + + mv var/lib/ircservices/convert-db usr/bin/ircservices-convert-db + + mv var/lib/ircservices/example-ircservices.conf \ + etc/ircservices/ircservices.conf + ln -s /etc/ircservices/ircservices.conf \ + var/lib/ircservices/ircservices.conf + + mv var/lib/ircservices/example-modules.conf \ + etc/ircservices/modules.conf + ln -s /etc/ircservices/modules.conf var/lib/ircservices/modules.conf + + mv var/lib/ircservices/languages \ + var/lib/ircservices/helpfiles \ + usr/share/ircservices/ + ln -s /usr/share/ircservices/languages var/lib/ircservices/ + ln -s /usr/share/ircservices/helpfiles var/lib/ircservices/ + + install -Dm755 "$srcdir"/ircservices.initd \ + etc/init.d/ircservices + + chown ircservices:ircservices var/lib/ircservices \ + var/log/ircservices + + chown root:ircservices etc/ircservices/ircservices.conf \ + etc/ircservices/modules.conf +} + +md5sums="11dbbdc7a3a18fe65086de787635012c ircservices-5.1.20.tar.gz +279ea42c5d97b47787b5959c9981fbaa ircservices.initd" diff --git a/testing/ircservices/ircservices.confd b/testing/ircservices/ircservices.confd new file mode 100644 index 00000000..31cc902d --- /dev/null +++ b/testing/ircservices/ircservices.confd @@ -0,0 +1,6 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/files/ircservices.conf.d,v 1.2 2005/05/16 15:36:11 swegener Exp $ + +# Se this to true to have ircservices depend on a local ircd to be up +LOCALIRCD="false" diff --git a/testing/ircservices/ircservices.initd b/testing/ircservices/ircservices.initd new file mode 100644 index 00000000..8c2a11e8 --- /dev/null +++ b/testing/ircservices/ircservices.initd @@ -0,0 +1,29 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-irc/ircservices/files/ircservices.init.d,v 1.5 2006/11/05 22:23:08 swegener Exp $ + +depend() { + need net + after firewall + use ircd +} + +start() { + ebegin "Starting IRC Services" + start-stop-daemon --start --quiet --exec /usr/bin/ircservices \ + --chuid ircservices \ + -- \ + -dir=/var/lib/ircservices \ + -log=/var/log/ircservices/ircservices.log \ + &>/dev/null + eend $? +} + +stop() { + ebegin "Stopping IRC Services" + start-stop-daemon --stop --quiet \ + --pidfile /var/lib/ircservices/ircservices.pid + eend $? + rm -f /var/lib/ircservices/ircservices.pid +} diff --git a/testing/ircservices/ircservices.pre-install b/testing/ircservices/ircservices.pre-install new file mode 100644 index 00000000..08f61166 --- /dev/null +++ b/testing/ircservices/ircservices.pre-install @@ -0,0 +1,5 @@ +#!/usr/bin + +adduser -h /var/lib/ircservices -s /bin/false -S -D ircservices 2>/dev/null +exit 0 + diff --git a/testing/ivtv-utils/APKBUILD b/testing/ivtv-utils/APKBUILD new file mode 100644 index 00000000..33bccec5 --- /dev/null +++ b/testing/ivtv-utils/APKBUILD @@ -0,0 +1,28 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=ivtv-utils +pkgver=1.4.0 +pkgrel=0 +pkgdesc="Userspace utilities and firmware for Hauppauge PVR cards" +url="http://ivtvdriver.org" +license="GPL" +depends= +makedepends="uclibc++-dev" +source="http://dl.ivtvdriver.org/ivtv/stable/$pkgname-$pkgver.tar.gz + http://dl.ivtvdriver.org/ivtv/firmware/ivtv-firmware.tar.gz" + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + export CXX=${CXX_UC:-g++-uc} + make || return 1 + make DESTDIR="$pkgdir" PREFIX=/usr install || return 1 + + cd "$srcdir" + for file in *.fw v4l-cx2341x-init.mpg; do + install -D -m644 $file "$pkgdir"/lib/firmware/$file || return 1 + done + rm -rf "$pkgdir"/usr/include +} + +md5sums="13deb3fe973b175a115285e63f668b95 ivtv-utils-1.4.0.tar.gz +b9a871f1c569025be9c48a77b3515faf ivtv-firmware.tar.gz" diff --git a/testing/kamailio/APKBUILD b/testing/kamailio/APKBUILD new file mode 100644 index 00000000..5e3a0c63 --- /dev/null +++ b/testing/kamailio/APKBUILD @@ -0,0 +1,149 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=kamailio +pkgver=3.0.0 +pkgrel=1 +pkgdesc="Open Source SIP Server" +url="http://www.kamailio.org/" +pkgusers="kamailio" +pkggroups="kamailio" +license="GPL" +depends= +makedepends="bison flex expat-dev postgresql-dev pcre-dev + libxml2-dev curl-dev unixodbc-dev confuse-dev" +install= +subpackages="$pkgname-doc $pkgname-postgres + $pkgname-mediaproxy $pkgname-unixodbc" +source="http://sip-router.org/tarballs/sr/kamailio_3.0/kamailio-${pkgver}_src_2010-01-12_6d1e9f.tar.gz + kamailio.cfg + kamailio.initd + kamailio.pre-install + kamailio.post-install + kamailio-backslash.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + patch -p1 -i "$srcdir"/kamailio-backslash.patch || return 1 + + sed -i -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \ + -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' \ + -e "s:-O9 -funroll-loops:$CFLAGS:g" \ + Makefile.defs \ + || return 1 + + cd utils/kamctl/ + sed -i -e 's:/var/run/kamailio.pid:/var/run/kamailio/kamailio.pid:g' \ + kamctl.base kamctlrc || return 1 + # we actually dont need bash + sed -i -e 's:/bin/bash:/bin/sh:' kamctl kamdbctl \ + || return 1 + # Set email_address field as not required field (could be null) + cd dbtext/kamailio + sed -i -e 's:email_address(string):email_address(string,null):' subscriber \ + || return 1 + +} + +build() { + cd "$_builddir" + make prefix=/usr \ + cfg-dir=/etc/kamailio/ \ + MODS_MYSQL=yes \ + MODS_PCRE=yes \ + MODS_PRESENCE=yes \ + MODS_RADIUS= \ + TLS= \ + include_modules="db_postgres mediaproxy db_unixodbc carrierroute" \ + all || return 1 +} + +package() { + cd "$_builddir" + make prefix=/usr \ + cfg-dir=/etc/kamailio/ \ + MODS_MYSQL=yes \ + MODS_PCRE=yes \ + MODS_PRESENCE=yes \ + MODS_RADIUS= \ + TLS= \ + include_modules="db_postgres mediaproxy db_unixodbc carrierroute" \ + basedir="$pkgdir" install || return 1 + + # move default config to -doc package and use our own default config + + mv "$pkgdir"/etc/kamailio/kamailio.cfg \ + "$pkgdir"/usr/share/doc/kamailio/ + install -m644 -D "$srcdir"/kamailio.cfg \ + "$pkgdir"/etc/kamailio/kamailio.cfg + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -d -o kamailio "$pkgdir"/var/run/kamailio +} + +_mv_mod() { + local moddir=usr/lib/kamailio/modules i= + mkdir -p "$subpkgdir"/$moddir + for i in $@; do + mv "$pkgdir"/$moddir/$i.so "$subpkgdir"/$moddir/ || return 1 + done +} + +_mv_mod_k() { + local moddir=usr/lib/kamailio/modules_k i= + mkdir -p "$subpkgdir"/$moddir + for i in $@; do + mv "$pkgdir"/$moddir/$i.so "$subpkgdir"/$moddir/ || return 1 + done +} + + +mysql() { + pkgdesc="MySQL support for kamailio" + depends="kamailio mysql-client" + _mv_mod db_mysql + mkdir -p "$subpkgdir"/usr/share/kamailio + mv "$pkgdir"/usr/share/kamailio/mysql \ + "$subpkgdir"/usr/share/kamailio/ +} + +postgres() { + pkgdesc="PostgreSQL support for kamailio" + depends="kamailio postgresql-client" + _mv_mod db_postgres + mkdir -p "$subpkgdir"/usr/share/kamailio + mv "$pkgdir"/usr/share/kamailio/postgres \ + "$subpkgdir"/usr/share/kamailio/ +} + +pcre() { + pkgdesc="Regular expressions support for kamailio" + _mv_mod dialplan lcr regex +} + +presence() { + pkgdesc="Precense support for kamailio" + _mv_mod presence presence_xml presence_mwi pua pua_bla pua_mi \ + pua_usrloc pua_xmpp rls xcap_client presence_dialoginfo \ + pua_dialoginfo +} + +mediaproxy() { + pkgdesc="Mediaproxy support for kamailio" + depends="kamailio" + _mv_mod mediaproxy +} + +unixodbc() { + pkgdesc="UnixODBC support for kamailio" + depends="kamailio" + _mv_mod_k db_unixodbc +} + +md5sums="a043944e195338d56bdfdcd6c86a468b kamailio-3.0.0_src_2010-01-12_6d1e9f.tar.gz +eb665248ee39cf755a247286affc5cbb kamailio.cfg +81100c479890a2a8c2628db22fdd1a0c kamailio.initd +c646af2dd31f5c4289a2f802c873d98f kamailio.pre-install +3fbaf633ff1620d0d526fc4047c7bed9 kamailio.post-install +10f8be110985a841dd5b892f86eb6722 kamailio-backslash.patch" diff --git a/testing/kamailio/kamailio-backslash.patch b/testing/kamailio/kamailio-backslash.patch new file mode 100644 index 00000000..c474db38 --- /dev/null +++ b/testing/kamailio/kamailio-backslash.patch @@ -0,0 +1,15 @@ +--- a/utils/kamctl/kamdbctl.base Tue Dec 22 07:01:57 2009 ++++ b/utils/kamctl/kamdbctl.base Tue Dec 22 07:02:26 2009 +@@ -32,9 +32,9 @@ + + # Used by dbtext and db_berkeley to define tables to be created, used by + # postgres to do the grants +-STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp +- uri speed_dial gw pdt subscriber location re_grp trusted +- address missed_calls usr_preferences aliases silo dialog ++STANDARD_TABLES=${STANDARD_TABLES:-version acc dbaliases lcr domain grp \ ++ uri speed_dial gw pdt subscriber location re_grp trusted \ ++ address missed_calls usr_preferences aliases silo dialog \ + dispatcher dialplan} + EXTRA_TABLES=${EXTRA_TABLES:-imc_members imc_rooms cpl sip_trace domainpolicy carrierroute + carrier_name domain_name carrierfailureroute userblacklist globalblacklist htable purplemap} diff --git a/testing/kamailio/kamailio.cfg b/testing/kamailio/kamailio.cfg new file mode 100644 index 00000000..9c101a87 --- /dev/null +++ b/testing/kamailio/kamailio.cfg @@ -0,0 +1,107 @@ +# Demonstration Kamailio Configuration for AlpineLinux + + +#-------------------------------------------------------- +# Section 1: Global Definitions +#-------------------------------------------------------- +debug = 3 +fork = yes +log_stderror = no +listen = 0.0.0.0 +port = 5060 +children = 4 + +dns = no +rev_dns = no + +mpath = "/usr/lib/kamailio/modules/" +#-------------------------------------------------------- +# Section 2: Modules +#-------------------------------------------------------- + +loadmodule "sl.so" +loadmodule "tm.so" +loadmodule "rr.so" +loadmodule "maxfwd.so" +loadmodule "usrloc.so" +loadmodule "registrar.so" +loadmodule "mi_fifo.so" + +#-------------------------------------------------------- +# Section 1: Module Configuration +#-------------------------------------------------------- + +modparam ( "usrloc", "db_mode", 0 ) +modparam ( "rr", "enable_full_lr", 1 ) +modparam ( "mi_fifo", "fifo_name", "/tmp/kamailio_fifo") + +#-------------------------------------------------------- +# Section 1: Main Route Block +#-------------------------------------------------------- + +route + { + if (!mf_process_maxfwd_header("10")) + { + sl_send_reply("483", "Too Many Hops"); + return; + } + + if (msg:len > max_len) + { + sl_send_reply("513", "Message Overflow"); + return; + } + + if (method == "REGISTER" ) + { + route(2); + return; + } + + loose_route(); + + if (!lookup("location")) { + sl_send_reply("404", "User Not Found"); + return; + } + + route(1); + +} +#-------------------------------------------------------- +# Section 1: Secondary Route Blocks +#-------------------------------------------------------- + +# - Default message handler +route[1] { + if (!t_relay()) { + sl_reply_error(); + } +} + +#- Registration Request +route[2] { + if (!save("location")) { + sl_reply_error(); + } +} + +#-------------------------------------------------------- +# Section 1: Reply Route Block +#-------------------------------------------------------- + + +#-------------------------------------------------------- +# Section 1: Failure Route Block +#-------------------------------------------------------- + + + + + + + + + + diff --git a/testing/kamailio/kamailio.initd b/testing/kamailio/kamailio.initd new file mode 100644 index 00000000..ee4e2ece --- /dev/null +++ b/testing/kamailio/kamailio.initd @@ -0,0 +1,26 @@ +#!/sbin/runscript + +daemon=/usr/sbin/kamailio +pidfile=/var/run/kamailio/kamailio.pid + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting Kamailio" + start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon \ + -- \ + -u ${KAMAILIO_USER:-kamailio} \ + -g ${KAMAILIO_GROUP:-kamailio} \ + -P $pidfile \ + ${KAMAILIO_OPTS:-} + eend $? +} + +stop() { + ebegin "Stopping Kamailio" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} diff --git a/testing/kamailio/kamailio.post-install b/testing/kamailio/kamailio.post-install new file mode 100644 index 00000000..19fc932d --- /dev/null +++ b/testing/kamailio/kamailio.post-install @@ -0,0 +1,5 @@ +#!/bin/sh + +chown -R kamailio:kamailio /var/run/kamailio +chgrp kamailio /etc/kamailio/kamailio.cfg +exit 0 diff --git a/testing/kamailio/kamailio.pre-install b/testing/kamailio/kamailio.pre-install new file mode 100644 index 00000000..78dfa38b --- /dev/null +++ b/testing/kamailio/kamailio.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +adduser -H -h /var/empty -s /bin/false -D kamailio 2>/dev/null + +exit 0 diff --git a/testing/knock/APKBUILD b/testing/knock/APKBUILD new file mode 100644 index 00000000..8804dac3 --- /dev/null +++ b/testing/knock/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=knock +pkgver=0.5 +pkgrel=1 +pkgdesc="A simple port-knocking daemon" +url="http://www.zeroflux.org/projects/knock" +license="GPL" +depends="iptables" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://www.zeroflux.org/proj/knock/files/$pkgname-$pkgver.tar.gz + knock.initd + knock.confd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make -j1 || return 1 + make -j1 DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/knockd + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/knockd +} + +md5sums="ca09d61458974cff90a700aba6120891 knock-0.5.tar.gz +5f05196d700c04287523d184226e2dc2 knock.initd +8067d3b8401a0b5d513c44d3ff436032 knock.confd" diff --git a/testing/knock/knock.confd b/testing/knock/knock.confd new file mode 100644 index 00000000..301ccc19 --- /dev/null +++ b/testing/knock/knock.confd @@ -0,0 +1,6 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-misc/knock/files/knockd.confd,v 1.2 2004/07/15 00:01:08 agriffis Exp $ + +# options for knockd daemon +OPTS="-d -i eth0" diff --git a/testing/knock/knock.initd b/testing/knock/knock.initd new file mode 100644 index 00000000..b83c5c74 --- /dev/null +++ b/testing/knock/knock.initd @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/net-misc/knock/files/knockd.initd,v 1.2 2004/07/15 00:01:08 agriffis Exp $ + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting knockd" + start-stop-daemon --start --quiet --exec /usr/sbin/knockd -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping knockd" + start-stop-daemon --stop --quiet --exec /usr/sbin/knockd + eend $? +} diff --git a/testing/kqemu-grsec/APKBUILD b/testing/kqemu-grsec/APKBUILD new file mode 100644 index 00000000..66a0ea09 --- /dev/null +++ b/testing/kqemu-grsec/APKBUILD @@ -0,0 +1,44 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> + +_flavor=grsec +_realname=kqemu +# source the kernel version +if [ -f ../../main/linux-$_flavor/APKBUILD ]; then + . ../../main/linux-$_flavor/APKBUILD +fi +_kernelver=$pkgver-r$pkgrel +_abi_release=$pkgver-${_flavor} +_kpkgrel=$pkgrel + +pkgname=${_realname}-${_flavor} +pkgver=$pkgver +_realver=1.4.0pre1 +_mypkgrel=0 +pkgrel=$(($_kpkgrel + $_mypkgrel)) +pkgdesc="$_flavor kernel modules for kemu $_realver" +url="http://www.nongnu.org/qemu/" +license="GPL" +depends="linux-${_flavor}=${_kernelver}" +install= +makedepends="linux-${_flavor}-dev=${_kernelver}" +subpackages= +source="http://www.nongnu.org/qemu/kqemu-$_realver.tar.gz" + +# override kernel APKBUILD's prepare +prepare() { + : +} + +build() { + cd "$srcdir"/$_realname-$_realver + ./configure --kernel-path=/lib/modules/${_abi_release}/build + make || return 1 +} + +package() { + cd "$srcdir"/$_realname-$_realver + install -D -m644 kqemu.ko \ + "$pkgdir"/lib/modules/${_abi_release}/misc/kqemu.ko \ + || return 1 +} +md5sums="d738d8ca7332211ab716ec3213d82ee1 kqemu-1.4.0pre1.tar.gz" diff --git a/testing/libaio/APKBUILD b/testing/libaio/APKBUILD new file mode 100644 index 00000000..0951b758 --- /dev/null +++ b/testing/libaio/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Leonardo Arena <rnalrd@gmail.com> +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname="libaio" +pkgver="0.3.107" +pkgrel=1 +pkgdesc="Asynchronous input/output library" +url="http://lse.sourceforge.net/io/aio.html" +license="LGPL-2" +depends= +makedepends= +install= +subpackages="$pkgname-dev" +source="http://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make prefix="$pkgdir/usr" \ + sysconfdir="$pkgdir/etc" \ + mandir="$pkgdir/usr/share/man" \ + infodir="$pkgdir/usr/share/info" \ + install || return 1 +} + +md5sums="db32c19c61ca937bcb1ba48da9180682 libaio-0.3.107.tar.gz" diff --git a/testing/libnetfilter_log/APKBUILD b/testing/libnetfilter_log/APKBUILD new file mode 100644 index 00000000..b2c4dfcc --- /dev/null +++ b/testing/libnetfilter_log/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=libnetfilter_log +pkgver=0.0.16 +pkgrel=0 +pkgdesc="interface to packets that have been logged by the kernel packet filter" +url="http://www.netfilter.org/projects/libnetfilter_log/" +license="GPL-2" +depends="libnfnetlink" +makedepends="libnfnetlink-dev pkgconfig" +subpackages="$pkgname-dev" +source="http://www.netfilter.org/projects/libnetfilter_log/files/libnetfilter_log-0.0.16.tar.bz2" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + +} + +md5sums="4ffcf46dad9d0c81f6611dd185639694 libnetfilter_log-0.0.16.tar.bz2" diff --git a/testing/libnl/APKBUILD b/testing/libnl/APKBUILD new file mode 100644 index 00000000..9db755ae --- /dev/null +++ b/testing/libnl/APKBUILD @@ -0,0 +1,44 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=libnl +pkgver=1.1 +pkgrel=0 +pkgdesc="Library for applications dealing with netlink sockets" +url="http://people.suug.ch/~tgr/libnl" +license="GPL" +depends= +makedepends= +subpackages="$pkgname-dev" +source="http://distfiles.gentoo.org/distfiles/$pkgname-$pkgver.tar.gz + libnl-1.1-flags.patch + libnl-1.1-minor-leaks.patch + libnl-1.1-vlan-header.patch + libnl-1.1-glibc-2.8-ULONG_MAX.patch + " + +_builddir="$srcdir"/libnl-$pkgver + +prepare () { + cd "$_builddir" + for i in "$srcdir"/*.patch; do + [ -r "$i" ] || continue + msg "Applying $i" + patch -s -p1 -i $i || return 1 + done +} + +build () { + cd "$_builddir" + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="ae970ccd9144e132b68664f98e7ceeb1 libnl-1.1.tar.gz +9c9072ac8b74135798e0ebcf2d90290d libnl-1.1-flags.patch +3a42f98cfb353f2469ac3c44b7c0a027 libnl-1.1-minor-leaks.patch +d757127e7af3bd3c82cdb51b1b09d2e0 libnl-1.1-vlan-header.patch +9169c7eec8a2b4b2556dd26ac73c6020 libnl-1.1-glibc-2.8-ULONG_MAX.patch" diff --git a/testing/libnl/libnl-1.1-flags.patch b/testing/libnl/libnl-1.1-flags.patch new file mode 100644 index 00000000..bb09b362 --- /dev/null +++ b/testing/libnl/libnl-1.1-flags.patch @@ -0,0 +1,11 @@ +--- libnl-1.1/lib/Makefile.orig 2008-01-14 16:48:45.000000000 +0100 ++++ libnl-1.1/lib/Makefile 2009-05-26 09:47:42.000000000 +0200 +@@ -48,7 +48,7 @@ + + $(OUT_SLIB): ../Makefile.opts $(OBJ) + @echo " LD $(OUT_SLIB)"; \ +- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc + @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \ + rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB) + @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \ diff --git a/testing/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch b/testing/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch new file mode 100644 index 00000000..c4082cba --- /dev/null +++ b/testing/libnl/libnl-1.1-glibc-2.8-ULONG_MAX.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/show_bug.cgi?id=225393 + +--- a/include/netlink-local.h 2008-06-09 07:54:20 +0000 ++++ b/include/netlink-local.h 2008-06-09 07:54:47 +0000 +@@ -26,6 +26,7 @@ + #include <sys/socket.h> + #include <inttypes.h> + #include <assert.h> ++#include <limits.h> + + #include <arpa/inet.h> + #include <netdb.h> + diff --git a/testing/libnl/libnl-1.1-minor-leaks.patch b/testing/libnl/libnl-1.1-minor-leaks.patch new file mode 100644 index 00000000..855a6ab3 --- /dev/null +++ b/testing/libnl/libnl-1.1-minor-leaks.patch @@ -0,0 +1,40 @@ +From: Patrick McHardy <kaber@trash.net> +Date: Fri, 18 Jan 2008 16:55:49 +0000 (+0100) +Subject: [LIBNL]: Fix minor memleaks on exit +X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=b64f15d6f947839236fa276d473d238f8c9b9d57;hp=e91bb2ffb090955d443e643a25b250bf3d33534a + +[LIBNL]: Fix minor memleaks on exit + +Make valgrind happy ... + +Signed-off-by: Patrick McHardy <kaber@trash.net> +--- + +diff --git a/lib/route/route_utils.c b/lib/route/route_utils.c +index a12d169..1386cda 100644 +--- a/lib/route/route_utils.c ++++ b/lib/route/route_utils.c +@@ -63,6 +63,11 @@ static void __init init_routing_table_names(void) + add_routing_table_name(RT_TABLE_LOCAL, "local"); + }; + ++static void __exit release_routing_table_names(void) ++{ ++ __trans_list_clear(&table_names); ++} ++ + int rtnl_route_read_table_names(const char *path) + { + __trans_list_clear(&table_names); +@@ -104,6 +109,11 @@ static void __init init_proto_names(void) + add_proto_name(RTPROT_STATIC, "static"); + }; + ++static void __exit release_proto_names(void) ++{ ++ __trans_list_clear(&proto_names); ++} ++ + int rtnl_route_read_protocol_names(const char *path) + { + __trans_list_clear(&proto_names); diff --git a/testing/libnl/libnl-1.1-vlan-header.patch b/testing/libnl/libnl-1.1-vlan-header.patch new file mode 100644 index 00000000..c4c2fc63 --- /dev/null +++ b/testing/libnl/libnl-1.1-vlan-header.patch @@ -0,0 +1,80 @@ +From: Patrick McHardy <kaber@trash.net> +Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100) +Subject: [LIBNL]: Add if_vlan.h +X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958 + +[LIBNL]: Add if_vlan.h + +vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in +older if_vlan.h versions. Add the current version from the kernel. + +Signed-off-by: Patrick McHardy <kaber@trash.net> +--- + +diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h +new file mode 100644 +index 0000000..068cd7b +--- /dev/null ++++ include/linux/if_vlan.h +@@ -0,0 +1,61 @@ ++/* ++ * VLAN An implementation of 802.1Q VLAN tagging. ++ * ++ * Authors: Ben Greear <greearb@candelatech.com> ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef _LINUX_IF_VLAN_H_ ++#define _LINUX_IF_VLAN_H_ ++ ++ ++/* VLAN IOCTLs are found in sockios.h */ ++ ++/* Passed in vlan_ioctl_args structure to determine behaviour. */ ++enum vlan_ioctl_cmds { ++ ADD_VLAN_CMD, ++ DEL_VLAN_CMD, ++ SET_VLAN_INGRESS_PRIORITY_CMD, ++ SET_VLAN_EGRESS_PRIORITY_CMD, ++ GET_VLAN_INGRESS_PRIORITY_CMD, ++ GET_VLAN_EGRESS_PRIORITY_CMD, ++ SET_VLAN_NAME_TYPE_CMD, ++ SET_VLAN_FLAG_CMD, ++ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */ ++ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */ ++}; ++ ++enum vlan_flags { ++ VLAN_FLAG_REORDER_HDR = 0x1, ++}; ++ ++enum vlan_name_types { ++ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */ ++ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */ ++ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */ ++ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */ ++ VLAN_NAME_TYPE_HIGHEST ++}; ++ ++struct vlan_ioctl_args { ++ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */ ++ char device1[24]; ++ ++ union { ++ char device2[24]; ++ int VID; ++ unsigned int skb_priority; ++ unsigned int name_type; ++ unsigned int bind_type; ++ unsigned int flag; /* Matches vlan_dev_info flags */ ++ } u; ++ ++ short vlan_qos; ++}; ++ ++#endif /* !(_LINUX_IF_VLAN_H_) */ diff --git a/testing/madplay/APKBUILD b/testing/madplay/APKBUILD new file mode 100644 index 00000000..8d2807b7 --- /dev/null +++ b/testing/madplay/APKBUILD @@ -0,0 +1,28 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=madplay +pkgver=0.15.2b +pkgrel=0 +pkgdesc="The MAD audio player" +url="http://www.underbit.com/products/mad/" +license="GPL-2" +depends="" +makedepends="alsa-lib-dev libmad-dev libid3tag-dev" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/mad/madplay-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-nls \ + --with-alsa \ + || return 1 + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +md5sums="6814b47ceaa99880c754c5195aa1aac1 madplay-0.15.2b.tar.gz" diff --git a/testing/madwimax/APKBUILD b/testing/madwimax/APKBUILD new file mode 100644 index 00000000..251ff801 --- /dev/null +++ b/testing/madwimax/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Sergey +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=madwimax +pkgver=0.1.1 +pkgrel=0 +pkgdesc="WiMAX driver for the Samsung SWC-U200 and similar USB modems" +url="http://code.google.com/p/madwimax/" +license="GPL-2" +depends= +makedepends="pkgconfig libusb-dev" +install= +subpackages="$pkgname-doc" +source="http://madwimax.googlecode.com/files/madwimax-0.1.1.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --without-man-pages \ + || return 1 + make || return 1 + make DESTDIR="$pkgdir" install + +#2009-10-07,SP: you can start it simply by /usr/sbin/madwimax -d +#, so no init.d script so far... + +} + +md5sums="4ebd2d74e887e6f9d6f23067a4ad8272 madwimax-0.1.1.tar.gz" diff --git a/testing/mediaproxy/APKBUILD b/testing/mediaproxy/APKBUILD new file mode 100644 index 00000000..b8077fe8 --- /dev/null +++ b/testing/mediaproxy/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: +# Maintainer: +pkgname=mediaproxy +pkgver=2.3.8 +pkgrel=2 +pkgdesc="MediaProxy" +url="http://www.ag-projects.com/MediaProxy/" +pkgusers="kamailio" +pkggroups="kamailio" +license="GPL" +depends="python python-application python-gnutls twisted python-cjson iptables" +makedepends="libnetfilter_conntrack-dev libnfnetlink-dev python26-buildutils + python26-setuptools python-dev" +install= +subpackages="" +#subpackages="$pkgname-dev $pkgname-doc" +source="http://download.ag-projects.com/MediaProxy/$pkgname-$pkgver.tar.gz + mediaproxy-dispatcher.initd + mediaproxy-relay.initd + config.ini +" + +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + + python setup.py install --root="$pkgdir" + + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" \ + > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth + + install -D -m755 "$srcdir"/$pkgname-dispatcher.initd \ + "$pkgdir"/etc/init.d/$pkgname-dispatcher + install -D -m755 "$srcdir"/$pkgname-relay.initd \ + "$pkgdir"/etc/init.d/$pkgname-relay + install -D -m755 "$srcdir"/config.ini \ + "$pkgdir"/etc/mediaproxy/config.ini + install -d -o kamailio "$pkgdir"/etc/mediaproxy/tls/ + install -d -o kamailio "$pkgdir"/var/run/$pkgname +} + +md5sums="8914a2b69415946e5ffdb843823b3ef1 mediaproxy-2.3.8.tar.gz +cf081e451ab5d8d5ff66a8d9fa6707d6 mediaproxy-dispatcher.initd +1add855d86ead49c19798e9d86c69efe mediaproxy-relay.initd +d3df3569543d696ca102f131f7ad95e4 config.ini" diff --git a/testing/mediaproxy/config.ini b/testing/mediaproxy/config.ini new file mode 100644 index 00000000..995c006d --- /dev/null +++ b/testing/mediaproxy/config.ini @@ -0,0 +1,19 @@ +[Dispatcher] +socket = /var/run/mediaproxy/proxydispatcher.sock +defaultproxy = /var/run/mediaproxy/mediaproxy.sock + +[MediaProxy] +start = yes +socket = /var/run/mediaproxy/mediaproxy.sock +group = kamailio +listen = 0.0.0.0 +allow = None +proxyIP = # This is where your Kamailio is installed +portRange = 9000:9049 # These values are set same in ATA's configs for RTP Port Range +idleTimeout = 60 +holdTimeout = 180 +forceClose = 0 + +[Accounting] +accounting = off + diff --git a/testing/mediaproxy/mediaproxy-dispatcher.initd b/testing/mediaproxy/mediaproxy-dispatcher.initd new file mode 100644 index 00000000..9b37a7e0 --- /dev/null +++ b/testing/mediaproxy/mediaproxy-dispatcher.initd @@ -0,0 +1,22 @@ +#!/sbin/runscript + +daemon=/usr/bin/media-dispatcher +pidfile=/var/run/mediaproxy/dispatcher.pid + +depend() { + need net + after firewall + after kamailio +} + +start() { + ebegin "Starting Mediaproxy Dispatcher" + start-stop-daemon --start --verbose --pidfile $pidfile --exec $daemon + eend $? +} + +stop() { + ebegin "Stopping Mediaproxy Dispatcher" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} diff --git a/testing/mediaproxy/mediaproxy-relay.initd b/testing/mediaproxy/mediaproxy-relay.initd new file mode 100644 index 00000000..09b842f0 --- /dev/null +++ b/testing/mediaproxy/mediaproxy-relay.initd @@ -0,0 +1,22 @@ +#!/sbin/runscript + +daemon=/usr/bin/media-relay +pidfile=/var/run/mediaproxy/relay.pid + +depend() { + need net + after firewall + after mediaproxy-dispatcher +} + +start() { + ebegin "Starting Mediaproxy Relay" + start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon + eend $? +} + +stop() { + ebegin "Stopping Mediaproxy Relay" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} diff --git a/testing/minicom/APKBUILD b/testing/minicom/APKBUILD new file mode 100644 index 00000000..5d0c638e --- /dev/null +++ b/testing/minicom/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=minicom +pkgver=2.3 +pkgrel=0 +pkgdesc="menu driven communications program for terminals" +url="http://alioth.debian.org/projects/minicom" +license="GPL" +depends= +makedepends="ncurses-dev" +install= +subpackages="$pkgname-doc" +source="http://alioth.debian.org/frs/download.php/2332/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --without-libintl-prefix + make || return 1 + make DESTDIR="$pkgdir" install + +} + +md5sums="0ebe7a91898384ca906787cc4e2c3f25 minicom-2.3.tar.gz" diff --git a/testing/mp3info/APKBUILD b/testing/mp3info/APKBUILD new file mode 100644 index 00000000..6a52c3b6 --- /dev/null +++ b/testing/mp3info/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Carlo Landmeter <clandmeter@gmail.com> +pkgname=mp3info +pkgver=0.8.5a +pkgrel=0 +pkgdesc="An MP3 technical info viewer and ID3 1.x tag editor" +url="http://www.ibiblio.org/mp3info/" +license="GPL" +depends="uclibc ncurses" +makedepends="ncurses-dev" +subpackages="" +source="ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-0.8.5a.tgz +escape_chars.patch" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + patch -p1 -i "$srcdir"/escape_chars.patch || return 1 + + make mp3info || return 1 + install -Dm755 mp3info "$pkgdir"/usr/bin/mp3info + install -Dm644 mp3info.1 "$pkgdir"/usr/share/man/man1/mp3info.1 + +} + +md5sums="cb7b619a10a40aaac2113b87bb2b2ea2 mp3info-0.8.5a.tgz +d0be1068503056b775bf10f05a8497b8 escape_chars.patch" diff --git a/testing/mp3info/escape_chars.patch b/testing/mp3info/escape_chars.patch new file mode 100644 index 00000000..ec697a28 --- /dev/null +++ b/testing/mp3info/escape_chars.patch @@ -0,0 +1,138 @@ +--- orig/mp3info-0.8.5a/mp3info.c Mon Nov 6 04:03:17 2006 ++++ mp3info-0.8.5a/mp3info.c Thu Mar 19 12:33:27 2009 +@@ -32,6 +32,7 @@ + #undef __MAIN + #include <sys/stat.h> + ++char *escape_chars=NULL; + char FILENAME_FORMAT_STRING[]="File: %F\n"; + char ID3_FORMAT_STRING[]="Title: %-30t Track: %n\nArtist: %a\nAlbum: %-30l Year: %y\nComment: %-30c Genre: %g [%G]\n"; + char TECH_FORMAT_STRING[]="Media Type: MPEG %2.1v Layer %L\nAudio: %r KB/s, %qKHz (%o)\nEmphasis: %e\nCRC: %E\nCopyright: %C\nOriginal: %O\nPadding: %p\nLength: %m:%02s\n"; +@@ -66,7 +67,7 @@ + + + +- while ((c=getopt(argc,argv,"vhGidfxFt:a:l:y:c:n:g:p:r:"))!=-1) { ++ while ((c=getopt(argc,argv,"vhGidfxFmt:a:l:y:c:n:g:p:r:e:"))!=-1) { + + switch(c) { + case 'v': /* View mode is now automatic when no changes are +@@ -159,6 +160,12 @@ + } + break; + case 'F': quickscan=0; break; ++ case 'e': ++ escape_chars = optarg; ++ break; ++ case 'm': ++ escape_chars = "'\"\b\n\r\t\\"; ++ break; + } + } + +--- orig/mp3info-0.8.5a/mp3info.h Fri Nov 10 00:14:52 2006 ++++ mp3info-0.8.5a/mp3info.h Thu Mar 19 10:42:07 2009 +@@ -111,6 +111,7 @@ + extern int galphagenreindex [MAXGENRE+2]; + #endif + ++extern char *escape_chars; + void tagedit_curs(char *filename, int filenum, int fileoutof, id3tag *tag); + + +--- orig/mp3info-0.8.5a/textfunc.c Mon Nov 6 08:59:12 2006 ++++ mp3info-0.8.5a/textfunc.c Thu Mar 19 12:24:52 2009 +@@ -24,6 +24,7 @@ + */ + + #include "mp3info.h" ++#include "libgen.h" + + char *layer_text[] = { + "I", "II", "III" +@@ -70,6 +71,8 @@ + "\t-n track\tSpecify ID3 v1.1 track number\n"\ + "\t-t title\tSpecify ID3 track title\n"\ + "\t-y year\t\tSpecify ID3 copyright year\n\n"\ ++ "\t-m\t\tMySQL safe output\n"\ ++ "\t-e\t\tCharacters to escape\n"\ + "\t-G\t\tDisplay valid genres\n"\ + "\t-h\t\tDisplay this help page\n"\ + "\t-x\t\tDisplay technical attributes of the MP3 file\n"\ +@@ -85,6 +88,7 @@ + "\n\t\tConversion Specifiers\n\n"\ + "\t\t%%f\tFilename without the path (string)\n"\ + "\t\t%%F\tFilename with the path (string)\n"\ ++ "\t\t%%d\tPath without filename (string)\n"\ + "\t\t%%k\tFile size in KB (integer)\n"\ + "\n\t\t%%a\tArtist (string)\n"\ + "\t\t%%c\tComment (string)\n"\ +@@ -217,7 +221,27 @@ + } + } + ++/* const char *escape_chars = "'\"\b\n\r\t\\%_"; */ ++/* escape the chars so its sql safe */ ++char *escape_string(char *str) ++{ ++ static char buf[8192]; ++ char *src = str; ++ char *dest = buf; + ++ /* we might want a cmdline flag to enable escaping */ ++ if (escape_chars == NULL || str == NULL) ++ return str; ++ ++ while (*src && dest < (buf + sizeof(buf) - 1)) { ++ if (strchr(escape_chars, *src)) ++ *dest++ = '\\'; ++ *dest++ = *src++; ++ } ++ *dest = '\0'; ++ return buf; ++} ++ + void format_output (char *format_string,mp3info *mp3, int vbr_report) { + + char genre[40]=""; +@@ -242,16 +266,16 @@ + mod[modlen]=0; + mod[modlen-1]='s'; + switch (*code) { +- case 't': printf(mod,mp3->id3.title); break; ++ case 't': printf(mod,escape_string(mp3->id3.title)); break; + case 'f': pos = (pos=strrchr(mp3->filename,'/')) ? + pos+1 : mp3->filename; +- printf(mod,pos); break; +- case 'F': printf(mod,mp3->filename); break; +- case 'a': printf(mod,mp3->id3.artist); break; +- case 'l': printf(mod,mp3->id3.album); break; ++ printf(mod,escape_string(pos)); break; ++ case 'F': printf(mod,escape_string(mp3->filename)); break; ++ case 'a': printf(mod,escape_string(mp3->id3.artist)); break; ++ case 'l': printf(mod,escape_string(mp3->id3.album)); break; + case 'k': mod[modlen-1] = 'd'; printf(mod,mp3->datasize / 1024); break; +- case 'y': printf(mod,mp3->id3.year); break; +- case 'c': printf(mod,mp3->id3.comment); break; ++ case 'y': printf(mod,escape_string(mp3->id3.year)); break; ++ case 'c': printf(mod,escape_string(mp3->id3.comment)); break; + case 'n': if(mp3->id3_isvalid && mp3->id3.track[0]) { + mod[modlen-1]='d'; + printf(mod, (int) mp3->id3.track[0]); +@@ -259,7 +283,7 @@ + break; + case 'g': if(mp3->id3_isvalid) { + text_genre(mp3->id3.genre,genre); +- printf(mod,genre); ++ printf(mod,escape_string(genre)); + } + break; + case 'G': if(mp3->id3_isvalid) { +@@ -348,6 +372,7 @@ + } + break; + case '%': printf("%%"); break; ++ case 'd': printf(mod,escape_string(dirname(mp3->filename))); break; + default: printf("%%%c",*(code=percent+1)); break; + } + format=code+1; diff --git a/testing/mtx/APKBUILD b/testing/mtx/APKBUILD new file mode 100644 index 00000000..5d706bc4 --- /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" diff --git a/testing/multipath-tools/APKBUILD b/testing/multipath-tools/APKBUILD new file mode 100644 index 00000000..471d9de2 --- /dev/null +++ b/testing/multipath-tools/APKBUILD @@ -0,0 +1,31 @@ +# Contributor: Leonardo Arena <rnalrd@gmail.com> +# Maintainer: Leonardo Arena <rnalrd@gmail.com> +pkgname="multipath-tools" +pkgver=0.4.8 +pkgrel=2 +pkgdesc="Device Mapper Multipathing Driver" +url="http://christophe.varoqui.free.fr/" +license="GPL" +depends= +makedepends="lvm2-dev libaio-dev readline-dev" +install= +subpackages="$pkgname-doc" +source="http://christophe.varoqui.free.fr/$pkgname/$pkgname-$pkgver.tar.bz2 + Makefile.patch" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + patch Makefile < ../Makefile.patch || return 1 + find . -name Makefile -exec sed -i -e 's/glibc/uclibc/g' {} \; + + make -j1 \ + prefix="/usr" \ + sysconfdir="/etc" \ + mandir="/usr/share/man" \ + infodir="/usr/share/info" || return 1 + make DESTDIR="$pkgdir" install +} + +md5sums="3563b863b408d07c46929b6e8c2c248c multipath-tools-0.4.8.tar.bz2 +92318268d20a9622cdb9909d153c4ccd Makefile.patch" diff --git a/testing/multipath-tools/Makefile.patch b/testing/multipath-tools/Makefile.patch new file mode 100644 index 00000000..ddf7058d --- /dev/null +++ b/testing/multipath-tools/Makefile.patch @@ -0,0 +1,11 @@ +--- src/multipath-tools-0.4.8/Makefile Thu Aug 2 21:05:37 2007 ++++ Makefile Fri Feb 27 09:57:19 2009 +@@ -20,7 +20,7 @@ + export KRNLSRC + export KRNLOBJ + +-BUILDDIRS = $(shell find . -mindepth 2 -name Makefile -exec dirname {} \; | grep -vE '^lib|/\.') ++BUILDDIRS = $(shell find . -name Makefile -exec dirname {} \; | grep -vE '^lib|/\.'|grep -v '^\.$$') + + ifeq ($(MULTIPATH_VERSION),) + VERSION = $(shell basename ${PWD} | cut -d'-' -f3) diff --git a/testing/nagios/APKBUILD b/testing/nagios/APKBUILD new file mode 100644 index 00000000..0234cac1 --- /dev/null +++ b/testing/nagios/APKBUILD @@ -0,0 +1,55 @@ +# Contributor: Carlo Landmeter <clandmeter at gmail> +# Maintainer: Carlo Landmeter <clandmeter at gmail> +pkgname=nagios +pkgver=3.1.0 +pkgrel=1 +pkgdesc="Popular monitoring tool" +url="http://www.nagios.org/" +license="GPL-2" +depends="perl" +makedepends="gd-dev pkgconfig perl-dev" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz +nagios.confd +nagios.initd +lighttpd-nagios.conf" +subpackages="${pkgname}-web" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc/nagios \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --datadir=/usr/share/nagios \ + --localstatedir=/var \ + --bindir=/usr/sbin \ + --sbindir=/usr/lib/nagios/cgi-bin \ + --datadir=/usr/share/nagios/htdocs \ + --libexecdir=/usr/lib/nagios/plugins \ + --localstatedir=/var/nagios \ + --with-nagios-user=nobody \ + --with-nagios-group=nobody \ + --enable-embedded-perl \ + --with-perlcache + make all || return 1 + make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install-config + make DESTDIR="$pkgdir" install-commandmode + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + + +web() { + #depends="php lighttpd" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/share "$subpkgdir"/usr/ + install -m644 -D "$srcdir"/lighttpd-nagios.conf "$subpkgdir"/etc/lighttpd-nagios.conf +} + +md5sums="02d3b0e13f772481d0ac9e00bdc3e979 nagios-3.1.0.tar.gz +431dfe7403323e247a88b97beade5d78 nagios.confd +2ead8695b32222abe922692664aa9de1 nagios.initd +d63c36f47d26f1f71ae2faf272eec640 lighttpd-nagios.conf" diff --git a/testing/nagios/lighttpd-nagios.conf b/testing/nagios/lighttpd-nagios.conf new file mode 100644 index 00000000..cb7081d8 --- /dev/null +++ b/testing/nagios/lighttpd-nagios.conf @@ -0,0 +1,29 @@ +### +# Sample nagios lighttpd config +### + +server.modules += ("mod_cgi") +server.modules += ("mod_auth") +server.modules += ("mod_alias") + +auth.require += ( "/nagios" => + ( + "method" => "digest", + "realm" => "nagios", + "require" => "valid-user" + ) +) + +$HTTP["url"] =~ "^/nagios/cgi-bin/" { + dir-listing.activate = "disable" + cgi.assign = ( + ".pl" => "/usr/bin/perl", + ".cgi" => "" + ) +} + +alias.url += ( + "/nagios/cgi-bin" => "/usr/lib/nagios/cgi-bin", + "/nagios" => "/usr/share/nagios/htdocs" +) + diff --git a/testing/nagios/nagios.confd b/testing/nagios/nagios.confd new file mode 100644 index 00000000..0abb80c6 --- /dev/null +++ b/testing/nagios/nagios.confd @@ -0,0 +1,9 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon $OPTS here. +# + +OPTS="" +USER="nobody" +GROUP="nobody" diff --git a/testing/nagios/nagios.initd b/testing/nagios/nagios.initd new file mode 100644 index 00000000..e0b3bcf0 --- /dev/null +++ b/testing/nagios/nagios.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript + +# Sample init.d file for alpine linux. + +NAME=nagios +DAEMON=/usr/sbin/$NAME + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet --background \ + --make-pidfile --pidfile /var/run/${NAME}.pid \ + --exec ${DAEMON} -- ${OPTS} /etc/nagios/nagios.cfg + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --quiet \ + --exec ${DAEMON} \ + --pidfile /var/run/${NAME}.pid \ + eend $? +} + +reload() { + ebegin "Reloading ${NAME}" + if ! service_started "${NAME}" ; then + eend 1 "${NAME} is not started" + return 1 + fi + start-stop-daemon --stop --oknodo --signal HUP \ + --exec ${DAEMON} --pidfile /var/run/${NAME}.pid + eend $? +} + diff --git a/testing/opensips-cp/APKBUILD b/testing/opensips-cp/APKBUILD new file mode 100644 index 00000000..3d7ea8c7 --- /dev/null +++ b/testing/opensips-cp/APKBUILD @@ -0,0 +1,21 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=opensips-cp +pkgver=2.0 +pkgrel=0 +pkgdesc="Web Control Panel Application for the OpenSIPS SIP server" +url="http://opensips-cp.sourceforge.net/" +license="GPL" +depends="php" +makedepends="" +install= +options="!strip" +#subpackages="$pkgname-doc $pkgname-dev" +source="http://downloads.sourceforge.net/$pkgname/${pkgname}_$pkgver.tgz" + +build() { + mkdir -p "$pkgdir"/usr/share/webapps + cp -r "$srcdir"/$pkgname "$pkgdir"/usr/share/webapps/$pkgname +} + +md5sums="c9b4f4476e231e0d64682c2b07c66965 opensips-cp_2.0.tgz" diff --git a/testing/opensips/APKBUILD b/testing/opensips/APKBUILD new file mode 100644 index 00000000..d54b3dec --- /dev/null +++ b/testing/opensips/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=opensips +pkgver=1.5.0 +pkgrel=4 +pkgdesc="Flexible and customizable sip routing engine" +url="http://www.opensips.org/" +license="GPL" +depends="uclibc expat" +makedepends="bison flex expat-dev coreutils" +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-notls_src.tar.gz + $install + $pkgname.initd" + +build() { + cd "$srcdir/$pkgname-$pkgver-notls" + sed -i -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \ + -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' Makefile.defs + + cd scripts + sed -i -e 's:/var/run/opensips.pid:/var/run/opensips/opensips.pid:g' \ + opensipsctl.base opensipsctlrc osipsconsole osipsconsolerc + cd .. + + make prefix=/usr || return 1 + make prefix=/usr basedir="$pkgdir" install + chmod 750 "$pkgdir"/etc/opensips/opensips.cfg + install -d "$pkgdir"/var/run/opensips + install -Dm755 ../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +md5sums="ba99592a6e42e8b4dc2d38964420dfec opensips-1.5.0-notls_src.tar.gz +3a8a5d3c4c23ce9f2fc60b449ad61820 opensips.pre-install +d9b551148d2b60466c05b4295b935091 opensips.post-install +7fb51d35517f7f10cfe6e89139f7060a opensips.initd" diff --git a/testing/opensips/opensips.initd b/testing/opensips/opensips.initd new file mode 100644 index 00000000..09c03fd5 --- /dev/null +++ b/testing/opensips/opensips.initd @@ -0,0 +1,26 @@ +#!/sbin/runscript + +daemon=/usr/sbin/opensips +pidfile=/var/run/opensips/opensips.pid + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting OpenSIPS" + start-stop-daemon --start --quiet --pidfile $pidfile --exec $daemon \ + -- \ + -u ${OPENSIPS_USER:-opensips} \ + -g ${OPENSIPS_GROUP:-opensips} \ + -P $pidfile + eend $? +} + +stop() { + ebegin "Stopping OpenSIPS" + start-stop-daemon --stop --quiet --pidfile $pidfile + eend $? +} + diff --git a/testing/opensips/opensips.post-install b/testing/opensips/opensips.post-install new file mode 100644 index 00000000..eb9d86d9 --- /dev/null +++ b/testing/opensips/opensips.post-install @@ -0,0 +1,5 @@ +#!/bin/sh + +chown -R opensips:opensips /var/run/opensips +chgrp opensips /etc/opensips/opensips.cfg +exit 0 diff --git a/testing/opensips/opensips.pre-install b/testing/opensips/opensips.pre-install new file mode 100644 index 00000000..4b9ccd41 --- /dev/null +++ b/testing/opensips/opensips.pre-install @@ -0,0 +1,5 @@ +#!/bin/sh + +adduser -H -h /var/empty -s /bin/false -D opensips 2>/dev/null + +exit 0 diff --git a/testing/openvpn/APKBUILD b/testing/openvpn/APKBUILD new file mode 100644 index 00000000..bd751f31 --- /dev/null +++ b/testing/openvpn/APKBUILD @@ -0,0 +1,57 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=openvpn +pkgver=2.1.1 +pkgrel=0 +pkgdesc="A robust, and highly configurable VPN (Virtual Private Network)" +url="http://openvpn.sourceforge.net/" +license="custom" +subpackages="$pkgname-doc" +depends="iproute2" +makedepends="openssl-dev lzo-dev" +install= +source="http://$pkgname.net/release/$pkgname-$pkgver.tar.gz + openvpn.initd + " + +_builddir="$srcdir"/$pkgname-$pkgver +build() { + cd "$_builddir" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-ssl \ + --enable-crypto \ + --disable-threads \ + --enable-iproute2 + + make || return 1 + cd plugin/down-root + make || return 1 + cd ../.. +} + +package() { + cd "$_builddir" + + make DESTDIR="$pkgdir" install || return 1 + + # install plugins + install -d "$pkgdir"/usr/lib/$pkgname + cp plugin/*/*.so "$pkgdir"/usr/lib/$pkgname + + # install easy-rsa + sed -i -e 's/--directory/-d/g; s/--mode=/-m/g' easy-rsa/2.0/Makefile + sed -i -e '1s|#!/bin/bash|#!/bin/sh|' easy-rsa/2.0/* + make -C easy-rsa/2.0 DESTDIR="$pkgdir" \ + PREFIX=etc/openvpn/easy-rsa \ + install + + # install examples + mkdir -p "$pkgdir"/usr/share/doc/$pkgname/examples + cp -a sample-config-files "$pkgdir"/usr/share/doc/$pkgname/examples + install -D -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING + + # install init.d + install -Dm755 ../openvpn.initd "$pkgdir"/etc/init.d/openvpn +} +md5sums="b273ed2b5ec8616fb9834cde8634bce7 openvpn-2.1.1.tar.gz +020376f1e7ed6b4adbe20cf5ff774856 openvpn.initd" diff --git a/testing/openvpn/openvpn.initd b/testing/openvpn/openvpn.initd new file mode 100644 index 00000000..7e0e3eb9 --- /dev/null +++ b/testing/openvpn/openvpn.initd @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +VPNDIR="/etc/openvpn" +VPN="${SVCNAME#*.}" +if [ -n "${VPN}" ] && [ "${SVCNAME}" != "openvpn" ]; then + VPNPID="/var/run/openvpn.${VPN}.pid" +else + VPNPID="/var/run/openvpn.pid" +fi +VPNCONF="${VPNDIR}/${VPN}.conf" + +depend() { + need localmount net + before netmount + after bootmisc firewall +} + +checktundevice() { + if [ ! -e /dev/net/tun ]; then + if ! modprobe tun ; then + eerror "TUN/TAP support is not available in this kernel" + return 1 + fi + fi + if [ -h /dev/net/tun ] && [ -c /dev/misc/net/tun ]; then + ebegin "Detected broken /dev/net/tun symlink, fixing..." + rm -f /dev/net/tun + ln -s /dev/misc/net/tun /dev/net/tun + eend $? + fi +} + +start() { + ebegin "Starting ${SVCNAME}" + + checktundevice || return 1 + + if [ ! -e "${VPNCONF}" ]; then + eend 1 "${VPNCONF} does not exist" + return 1 + fi + + local args="" + # If the config file does not specify the cd option, we do + # But if we specify it, we override the config option which we do not want + if ! grep -q "^[ \t]*cd[ \t].*" "${VPNCONF}" ; then + args="${args} --cd ${VPNDIR}" + fi + + start-stop-daemon --start --exec /usr/sbin/openvpn --pidfile "${VPNPID}" \ + -- --config "${VPNCONF}" --writepid "${VPNPID}" --daemon ${args} + eend $? "Check your logs to see why startup failed" +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/sbin/openvpn --pidfile "${VPNPID}" + eend $? +} + +# vim: ts=4 diff --git a/testing/perl-io-multiplex/APKBUILD b/testing/perl-io-multiplex/APKBUILD new file mode 100644 index 00000000..e5d9bc06 --- /dev/null +++ b/testing/perl-io-multiplex/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=perl-io-multiplex +_realname=IO-Multiplex +pkgver=1.10 +pkgrel=0 +pkgdesc="Manage IO on many file handles" +url="http://search.cpan.org/dist/IO-Multiplex/" +license="unknown" +depends="perl" +makedepends="perl-dev" +install= +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/B/BB/BBB/$_realname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$_realname-$pkgver" + + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 + make DESTDIR="$pkgdir" install + # creates file collision among perl modules + find "$pkgdir" -name perllocal.pod -delete +} + +md5sums="ce230ee0a4afbff59da66f0c42e0340b IO-Multiplex-1.10.tar.gz" diff --git a/testing/perl-net-rblcient/APKBUILD b/testing/perl-net-rblcient/APKBUILD new file mode 100644 index 00000000..e68eaae2 --- /dev/null +++ b/testing/perl-net-rblcient/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=perl-net-rblclient +_realname=Net-RBLClient +pkgver=0.5 +pkgrel=0 +pkgdesc="Queries multiple Realtime Blackhole Lists in parallel" +url="http://search.cpan.org/dist/Net-RBLClient/" +license="unknown" +depends="perl" +makedepends="perl-dev" +install= +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/A/AB/ABLUM/$_realname-$pkgver.tar.gz" + +build() { + cd "$srcdir/RBLCLient-$pkgver" + + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 + make DESTDIR="$pkgdir" install + # creates file collision among perl modules + find "$pkgdir" -name perllocal.pod -delete +} + +md5sums="1fb9961106cbb5a6eb2257762847e502 Net-RBLClient-0.5.tar.gz" diff --git a/testing/perl-parse-syslog/APKBUILD b/testing/perl-parse-syslog/APKBUILD new file mode 100644 index 00000000..af6da0fe --- /dev/null +++ b/testing/perl-parse-syslog/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=perl-parse-syslog +_realname=Parse-Syslog +pkgver=1.10 +pkgrel=0 +pkgdesc="Parse Unix syslog files" +url="http://search.cpan.org/~dschwei/Parse-Syslog-1.10/" +license="unknown" +depends="perl" +makedepends="perl-dev" +install= +subpackages="$pkgname-doc" +source="http://search.cpan.org/CPAN/authors/id/D/DS/DSCHWEI/$_realname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$_realname-$pkgver" + + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 + make DESTDIR="$pkgdir" install + # creates file collision among perl modules + find "$pkgdir" -name perllocal.pod -delete +} + +md5sums="e1c4c03aaa7cb8d2baa52f294dd9accc Parse-Syslog-1.10.tar.gz" diff --git a/testing/pllua/APKBUILD b/testing/pllua/APKBUILD new file mode 100644 index 00000000..09ef17f5 --- /dev/null +++ b/testing/pllua/APKBUILD @@ -0,0 +1,36 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=pllua +pkgver=0.3.1 +pkgrel=0 +pkgdesc="Procedural language for PostgreSQL using Lua" +url="http://pgfoundry.org/projects/pllua" +license="GPL" +depends="postgresql" +makedepends="postgresql-dev lua-dev ccache" +install= +subpackages="" +source="http://pgfoundry.org/frs/download.php/1722/$pkgname-$pkgver.tar.gz + pllua-01-0.3.1-include.patch" + +# append extra dependencies to -dev subpackage +# remove if not used. +# depends_dev="somepackage-dev" + +build() { + cd "$srcdir"/$pkgname-$pkgver + for i in "$srcdir"/*.patch; do + msg "Applying ${i}" + patch -p1 -i $i || return 1 + done + + make || return 1 + 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="e57385bdf2d533ac73cd02401795cea8 pllua-0.3.1.tar.gz +a47387e64b7dba8d58237c7dad0e2d61 pllua-01-0.3.1-include.patch" diff --git a/testing/pllua/pllua-01-0.3.1-include.patch b/testing/pllua/pllua-01-0.3.1-include.patch new file mode 100644 index 00000000..afbf8a98 --- /dev/null +++ b/testing/pllua/pllua-01-0.3.1-include.patch @@ -0,0 +1,14 @@ +#most of fix from here http://postgis.refractions.net/pipermail/postgis-devel/2009-February/004879.html +--- pllua-0.3.1/plluaapi.c.orig Thu Sep 17 15:34:07 2009 ++++ pllua-0.3.1/plluaapi.c Thu Sep 17 15:34:18 2009 +@@ -7,6 +7,10 @@ + + #include "pllua.h" + #include "rowstamp.h" ++#include "utils/guc.h" ++extern Datum textout (PG_FUNCTION_ARGS); ++extern Datum bpcharout(PG_FUNCTION_ARGS); ++extern Datum varcharout(PG_FUNCTION_ARGS); + + /* extended function info */ + typedef struct luaP_Info { diff --git a/testing/postgrey/APKBUILD b/testing/postgrey/APKBUILD new file mode 100644 index 00000000..75681143 --- /dev/null +++ b/testing/postgrey/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=postgrey +pkgver=1.32 +pkgrel=1 +pkgdesc="Postfix policy server implementing greylisting" +url="http://postgrey.schweikert.ch/" +license="GPL" +depends="perl perl-db perl-net-dns perl-net-server" +makedepends="" +install=postgrey.pre-install +subpackages="" +source="http://postgrey.schweikert.ch/pub/$pkgname-$pkgver.tar.gz + postgrey.confd + postgrey.initd" +#still need PERL-IO Multiplex and PERL-PARSE-SYSLOG and NET-RBLClient +build() { + cd "$srcdir"/$pkgname-$pkgver + + install -m755 -D $pkgname "$pkgdir"/usr/sbin/$pkgname + mkdir -p "$pkgdir"/var/spool/postfix/$pkgname + chown postgrey:postgrey "$pkgdir"/var/spool/postfix/$pkgname + chmod 770 "$pkgdir"/var/spool/postfix/$pkgname + install -m755 -D contrib/postgreyreport "$pkgdir"/usr/bin/postgreyreport + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D postgrey_whitelist_clients "$pkgdir"/etc/postfix/postgrey_whitelist_clients + install -m644 -D postgrey_whitelist_recipients "$pkgdir"/etc/postfix/postgrey_whitelist_recipients + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="524a4e165bf997996f3bccade394712f postgrey-1.32.tar.gz +caaad5770ab07fb5af3bbd522a05b84f postgrey.confd +d0611b244202c77ad7ad79862721a738 postgrey.initd" diff --git a/testing/postgrey/postgrey.confd b/testing/postgrey/postgrey.confd new file mode 100644 index 00000000..7a6deb58 --- /dev/null +++ b/testing/postgrey/postgrey.confd @@ -0,0 +1,55 @@ +# Config file for /etc/init.d/postgrey + +# LISTEN TYPE +# Set to 'inet' if you want to use a TCP socket. +# Set to 'unix' if you want to use an UNIX socket. +POSTGREY_TYPE="inet" + +# HOST +# What IP should postgrey bind to? +# Leave unchanged unless you know what you are doing. +# (ignored if POSTGREY_TYPE is set to 'unix') +POSTGREY_HOST="127.0.0.1" + +# PORT +# What TCP port should postgrey listen on? +# (ignored if POSTGREY_TYPE is set to 'unix') +POSTGREY_PORT="10030" + +# SOCKET +# Unix socket to listen on, if POSTGREY_TYPE is set to 'unix'. +# Leave unchanged unless you know what you are doing. +# (ignored if POSTGREY_TYPE is set to 'inet') +POSTGREY_SOCKET="/var/spool/postfix/private/postgrey" + +# PID +# Postgrey pid file. +# Do not change, if you don't know what this is! +POSTGREY_PID="/var/run/postgrey.pid" + +# DELAY +# How long to delay mail that is greylisted in seconds. +POSTGREY_DELAY=300 + +# TEXT +# The response we'll send back with delayed mail. +POSTGREY_TEXT="Greylisted for %s seconds" + +# Additional Postgrey options +# +# -v, --verbose increase verbosity level +# --max-age=N delete entries older than N days since the last time +# that they have been seen (default: 30) +# --retry-window=N allow only N days for the first retrial (default: 2) +# append 'h' if you want to specify it in hours +# --greylist-action=A if greylisted, return A to Postfix (default: DEFER_IF_PERMIT) +# --lookup-by-subnet strip the last 8 bits from IP addresses (default) +# --lookup-by-host do not strip the last 8 bits from IP addresses +# --whitelist-clients=FILE default: /etc/postfix/postgrey_whitelist_clients +# --whitelist-recipients=FILE default: /etc/postfix/postgrey_whitelist_recipients +# +# Note that the --whitelist-x options can be specified multiple times, and that +# per default /etc/postfix/postgrey_whitelist_clients.local is also read, so +# that you can put there local entries. +# +POSTGREY_OPTS="" diff --git a/testing/postgrey/postgrey.initd b/testing/postgrey/postgrey.initd new file mode 100644 index 00000000..c9e51ceb --- /dev/null +++ b/testing/postgrey/postgrey.initd @@ -0,0 +1,102 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/mail-filter/postgrey/files/postgrey.rc.new,v 1.10 2008/05/21 18:45:44 dertobi123 Exp $ + +conf="/etc/conf.d/postgrey" + +opts="${opts} reload" + +depend() { + need net + after firewall + before postfix + provide postfix_greylist +} + +conf_error() { + eerror "You need to setup ${conf} first" + return 1 +} + +checkconfig() { +if [ -z "${POSTGREY_TYPE}" ] + then + einfo "You need to choose the server type you want" + einfo "by setting the POSTGREY_TYPE variable in ${conf}." + else + if [ "x${POSTGREY_TYPE}" = "xinet" ] + then + if [ -z "${POSTGREY_PORT}" ] || [ -z "${POSTGREY_HOST}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_HOST}" ] && einfo " - POSTGREY_HOST" + [ -z "${POSTGREY_PORT}" ] && einfo " - POSTGREY_PORT" + conf_error + fi + POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_HOST}:${POSTGREY_PORT}" + else + if [ -z "${POSTGREY_SOCKET}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_SOCKET}" ] && einfo " - POSTGREY_SOCKET" + conf_error + fi + POSTGREY_ADDR="${POSTGREY_TYPE}=${POSTGREY_SOCKET}" + fi +fi + + if [ -z "${POSTGREY_PID}" ] + then + einfo "The following entries are missing in ${conf}:" + [ -z "${POSTGREY_PID}" ] && einfo " - POSTGREY_PID" + conf_error + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting Postgrey" + + # HACK -- start a subshell and corrects perms on the socket... + ( if [ "x${POSTGREY_TYPE}" = "xunix" ]; then + rm -f ${POSTGREY_SOCKET}; + while ! test -S ${POSTGREY_SOCKET}; do sleep 1; done; + chmod a+rw,a-x ${POSTGREY_SOCKET}; fi ) & + + if [ -z ${POSTGREY_DELAY} ] ; then + POSTGREY_DELAY_ARG="" + else + POSTGREY_DELAY_ARG="--delay=${POSTGREY_DELAY}" + fi + + if [ -z "${POSTGREY_TEXT}" ] ; then + POSTGREY_TEXT_ARG="" + else + POSTGREY_TEXT_ARG="--greylist-text=${POSTGREY_TEXT}" + fi + + start-stop-daemon --start --quiet --background \ + --pidfile=${POSTGREY_PID} \ + --name postgrey \ + --exec /usr/sbin/postgrey -- \ + --${POSTGREY_ADDR} \ + --daemonize \ + --pidfile=${POSTGREY_PID} \ + ${POSTGREY_DELAY_ARG} \ + ${POSTGREY_OPTS} \ + "${POSTGREY_TEXT_ARG}" + eend ${?} +} + +stop() { + ebegin "Stopping Postgrey" + start-stop-daemon --stop --quiet --pidfile ${POSTGREY_PID} + eend ${?} +} + +reload() { + ebegin "Reloading Postgrey" + start-stop-daemon --stop --signal HUP --oknodo --pidfile ${POSTGREY_PID} + eend $? +} diff --git a/testing/postgrey/postgrey.pre-install b/testing/postgrey/postgrey.pre-install new file mode 100644 index 00000000..3c34c3fd --- /dev/null +++ b/testing/postgrey/postgrey.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup postgrey 2>/dev/null +adduser -H -h /dev/null -s /bin/false -D postgrey 2>/dev/null + +exit 0 diff --git a/testing/pptpclient/APKBUILD b/testing/pptpclient/APKBUILD new file mode 100644 index 00000000..acdc734a --- /dev/null +++ b/testing/pptpclient/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=pptpclient +pkgver=1.7.2 +pkgrel=0 +pkgdesc="Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP." +url="http://pptpclient.sourceforge.net/" +license="GPL" +depends="ppp iproute2" +makedepends="perl" +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/pptp-$pkgver.tar.gz + pptpclient-uclibc.patch" + +prepare() { + cd "$srcdir"/pptp-$pkgver + patch -p1 -i "$srcdir"/pptpclient-uclibc.patch || return 1 + sed -i '/CFLAGS/d' Makefile + sed -i 's|\/bin\/ip|\/usr\/sbin\/ip|g' routing.c +} + +build() { + cd "$srcdir"/pptp-$pkgver + make || return 1 +} + +package() { + cd "$srcdir"/pptp-$pkgver + make DESTDIR="$pkgdir" install +} +md5sums="4c3d19286a37459a632c7128c92a9857 pptp-1.7.2.tar.gz +34b643e4e4224e723f6a768018b46015 pptpclient-uclibc.patch" diff --git a/testing/pptpclient/pptpclient-uclibc.patch b/testing/pptpclient/pptpclient-uclibc.patch new file mode 100644 index 00000000..aa9536e4 --- /dev/null +++ b/testing/pptpclient/pptpclient-uclibc.patch @@ -0,0 +1,21 @@ +diff --git a/pptp_compat.c b/pptp_compat.c +index 1760a3b..6ebbea4 100644 +--- a/pptp_compat.c ++++ b/pptp_compat.c +@@ -2,6 +2,7 @@ + * + */ + ++#if defined (__SVR4) && defined (__sun) /* Solaris */ + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> +@@ -14,8 +15,6 @@ + #include <stdio.h> + #include "util.h" + +- +-#if defined (__SVR4) && defined (__sun) /* Solaris */ + /* + * daemon implementation from uClibc + */ diff --git a/testing/prosody/APKBUILD b/testing/prosody/APKBUILD new file mode 100644 index 00000000..4f778f2e --- /dev/null +++ b/testing/prosody/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Mika Havela <mika.havela@gmail.com> +# Maintainer: Mika Havela <mika.havela@gmail.com> +pkgname=prosody +pkgver=0.4.2 +pkgrel=2 +pkgdesc="Lua based Jabber/XMPP server" +url="http://prosody.im/" +license="MIT" +depends="lua-socket lua-expat" +makedepends="lua-dev libidn-dev openssl-dev" +install="prosody.pre-install prosody.post-install" +subpackages="" +source="http://prosody.im/downloads/source/$pkgname-$pkgver.tar.gz + $pkgname.cfg.lua + $pkgname.initd + Makefile-0.4.2.patch + " + +build() { + cd "$srcdir/$pkgname-$pkgver" + + patch Makefile "$startdir/Makefile-0.4.2.patch" || return 1 + + ./configure --prefix=/usr \ + --sysconfdir=/etc/prosody \ + --with-lua=/usr/bin \ + --with-lua-lib=/usr/lib \ + --with-lua-include=/usr/include + + make || return 1 + make DESTDIR="$pkgdir" install + + install -d "$pkgdir/var/log/prosody" || return 1 + install -d "$pkgdir/var/run/prosody" || return 1 + install -D -m755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/"$pkgname" + + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} + +md5sums="2669478311b3a67522669acdf03cf85c prosody-0.4.2.tar.gz +f42039e5a342fe62cd7e491546338aaa prosody.cfg.lua +c0e647e872e30f71fa03faab189ae287 prosody.initd +684d033dac42399a245c061c9a374e1b Makefile-0.4.2.patch" diff --git a/testing/prosody/Makefile-0.4.2.patch b/testing/prosody/Makefile-0.4.2.patch new file mode 100644 index 00000000..facfa2f9 --- /dev/null +++ b/testing/prosody/Makefile-0.4.2.patch @@ -0,0 +1,13 @@ +--- src/prosody-0.4.2/Makefile.org Thu Jun 4 13:44:20 2009 ++++ src/prosody-0.4.2/Makefile Thu Jun 4 13:44:11 2009 +@@ -19,8 +19,8 @@ + install -d $(BIN) $(CONFIG) $(MODULES) $(SOURCE) $(DATA) + install -d $(CONFIG)/certs + install -d $(SOURCE)/core $(SOURCE)/net $(SOURCE)/util +- install ./prosody.install $(BIN)/prosody +- install ./prosodyctl.install $(BIN)/prosodyctl ++ install -m755 ./prosody.install $(BIN)/prosody ++ install -m755 ./prosodyctl.install $(BIN)/prosodyctl + install -m644 core/* $(SOURCE)/core + install -m644 net/* $(SOURCE)/net + install -m644 util/* $(SOURCE)/util diff --git a/testing/prosody/prosody.cfg.lua b/testing/prosody/prosody.cfg.lua new file mode 100644 index 00000000..99df66ad --- /dev/null +++ b/testing/prosody/prosody.cfg.lua @@ -0,0 +1,107 @@ +-- Prosody Configuration File +-- +-- If it wasn't already obvious, -- starts a comment, and all text after it on +-- a line is ignored by Prosody. +-- +-- The config is split into sections, a global section, and one for each +-- defined host that we serve. You can add as many host sections as you like. +-- +-- Lists are written { "like", "this", "one" } +-- Lists can also be of { 1, 2, 3 } numbers, etc. +-- Either commas, or semi-colons; may be used as seperators. +-- +-- A table is a list of values, except each value has a name. An example would +-- be: +-- +-- logging = { type = "html", directory = "/var/logs", rotate = "daily" } +-- +-- Whitespace (that is tabs, spaces, line breaks) is mostly insignificant, so +-- can +-- be placed anywhere +-- that you deem fitting. +-- +-- Tip: You can check that the syntax of this file is correct when you have +-- finished by running: luac -p prosody.cfg.lua +-- If there are any errors, it will let you know what and where they are, +-- otherwise it will keep quiet. +-- +-- Good luck, and happy Jabbering! + +-- Global settings go in this section +Host "*" + -- This is the list of modules Prosody will load on startup. + -- It looks for mod_modulename.lua in the plugins folder, so make sure that + -- exists too. + modules_enabled = { + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended + -- if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + "dialback"; -- s2s dialback support + "disco"; -- Service discovery + + -- Not essential, but recommended + "private"; -- Private XML storage (for room bookmarks, etc.) + "vcard"; -- Allow users to set vCards + + -- Nice to have + "legacyauth"; -- Legacy authentication. Only used by some old + -- clients and bots. + "version"; -- Replies to server version requests + "uptime"; -- Report how long server has been running + "time"; -- Let others know the time here on this server + "ping"; -- Replies to XMPP pings with pongs + + -- Required for daemonizing and logging + "posix"; -- POSIX functionality, sends server to background, + -- enables syslog, etc. + + -- Other specific functionality + "register"; -- Allow users to register on this server using a + -- client + --"console"; -- telnet to port 5582 (needs console_enabled = true) + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"httpserver"; -- Serve static files from a directory over HTTP + } + + -- These are the SSL/TLS-related settings. If you don't want to use + -- SSL/TLS, you may comment or remove this + --ssl = { + -- key = "/etc/prosody/certs/localhost.key"; + -- certificate = "/etc/prosody/certs/localhost.cert"; + --} + + log = { + -- Log all error messages to prosody.err + { levels = { min = "error" }, to = "file", timestamps = true, + filename = "/var/log/prosody/prosody.err" }; + -- Log everything of level "info" and higher (that is, all except + -- "debug" messages) to prosody.log + { levels = { min = "info" }, to = "file", timestamps = true, + filename = "/var/log/prosody/prosody.log" }; + } + + -- Required for proper daemonization support + pidfile = "/var/run/prosody/prosody.pid" + +-- This allows clients to connect to localhost. No harm in it. +Host "localhost" + +-- Section for example.com +-- (replace example.com with your domain name) +Host "example.com" + -- Assign this host a certificate for TLS, otherwise it would use the one + -- set in the global section (if any). + -- Note that old-style SSL on port 5223 only supports one certificate, and + -- will always use the global one. + --ssl = { + -- key = "/etc/prosody/certs/example.com.key"; + -- certificate = "/etc/prosody/certs/example.com.crt"; + --} + + enabled = false -- This will disable the host, preserving the config, but + -- denying connections + +-- Set up a MUC (multi-user chat) room server on conference.localhost: +Component "conference.localhost" "muc" diff --git a/testing/prosody/prosody.initd b/testing/prosody/prosody.initd new file mode 100644 index 00000000..2749d09c --- /dev/null +++ b/testing/prosody/prosody.initd @@ -0,0 +1,44 @@ +#!/sbin/runscript + +# Sample init.d file for alpine linux. + +NAME=prosody +DAEMON=/usr/bin/$NAME + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${NAME}" + /usr/bin/prosodyctl start +# start-stop-daemon --start --quiet --background \ +# --make-pidfile --pidfile /var/run/${NAME}/${NAME}.pid \ +# --chuid ${USER}:${GROUP} \ +# --exec ${DAEMON} -- ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + /usr/bin/prosodyctl stop +# start-stop-daemon --stop --quiet \ +# --exec ${DAEMON} \ +# --pidfile /var/run/${NAME}/${NAME}.pid \ + eend $? +} + +reload() { + ebegin "Reloading ${NAME}" + if ! service_started "${NAME}" ; then + eend 1 "${NAME} is not started" + return 1 + fi + /usr/bin/prosodyctl stop + /usr/bin/prosodyctl start +# start-stop-daemon --stop --oknodo --signal HUP \ +# --exec ${DAEMON} --pidfile /var/run/${NAME}/${NAME}.pid + eend $? +} + diff --git a/testing/prosody/prosody.post-install b/testing/prosody/prosody.post-install new file mode 100644 index 00000000..2f8f69cd --- /dev/null +++ b/testing/prosody/prosody.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +chown prosody:prosody var/lib/prosody +chown prosody:prosody var/log/prosody +chown prosody:prosody var/run/prosody + diff --git a/testing/prosody/prosody.pre-install b/testing/prosody/prosody.pre-install new file mode 100644 index 00000000..db63efa1 --- /dev/null +++ b/testing/prosody/prosody.pre-install @@ -0,0 +1,9 @@ +#!/bin/sh + +user=prosody +home=/var/lib/prosody +adduser -h $home -s /bin/false -D $user 2>/dev/null +mkdir -p $home +chown $user:$user $home +exit 0 + diff --git a/testing/pycrypto/APKBUILD b/testing/pycrypto/APKBUILD new file mode 100644 index 00000000..1ed827ca --- /dev/null +++ b/testing/pycrypto/APKBUILD @@ -0,0 +1,17 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=pycrypto +pkgver=2.0.1 +pkgrel=0 +pkgdesc="A collection of cryptographic algorithms and protocols, implemented for use from Python." +url="http://www.amk.ca/python/code/crypto.html" +license="GPL" +depends="python" +makedepends="gmp-dev python-dev" +source="http://www.amk.ca/files/python/crypto/$pkgname-$pkgver.tar.gz" + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + python setup.py build install --root="$pkgdir" +} +md5sums="4d5674f3898a573691ffb335e8d749cd pycrypto-2.0.1.tar.gz" diff --git a/testing/python-application/APKBUILD b/testing/python-application/APKBUILD new file mode 100644 index 00000000..bda915d8 --- /dev/null +++ b/testing/python-application/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=python-application +pkgver=1.1.5 +pkgrel=0 +pkgdesc="Basic building blocks for python applications" +url="http://pypi.python.org/pypi/python-application" +license="PSF" +depends="python" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth + +} + +md5sums="d43399becc6b2850a2ea80a34375781b python-application-1.1.5.tar.gz" diff --git a/testing/python-cjson/APKBUILD b/testing/python-cjson/APKBUILD new file mode 100644 index 00000000..c6df3c17 --- /dev/null +++ b/testing/python-cjson/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=python-cjson +pkgver=1.0.5 +pkgrel=0 +pkgdesc="Fast JSON encoder/decoder for Python" +url="http://pypi.python.org/pypi/python-gnutls" +license="PSF" +depends="python" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz" +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth + +} + +md5sums="4d55b66ecdf0300313af9d030d9644a3 python-cjson-1.0.5.tar.gz" diff --git a/testing/python-gnutls/APKBUILD b/testing/python-gnutls/APKBUILD new file mode 100644 index 00000000..943d06aa --- /dev/null +++ b/testing/python-gnutls/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=python-gnutls +pkgver=1.1.9 +pkgrel=0 +pkgdesc="Python wrapper for the GNUTLS library" +url="http://pypi.python.org/pypi/python-gnutls" +license="PSF" +depends="python" +makedepends="python-dev gnutls-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/p/$pkgname/$pkgname-$pkgver.tar.gz" +build() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$pkgname.pth + +} + +md5sums="bdd81a9dd3c2f87393cd6c014bf6885b python-gnutls-1.1.9.tar.gz" diff --git a/testing/python26-buildutils/APKBUILD b/testing/python26-buildutils/APKBUILD new file mode 100644 index 00000000..5db0a6bf --- /dev/null +++ b/testing/python26-buildutils/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Andrew Manison <amanison@anselsystems.com> +# Maintainer: +pkgname=python26-buildutils +_pkgname=${pkgname#python26-} +pkgver=0.3 +pkgrel=0 +pkgdesc="buildutils is a collection of enhancements to the Python distutils" +url="http://pypi.python.org/pypi/buildutils/0.3" +license="GPL" +depends="python python26-setuptools" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/b/$_pkgname/$_pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$_pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth +} + +md5sums="fec620dee05f591edad386366b52e17b buildutils-0.3.tar.gz" diff --git a/testing/python26-setuptools/APKBUILD b/testing/python26-setuptools/APKBUILD new file mode 100644 index 00000000..e8322dd5 --- /dev/null +++ b/testing/python26-setuptools/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Andrew Manison <amanison@anselsystems.com> +# Maintainer: +pkgname=python26-setuptools +_pkgname=${pkgname#python26-} +pkgver=0.6c11 +pkgrel=0 +pkgdesc="setuptools is a collection of enhancements to the Python distutils" +url="http://pypi.python.org/pypi/setuptools" +license="PSF" +depends="python" +makedepends="python-dev" +install= +subpackages="" +source="http://pypi.python.org/packages/source/s/$_pkgname/$_pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$_pkgname-$pkgver + mkdir -p "$pkgdir"/usr/lib/python2.6/site-packages + python setup.py install --root="$pkgdir" + echo "/usr/lib/python2.6/site-packages/$_pkgname-$pkgver-py2.6.egg" > "$pkgdir"/usr/lib/python2.6/site-packages/$_pkgname.pth + + # we don't provide a non-suffixed easy_install + echo "Removing non-suffixed easy_install ( $pkgdir/usr/bin/easy_install)" + rm "$pkgdir"/usr/bin/easy_install +} + +md5sums="7df2a529a074f613b509fb44feefe74e setuptools-0.6c11.tar.gz" diff --git a/testing/qemu/APKBUILD b/testing/qemu/APKBUILD new file mode 100644 index 00000000..6361ee46 --- /dev/null +++ b/testing/qemu/APKBUILD @@ -0,0 +1,48 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=qemu +pkgver=0.11.1 +pkgrel=0 +pkgdesc="QEMU is a generic machine emulator and virtualizer" +url="http://www.nongnu.org/qemu/" +license="GPL-2 LGPL-2" +makedepends="zlib-dev sdl-dev alsa-lib-dev gnutls-dev ncurses-dev" +depends= +install="qemu.pre-install" +source="http://savannah.nongnu.org/download/$pkgname/$pkgname-$pkgver.tar.gz + kqemu.patch + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + # avoid fdt till an updated release appears + sed -i -e 's:fdt="yes":fdt="no":' configure + # prevent docs to get automatically installed + sed -i '/$(DESTDIR)$(docdir)/d' Makefile + # Alter target makefiles to accept CFLAGS + sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \ + Makefile Makefile.target tests/Makefile + sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ + Makefile.target + patch -p1 -i ../kqemu.patch || return 1 +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --audio-drv-list=oss,alsa,sdl \ + --audio-card-list=ac97,sb16,es1370,adlib \ + --disable-darwin-user \ + --disable-bsd-user \ + --disable-nptl \ + --cc="$CC" + + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="193285b0bcf655a7f7577d05ffcb82b1 qemu-0.11.1.tar.gz +f63f7412f016d8ccddabfd02ea28e748 kqemu.patch" diff --git a/testing/qemu/kqemu.c b/testing/qemu/kqemu.c new file mode 100644 index 00000000..035d310a --- /dev/null +++ b/testing/qemu/kqemu.c @@ -0,0 +1,997 @@ +/* + * KQEMU support + * + * Copyright (c) 2005-2008 Fabrice Bellard + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA + */ +#include "config.h" +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#include <winioctl.h> +#else +#include <sys/types.h> +#include <sys/mman.h> +#include <sys/ioctl.h> +#endif +#ifdef HOST_SOLARIS +#include <sys/ioccom.h> +#endif +#include <stdlib.h> +#include <stdio.h> +#include <stdarg.h> +#include <string.h> +#include <errno.h> +#include <unistd.h> +#include <inttypes.h> + +#include "cpu.h" +#include "exec-all.h" +#include "qemu-common.h" + +#ifdef USE_KQEMU + +#define DEBUG +//#define PROFILE + + +#ifdef DEBUG +# define LOG_INT(...) qemu_log_mask(CPU_LOG_INT, ## __VA_ARGS__) +# define LOG_INT_STATE(env) log_cpu_state_mask(CPU_LOG_INT, (env), 0) +#else +# define LOG_INT(...) do { } while (0) +# define LOG_INT_STATE(env) do { } while (0) +#endif + +#include <unistd.h> +#include <fcntl.h> +#include "kqemu.h" + +#ifdef _WIN32 +#define KQEMU_DEVICE "\\\\.\\kqemu" +#else +#define KQEMU_DEVICE "/dev/kqemu" +#endif + +static void qpi_init(void); + +#ifdef _WIN32 +#define KQEMU_INVALID_FD INVALID_HANDLE_VALUE +HANDLE kqemu_fd = KQEMU_INVALID_FD; +#define kqemu_closefd(x) CloseHandle(x) +#else +#define KQEMU_INVALID_FD -1 +int kqemu_fd = KQEMU_INVALID_FD; +#define kqemu_closefd(x) close(x) +#endif + +/* 0 = not allowed + 1 = user kqemu + 2 = kernel kqemu +*/ +int kqemu_allowed = 1; +uint64_t *pages_to_flush; +unsigned int nb_pages_to_flush; +uint64_t *ram_pages_to_update; +unsigned int nb_ram_pages_to_update; +uint64_t *modified_ram_pages; +unsigned int nb_modified_ram_pages; +uint8_t *modified_ram_pages_table; +int qpi_io_memory; +uint32_t kqemu_comm_base; /* physical address of the QPI communication page */ + +#define cpuid(index, eax, ecx, edx) \ + asm volatile ("cpuid" \ + : "=a" (eax), "=c" (ecx), "=d" (edx) \ + : "0" (index)) + +#ifdef __x86_64__ +static int is_cpuid_supported(void) +{ + return 1; +} +#else +static int is_cpuid_supported(void) +{ + int v0, v1; + asm volatile ("pushf\n" + "popl %0\n" + "movl %0, %1\n" + "xorl $0x00200000, %0\n" + "pushl %0\n" + "popf\n" + "pushf\n" + "popl %0\n" + : "=a" (v0), "=d" (v1) + : + : "cc"); + return (v0 != v1); +} +#endif + +static void kqemu_update_cpuid(CPUState *env) +{ + int critical_features_mask, features, ext_features, ext_features_mask; + uint32_t eax, ecx, edx; + + /* the following features are kept identical on the host and + target cpus because they are important for user code. Strictly + speaking, only SSE really matters because the OS must support + it if the user code uses it. */ + critical_features_mask = + CPUID_CMOV | CPUID_CX8 | + CPUID_FXSR | CPUID_MMX | CPUID_SSE | + CPUID_SSE2 | CPUID_SEP; + ext_features_mask = CPUID_EXT_SSE3 | CPUID_EXT_MONITOR; + if (!is_cpuid_supported()) { + features = 0; + ext_features = 0; + } else { + cpuid(1, eax, ecx, edx); + features = edx; + ext_features = ecx; + } +#ifdef __x86_64__ + /* NOTE: on x86_64 CPUs, SYSENTER is not supported in + compatibility mode, so in order to have the best performances + it is better not to use it */ + features &= ~CPUID_SEP; +#endif + env->cpuid_features = (env->cpuid_features & ~critical_features_mask) | + (features & critical_features_mask); + env->cpuid_ext_features = (env->cpuid_ext_features & ~ext_features_mask) | + (ext_features & ext_features_mask); + /* XXX: we could update more of the target CPUID state so that the + non accelerated code sees exactly the same CPU features as the + accelerated code */ +} + +int kqemu_init(CPUState *env) +{ + struct kqemu_init kinit; + int ret, version; +#ifdef _WIN32 + DWORD temp; +#endif + + if (!kqemu_allowed) + return -1; + +#ifdef _WIN32 + kqemu_fd = CreateFile(KQEMU_DEVICE, GENERIC_WRITE | GENERIC_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, + NULL); + if (kqemu_fd == KQEMU_INVALID_FD) { + fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %lu\n", + KQEMU_DEVICE, GetLastError()); + return -1; + } +#else + kqemu_fd = open(KQEMU_DEVICE, O_RDWR); + if (kqemu_fd == KQEMU_INVALID_FD) { + fprintf(stderr, "Could not open '%s' - QEMU acceleration layer not activated: %s\n", + KQEMU_DEVICE, strerror(errno)); + return -1; + } +#endif + version = 0; +#ifdef _WIN32 + DeviceIoControl(kqemu_fd, KQEMU_GET_VERSION, NULL, 0, + &version, sizeof(version), &temp, NULL); +#else + ioctl(kqemu_fd, KQEMU_GET_VERSION, &version); +#endif + if (version != KQEMU_VERSION) { + fprintf(stderr, "Version mismatch between kqemu module and qemu (%08x %08x) - disabling kqemu use\n", + version, KQEMU_VERSION); + goto fail; + } + + pages_to_flush = qemu_vmalloc(KQEMU_MAX_PAGES_TO_FLUSH * + sizeof(uint64_t)); + if (!pages_to_flush) + goto fail; + + ram_pages_to_update = qemu_vmalloc(KQEMU_MAX_RAM_PAGES_TO_UPDATE * + sizeof(uint64_t)); + if (!ram_pages_to_update) + goto fail; + + modified_ram_pages = qemu_vmalloc(KQEMU_MAX_MODIFIED_RAM_PAGES * + sizeof(uint64_t)); + if (!modified_ram_pages) + goto fail; + modified_ram_pages_table = qemu_mallocz(phys_ram_size >> TARGET_PAGE_BITS); + if (!modified_ram_pages_table) + goto fail; + + memset(&kinit, 0, sizeof(kinit)); /* set the paddings to zero */ + kinit.ram_base = phys_ram_base; + kinit.ram_size = phys_ram_size; + kinit.ram_dirty = phys_ram_dirty; + kinit.pages_to_flush = pages_to_flush; + kinit.ram_pages_to_update = ram_pages_to_update; + kinit.modified_ram_pages = modified_ram_pages; +#ifdef _WIN32 + ret = DeviceIoControl(kqemu_fd, KQEMU_INIT, &kinit, sizeof(kinit), + NULL, 0, &temp, NULL) == TRUE ? 0 : -1; +#else + ret = ioctl(kqemu_fd, KQEMU_INIT, &kinit); +#endif + if (ret < 0) { + fprintf(stderr, "Error %d while initializing QEMU acceleration layer - disabling it for now\n", ret); + fail: + kqemu_closefd(kqemu_fd); + kqemu_fd = KQEMU_INVALID_FD; + return -1; + } + kqemu_update_cpuid(env); + env->kqemu_enabled = kqemu_allowed; + nb_pages_to_flush = 0; + nb_ram_pages_to_update = 0; + + qpi_init(); + return 0; +} + +void kqemu_flush_page(CPUState *env, target_ulong addr) +{ + LOG_INT("kqemu_flush_page: addr=" TARGET_FMT_lx "\n", addr); + if (nb_pages_to_flush >= KQEMU_MAX_PAGES_TO_FLUSH) + nb_pages_to_flush = KQEMU_FLUSH_ALL; + else + pages_to_flush[nb_pages_to_flush++] = addr; +} + +void kqemu_flush(CPUState *env, int global) +{ + LOG_INT("kqemu_flush:\n"); + nb_pages_to_flush = KQEMU_FLUSH_ALL; +} + +void kqemu_set_notdirty(CPUState *env, ram_addr_t ram_addr) +{ + LOG_INT("kqemu_set_notdirty: addr=%08lx\n", + (unsigned long)ram_addr); + /* we only track transitions to dirty state */ + if (phys_ram_dirty[ram_addr >> TARGET_PAGE_BITS] != 0xff) + return; + if (nb_ram_pages_to_update >= KQEMU_MAX_RAM_PAGES_TO_UPDATE) + nb_ram_pages_to_update = KQEMU_RAM_PAGES_UPDATE_ALL; + else + ram_pages_to_update[nb_ram_pages_to_update++] = ram_addr; +} + +static void kqemu_reset_modified_ram_pages(void) +{ + int i; + unsigned long page_index; + + for(i = 0; i < nb_modified_ram_pages; i++) { + page_index = modified_ram_pages[i] >> TARGET_PAGE_BITS; + modified_ram_pages_table[page_index] = 0; + } + nb_modified_ram_pages = 0; +} + +void kqemu_modify_page(CPUState *env, ram_addr_t ram_addr) +{ + unsigned long page_index; + int ret; +#ifdef _WIN32 + DWORD temp; +#endif + + page_index = ram_addr >> TARGET_PAGE_BITS; + if (!modified_ram_pages_table[page_index]) { +#if 0 + printf("%d: modify_page=%08lx\n", nb_modified_ram_pages, ram_addr); +#endif + modified_ram_pages_table[page_index] = 1; + modified_ram_pages[nb_modified_ram_pages++] = ram_addr; + if (nb_modified_ram_pages >= KQEMU_MAX_MODIFIED_RAM_PAGES) { + /* flush */ +#ifdef _WIN32 + ret = DeviceIoControl(kqemu_fd, KQEMU_MODIFY_RAM_PAGES, + &nb_modified_ram_pages, + sizeof(nb_modified_ram_pages), + NULL, 0, &temp, NULL); +#else + ret = ioctl(kqemu_fd, KQEMU_MODIFY_RAM_PAGES, + &nb_modified_ram_pages); +#endif + kqemu_reset_modified_ram_pages(); + } + } +} + +void kqemu_set_phys_mem(uint64_t start_addr, ram_addr_t size, + ram_addr_t phys_offset) +{ + struct kqemu_phys_mem kphys_mem1, *kphys_mem = &kphys_mem1; + uint64_t end; + int ret, io_index; + + end = (start_addr + size + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; + start_addr &= TARGET_PAGE_MASK; + kphys_mem->phys_addr = start_addr; + kphys_mem->size = end - start_addr; + kphys_mem->ram_addr = phys_offset & TARGET_PAGE_MASK; + io_index = phys_offset & ~TARGET_PAGE_MASK; + switch(io_index) { + case IO_MEM_RAM: + kphys_mem->io_index = KQEMU_IO_MEM_RAM; + break; + case IO_MEM_ROM: + kphys_mem->io_index = KQEMU_IO_MEM_ROM; + break; + default: + if (qpi_io_memory == io_index) { + kphys_mem->io_index = KQEMU_IO_MEM_COMM; + } else { + kphys_mem->io_index = KQEMU_IO_MEM_UNASSIGNED; + } + break; + } +#ifdef _WIN32 + { + DWORD temp; + ret = DeviceIoControl(kqemu_fd, KQEMU_SET_PHYS_MEM, + kphys_mem, sizeof(*kphys_mem), + NULL, 0, &temp, NULL) == TRUE ? 0 : -1; + } +#else + ret = ioctl(kqemu_fd, KQEMU_SET_PHYS_MEM, kphys_mem); +#endif + if (ret < 0) { + fprintf(stderr, "kqemu: KQEMU_SET_PHYS_PAGE error=%d: start_addr=0x%016" PRIx64 " size=0x%08lx phys_offset=0x%08lx\n", + ret, start_addr, + (unsigned long)size, (unsigned long)phys_offset); + } +} + +struct fpstate { + uint16_t fpuc; + uint16_t dummy1; + uint16_t fpus; + uint16_t dummy2; + uint16_t fptag; + uint16_t dummy3; + + uint32_t fpip; + uint32_t fpcs; + uint32_t fpoo; + uint32_t fpos; + uint8_t fpregs1[8 * 10]; +}; + +struct fpxstate { + uint16_t fpuc; + uint16_t fpus; + uint16_t fptag; + uint16_t fop; + uint32_t fpuip; + uint16_t cs_sel; + uint16_t dummy0; + uint32_t fpudp; + uint16_t ds_sel; + uint16_t dummy1; + uint32_t mxcsr; + uint32_t mxcsr_mask; + uint8_t fpregs1[8 * 16]; + uint8_t xmm_regs[16 * 16]; + uint8_t dummy2[96]; +}; + +static struct fpxstate fpx1 __attribute__((aligned(16))); + +static void restore_native_fp_frstor(CPUState *env) +{ + int fptag, i, j; + struct fpstate fp1, *fp = &fp1; + + fp->fpuc = env->fpuc; + fp->fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11; + fptag = 0; + for (i=7; i>=0; i--) { + fptag <<= 2; + if (env->fptags[i]) { + fptag |= 3; + } else { + /* the FPU automatically computes it */ + } + } + fp->fptag = fptag; + j = env->fpstt; + for(i = 0;i < 8; i++) { + memcpy(&fp->fpregs1[i * 10], &env->fpregs[j].d, 10); + j = (j + 1) & 7; + } + asm volatile ("frstor %0" : "=m" (*fp)); +} + +static void save_native_fp_fsave(CPUState *env) +{ + int fptag, i, j; + uint16_t fpuc; + struct fpstate fp1, *fp = &fp1; + + asm volatile ("fsave %0" : : "m" (*fp)); + env->fpuc = fp->fpuc; + env->fpstt = (fp->fpus >> 11) & 7; + env->fpus = fp->fpus & ~0x3800; + fptag = fp->fptag; + for(i = 0;i < 8; i++) { + env->fptags[i] = ((fptag & 3) == 3); + fptag >>= 2; + } + j = env->fpstt; + for(i = 0;i < 8; i++) { + memcpy(&env->fpregs[j].d, &fp->fpregs1[i * 10], 10); + j = (j + 1) & 7; + } + /* we must restore the default rounding state */ + fpuc = 0x037f | (env->fpuc & (3 << 10)); + asm volatile("fldcw %0" : : "m" (fpuc)); +} + +static void restore_native_fp_fxrstor(CPUState *env) +{ + struct fpxstate *fp = &fpx1; + int i, j, fptag; + + fp->fpuc = env->fpuc; + fp->fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11; + fptag = 0; + for(i = 0; i < 8; i++) + fptag |= (env->fptags[i] << i); + fp->fptag = fptag ^ 0xff; + + j = env->fpstt; + for(i = 0;i < 8; i++) { + memcpy(&fp->fpregs1[i * 16], &env->fpregs[j].d, 10); + j = (j + 1) & 7; + } + if (env->cpuid_features & CPUID_SSE) { + fp->mxcsr = env->mxcsr; + /* XXX: check if DAZ is not available */ + fp->mxcsr_mask = 0xffff; + memcpy(fp->xmm_regs, env->xmm_regs, CPU_NB_REGS * 16); + } + asm volatile ("fxrstor %0" : "=m" (*fp)); +} + +static void save_native_fp_fxsave(CPUState *env) +{ + struct fpxstate *fp = &fpx1; + int fptag, i, j; + uint16_t fpuc; + + asm volatile ("fxsave %0" : : "m" (*fp)); + env->fpuc = fp->fpuc; + env->fpstt = (fp->fpus >> 11) & 7; + env->fpus = fp->fpus & ~0x3800; + fptag = fp->fptag ^ 0xff; + for(i = 0;i < 8; i++) { + env->fptags[i] = (fptag >> i) & 1; + } + j = env->fpstt; + for(i = 0;i < 8; i++) { + memcpy(&env->fpregs[j].d, &fp->fpregs1[i * 16], 10); + j = (j + 1) & 7; + } + if (env->cpuid_features & CPUID_SSE) { + env->mxcsr = fp->mxcsr; + memcpy(env->xmm_regs, fp->xmm_regs, CPU_NB_REGS * 16); + } + + /* we must restore the default rounding state */ + asm volatile ("fninit"); + fpuc = 0x037f | (env->fpuc & (3 << 10)); + asm volatile("fldcw %0" : : "m" (fpuc)); +} + +static int do_syscall(CPUState *env, + struct kqemu_cpu_state *kenv) +{ + int selector; + + selector = (env->star >> 32) & 0xffff; +#ifdef TARGET_X86_64 + if (env->hflags & HF_LMA_MASK) { + int code64; + + env->regs[R_ECX] = kenv->next_eip; + env->regs[11] = env->eflags; + + code64 = env->hflags & HF_CS64_MASK; + + cpu_x86_set_cpl(env, 0); + cpu_x86_load_seg_cache(env, R_CS, selector & 0xfffc, + 0, 0xffffffff, + DESC_G_MASK | DESC_P_MASK | + DESC_S_MASK | + DESC_CS_MASK | DESC_R_MASK | DESC_A_MASK | DESC_L_MASK); + cpu_x86_load_seg_cache(env, R_SS, (selector + 8) & 0xfffc, + 0, 0xffffffff, + DESC_G_MASK | DESC_B_MASK | DESC_P_MASK | + DESC_S_MASK | + DESC_W_MASK | DESC_A_MASK); + env->eflags &= ~env->fmask; + if (code64) + env->eip = env->lstar; + else + env->eip = env->cstar; + } else +#endif + { + env->regs[R_ECX] = (uint32_t)kenv->next_eip; + + cpu_x86_set_cpl(env, 0); + cpu_x86_load_seg_cache(env, R_CS, selector & 0xfffc, + 0, 0xffffffff, + DESC_G_MASK | DESC_B_MASK | DESC_P_MASK | + DESC_S_MASK | + DESC_CS_MASK | DESC_R_MASK | DESC_A_MASK); + cpu_x86_load_seg_cache(env, R_SS, (selector + 8) & 0xfffc, + 0, 0xffffffff, + DESC_G_MASK | DESC_B_MASK | DESC_P_MASK | + DESC_S_MASK | + DESC_W_MASK | DESC_A_MASK); + env->eflags &= ~(IF_MASK | RF_MASK | VM_MASK); + env->eip = (uint32_t)env->star; + } + return 2; +} + +#ifdef CONFIG_PROFILER + +#define PC_REC_SIZE 1 +#define PC_REC_HASH_BITS 16 +#define PC_REC_HASH_SIZE (1 << PC_REC_HASH_BITS) + +typedef struct PCRecord { + unsigned long pc; + int64_t count; + struct PCRecord *next; +} PCRecord; + +static PCRecord *pc_rec_hash[PC_REC_HASH_SIZE]; +static int nb_pc_records; + +static void kqemu_record_pc(unsigned long pc) +{ + unsigned long h; + PCRecord **pr, *r; + + h = pc / PC_REC_SIZE; + h = h ^ (h >> PC_REC_HASH_BITS); + h &= (PC_REC_HASH_SIZE - 1); + pr = &pc_rec_hash[h]; + for(;;) { + r = *pr; + if (r == NULL) + break; + if (r->pc == pc) { + r->count++; + return; + } + pr = &r->next; + } + r = malloc(sizeof(PCRecord)); + r->count = 1; + r->pc = pc; + r->next = NULL; + *pr = r; + nb_pc_records++; +} + +static int pc_rec_cmp(const void *p1, const void *p2) +{ + PCRecord *r1 = *(PCRecord **)p1; + PCRecord *r2 = *(PCRecord **)p2; + if (r1->count < r2->count) + return 1; + else if (r1->count == r2->count) + return 0; + else + return -1; +} + +static void kqemu_record_flush(void) +{ + PCRecord *r, *r_next; + int h; + + for(h = 0; h < PC_REC_HASH_SIZE; h++) { + for(r = pc_rec_hash[h]; r != NULL; r = r_next) { + r_next = r->next; + free(r); + } + pc_rec_hash[h] = NULL; + } + nb_pc_records = 0; +} + +void kqemu_record_dump(void) +{ + PCRecord **pr, *r; + int i, h; + FILE *f; + int64_t total, sum; + + pr = malloc(sizeof(PCRecord *) * nb_pc_records); + i = 0; + total = 0; + for(h = 0; h < PC_REC_HASH_SIZE; h++) { + for(r = pc_rec_hash[h]; r != NULL; r = r->next) { + pr[i++] = r; + total += r->count; + } + } + qsort(pr, nb_pc_records, sizeof(PCRecord *), pc_rec_cmp); + + f = fopen("/tmp/kqemu.stats", "w"); + if (!f) { + perror("/tmp/kqemu.stats"); + exit(1); + } + fprintf(f, "total: %" PRId64 "\n", total); + sum = 0; + for(i = 0; i < nb_pc_records; i++) { + r = pr[i]; + sum += r->count; + fprintf(f, "%08lx: %" PRId64 " %0.2f%% %0.2f%%\n", + r->pc, + r->count, + (double)r->count / (double)total * 100.0, + (double)sum / (double)total * 100.0); + } + fclose(f); + free(pr); + + kqemu_record_flush(); +} +#endif + +static inline void kqemu_load_seg(struct kqemu_segment_cache *ksc, + const SegmentCache *sc) +{ + ksc->selector = sc->selector; + ksc->flags = sc->flags; + ksc->limit = sc->limit; + ksc->base = sc->base; +} + +static inline void kqemu_save_seg(SegmentCache *sc, + const struct kqemu_segment_cache *ksc) +{ + sc->selector = ksc->selector; + sc->flags = ksc->flags; + sc->limit = ksc->limit; + sc->base = ksc->base; +} + +int kqemu_cpu_exec(CPUState *env) +{ + struct kqemu_cpu_state kcpu_state, *kenv = &kcpu_state; + int ret, cpl, i; +#ifdef CONFIG_PROFILER + int64_t ti; +#endif +#ifdef _WIN32 + DWORD temp; +#endif + +#ifdef CONFIG_PROFILER + ti = profile_getclock(); +#endif + LOG_INT("kqemu: cpu_exec: enter\n"); + LOG_INT_STATE(env); + for(i = 0; i < CPU_NB_REGS; i++) + kenv->regs[i] = env->regs[i]; + kenv->eip = env->eip; + kenv->eflags = env->eflags; + for(i = 0; i < 6; i++) + kqemu_load_seg(&kenv->segs[i], &env->segs[i]); + kqemu_load_seg(&kenv->ldt, &env->ldt); + kqemu_load_seg(&kenv->tr, &env->tr); + kqemu_load_seg(&kenv->gdt, &env->gdt); + kqemu_load_seg(&kenv->idt, &env->idt); + kenv->cr0 = env->cr[0]; + kenv->cr2 = env->cr[2]; + kenv->cr3 = env->cr[3]; + kenv->cr4 = env->cr[4]; + kenv->a20_mask = env->a20_mask; + kenv->efer = env->efer; + kenv->tsc_offset = 0; + kenv->star = env->star; + kenv->sysenter_cs = env->sysenter_cs; + kenv->sysenter_esp = env->sysenter_esp; + kenv->sysenter_eip = env->sysenter_eip; +#ifdef TARGET_X86_64 + kenv->lstar = env->lstar; + kenv->cstar = env->cstar; + kenv->fmask = env->fmask; + kenv->kernelgsbase = env->kernelgsbase; +#endif + if (env->dr[7] & 0xff) { + kenv->dr7 = env->dr[7]; + kenv->dr0 = env->dr[0]; + kenv->dr1 = env->dr[1]; + kenv->dr2 = env->dr[2]; + kenv->dr3 = env->dr[3]; + } else { + kenv->dr7 = 0; + } + kenv->dr6 = env->dr[6]; + cpl = (env->hflags & HF_CPL_MASK); + kenv->cpl = cpl; + kenv->nb_pages_to_flush = nb_pages_to_flush; + kenv->user_only = (env->kqemu_enabled == 1); + kenv->nb_ram_pages_to_update = nb_ram_pages_to_update; + nb_ram_pages_to_update = 0; + kenv->nb_modified_ram_pages = nb_modified_ram_pages; + + kqemu_reset_modified_ram_pages(); + + if (env->cpuid_features & CPUID_FXSR) + restore_native_fp_fxrstor(env); + else + restore_native_fp_frstor(env); + +#ifdef _WIN32 + if (DeviceIoControl(kqemu_fd, KQEMU_EXEC, + kenv, sizeof(struct kqemu_cpu_state), + kenv, sizeof(struct kqemu_cpu_state), + &temp, NULL)) { + ret = kenv->retval; + } else { + ret = -1; + } +#else + ioctl(kqemu_fd, KQEMU_EXEC, kenv); + ret = kenv->retval; +#endif + if (env->cpuid_features & CPUID_FXSR) + save_native_fp_fxsave(env); + else + save_native_fp_fsave(env); + + for(i = 0; i < CPU_NB_REGS; i++) + env->regs[i] = kenv->regs[i]; + env->eip = kenv->eip; + env->eflags = kenv->eflags; + for(i = 0; i < 6; i++) + kqemu_save_seg(&env->segs[i], &kenv->segs[i]); + cpu_x86_set_cpl(env, kenv->cpl); + kqemu_save_seg(&env->ldt, &kenv->ldt); + env->cr[0] = kenv->cr0; + env->cr[4] = kenv->cr4; + env->cr[3] = kenv->cr3; + env->cr[2] = kenv->cr2; + env->dr[6] = kenv->dr6; +#ifdef TARGET_X86_64 + env->kernelgsbase = kenv->kernelgsbase; +#endif + + /* flush pages as indicated by kqemu */ + if (kenv->nb_pages_to_flush >= KQEMU_FLUSH_ALL) { + tlb_flush(env, 1); + } else { + for(i = 0; i < kenv->nb_pages_to_flush; i++) { + tlb_flush_page(env, pages_to_flush[i]); + } + } + nb_pages_to_flush = 0; + +#ifdef CONFIG_PROFILER + kqemu_time += profile_getclock() - ti; + kqemu_exec_count++; +#endif + + if (kenv->nb_ram_pages_to_update > 0) { + cpu_tlb_update_dirty(env); + } + + if (kenv->nb_modified_ram_pages > 0) { + for(i = 0; i < kenv->nb_modified_ram_pages; i++) { + unsigned long addr; + addr = modified_ram_pages[i]; + tb_invalidate_phys_page_range(addr, addr + TARGET_PAGE_SIZE, 0); + } + } + + /* restore the hidden flags */ + { + unsigned int new_hflags; +#ifdef TARGET_X86_64 + if ((env->hflags & HF_LMA_MASK) && + (env->segs[R_CS].flags & DESC_L_MASK)) { + /* long mode */ + new_hflags = HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK; + } else +#endif + { + /* legacy / compatibility case */ + new_hflags = (env->segs[R_CS].flags & DESC_B_MASK) + >> (DESC_B_SHIFT - HF_CS32_SHIFT); + new_hflags |= (env->segs[R_SS].flags & DESC_B_MASK) + >> (DESC_B_SHIFT - HF_SS32_SHIFT); + if (!(env->cr[0] & CR0_PE_MASK) || + (env->eflags & VM_MASK) || + !(env->hflags & HF_CS32_MASK)) { + /* XXX: try to avoid this test. The problem comes from the + fact that is real mode or vm86 mode we only modify the + 'base' and 'selector' fields of the segment cache to go + faster. A solution may be to force addseg to one in + translate-i386.c. */ + new_hflags |= HF_ADDSEG_MASK; + } else { + new_hflags |= ((env->segs[R_DS].base | + env->segs[R_ES].base | + env->segs[R_SS].base) != 0) << + HF_ADDSEG_SHIFT; + } + } + env->hflags = (env->hflags & + ~(HF_CS32_MASK | HF_SS32_MASK | HF_CS64_MASK | HF_ADDSEG_MASK)) | + new_hflags; + } + /* update FPU flags */ + env->hflags = (env->hflags & ~(HF_MP_MASK | HF_EM_MASK | HF_TS_MASK)) | + ((env->cr[0] << (HF_MP_SHIFT - 1)) & (HF_MP_MASK | HF_EM_MASK | HF_TS_MASK)); + if (env->cr[4] & CR4_OSFXSR_MASK) + env->hflags |= HF_OSFXSR_MASK; + else + env->hflags &= ~HF_OSFXSR_MASK; + + LOG_INT("kqemu: kqemu_cpu_exec: ret=0x%x\n", ret); + if (ret == KQEMU_RET_SYSCALL) { + /* syscall instruction */ + return do_syscall(env, kenv); + } else + if ((ret & 0xff00) == KQEMU_RET_INT) { + env->exception_index = ret & 0xff; + env->error_code = 0; + env->exception_is_int = 1; + env->exception_next_eip = kenv->next_eip; +#ifdef CONFIG_PROFILER + kqemu_ret_int_count++; +#endif + LOG_INT("kqemu: interrupt v=%02x:\n", env->exception_index); + LOG_INT_STATE(env); + return 1; + } else if ((ret & 0xff00) == KQEMU_RET_EXCEPTION) { + env->exception_index = ret & 0xff; + env->error_code = kenv->error_code; + env->exception_is_int = 0; + env->exception_next_eip = 0; +#ifdef CONFIG_PROFILER + kqemu_ret_excp_count++; +#endif + LOG_INT("kqemu: exception v=%02x e=%04x:\n", + env->exception_index, env->error_code); + LOG_INT_STATE(env); + return 1; + } else if (ret == KQEMU_RET_INTR) { +#ifdef CONFIG_PROFILER + kqemu_ret_intr_count++; +#endif + LOG_INT_STATE(env); + return 0; + } else if (ret == KQEMU_RET_SOFTMMU) { +#ifdef CONFIG_PROFILER + { + unsigned long pc = env->eip + env->segs[R_CS].base; + kqemu_record_pc(pc); + } +#endif + LOG_INT_STATE(env); + return 2; + } else { + cpu_dump_state(env, stderr, fprintf, 0); + fprintf(stderr, "Unsupported return value: 0x%x\n", ret); + exit(1); + } + return 0; +} + +void kqemu_cpu_interrupt(CPUState *env) +{ +#if defined(_WIN32) + /* cancelling the I/O request causes KQEMU to finish executing the + current block and successfully returning. */ + CancelIo(kqemu_fd); +#endif +} + +/* + QEMU paravirtualization interface. The current interface only + allows to modify the IF and IOPL flags when running in + kqemu. + + At this point it is not very satisfactory. I leave it for reference + as it adds little complexity. +*/ + +#define QPI_COMM_PAGE_PHYS_ADDR 0xff000000 + +static uint32_t qpi_mem_readb(void *opaque, target_phys_addr_t addr) +{ + return 0; +} + +static uint32_t qpi_mem_readw(void *opaque, target_phys_addr_t addr) +{ + return 0; +} + +static void qpi_mem_writeb(void *opaque, target_phys_addr_t addr, uint32_t val) +{ +} + +static void qpi_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t val) +{ +} + +static uint32_t qpi_mem_readl(void *opaque, target_phys_addr_t addr) +{ + CPUState *env; + + env = cpu_single_env; + if (!env) + return 0; + return env->eflags & (IF_MASK | IOPL_MASK); +} + +/* Note: after writing to this address, the guest code must make sure + it is exiting the current TB. pushf/popf can be used for that + purpose. */ +static void qpi_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t val) +{ + CPUState *env; + + env = cpu_single_env; + if (!env) + return; + env->eflags = (env->eflags & ~(IF_MASK | IOPL_MASK)) | + (val & (IF_MASK | IOPL_MASK)); +} + +static CPUReadMemoryFunc *qpi_mem_read[3] = { + qpi_mem_readb, + qpi_mem_readw, + qpi_mem_readl, +}; + +static CPUWriteMemoryFunc *qpi_mem_write[3] = { + qpi_mem_writeb, + qpi_mem_writew, + qpi_mem_writel, +}; + +static void qpi_init(void) +{ + kqemu_comm_base = 0xff000000 | 1; + qpi_io_memory = cpu_register_io_memory(0, + qpi_mem_read, + qpi_mem_write, NULL); + cpu_register_physical_memory(kqemu_comm_base & ~0xfff, + 0x1000, qpi_io_memory); +} +#endif diff --git a/testing/qemu/kqemu.patch b/testing/qemu/kqemu.patch new file mode 100644 index 00000000..337a356c --- /dev/null +++ b/testing/qemu/kqemu.patch @@ -0,0 +1,32 @@ +--- a/kqemu.c 2009-07-17 00:56:23.000000000 +0000 ++++ b/kqemu.c 2009-08-22 13:20:00.000000000 +0000 +@@ -93,9 +93,9 @@ + int qpi_io_memory; + uint32_t kqemu_comm_base; /* physical address of the QPI communication page */ + +-#define cpuid(index, eax, ebx, ecx, edx) \ ++#define cpuid(index, eax, ecx, edx) \ + asm volatile ("cpuid" \ +- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) \ ++ : "=a" (eax), "=c" (ecx), "=d" (edx) \ + : "0" (index)) + + #ifdef __x86_64__ +@@ -125,7 +125,7 @@ + static void kqemu_update_cpuid(CPUState *env) + { + int critical_features_mask, features, ext_features, ext_features_mask; +- uint32_t eax, ebx, ecx, edx; ++ uint32_t eax, ecx, edx; + + /* the following features are kept identical on the host and + target cpus because they are important for user code. Strictly +@@ -140,7 +140,7 @@ + features = 0; + ext_features = 0; + } else { +- cpuid(1, eax, ebx, ecx, edx); ++ cpuid(1, eax, ecx, edx); + features = edx; + ext_features = ecx; + } diff --git a/testing/qemu/qemu-0.10.3-nopl-fix.patch b/testing/qemu/qemu-0.10.3-nopl-fix.patch new file mode 100644 index 00000000..bdef0efc --- /dev/null +++ b/testing/qemu/qemu-0.10.3-nopl-fix.patch @@ -0,0 +1,32 @@ +--- i386-dis.c 2009-03-22 00:05:48.000000000 +0100 ++++ i386-dis_new.c 2009-04-21 08:31:08.000000000 +0200 +@@ -784,13 +784,13 @@ + { "movhpX", EX, XM, SIMD_Fixup, 'l' }, + /* 18 */ + { GRP14 }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, +- { "(bad)", XX, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, ++ { "nopQ", Ev, XX, XX }, + /* 20 */ + { "movL", Rm, Cm, XX }, + { "movL", Rm, Dm, XX }, +@@ -1072,7 +1072,7 @@ + /* 0 1 2 3 4 5 6 7 8 9 a b c d e f */ + /* ------------------------------- */ + /* 00 */ 1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0f */ +- /* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, /* 1f */ ++ /* 10 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 1f */ + /* 20 */ 1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 2f */ + /* 30 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 3f */ + /* 40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 4f */ diff --git a/testing/qemu/qemu.pre-install b/testing/qemu/qemu.pre-install new file mode 100644 index 00000000..0119bacb --- /dev/null +++ b/testing/qemu/qemu.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +if ! getent group | grep -q "^kvm:"; then + addgroup kvm +fi + diff --git a/testing/rrdbot/APKBUILD b/testing/rrdbot/APKBUILD new file mode 100644 index 00000000..d1f1e17d --- /dev/null +++ b/testing/rrdbot/APKBUILD @@ -0,0 +1,46 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=rrdbot +pkgver=0.9.6 +pkgrel=0 +pkgdesc="an SNMP polling daemon which writes the polled values to an RRD database" +url="http://memberwebs.com/stef/software/rrdbot/" +license="BSD" +depends= +makedepends=rrdtool-dev +install="$pkgname.pre-install $pkgname.post-install" +subpackages="$pkgname-doc" +source="http://memberwebs.com/stef/software/rrdbot/rrdbot-$pkgver.tar.gz + rrdbotd.initd + rrdbotd.confd + " + +# append extra dependencies to -dev subpackage +# remove if not used. +# depends_dev="somepackage-dev" + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + # apply patches here +} + +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 + install -m755 -D "$srcdir"/rrdbotd.initd "$pkgdir"/etc/init.d/rrdbotd + install -m644 -D "$srcdir"/rrdbotd.confd "$pkgdir"/etc/conf.d/rrdbotd +} + +md5sums="8329c8f58136158b25c3179e825c66e6 rrdbot-0.9.6.tar.gz +e74785806860537d38a5863fc90b324f rrdbotd.initd +cbcac88f5b728b1441891947a4babbcb rrdbotd.confd" diff --git a/testing/rrdbot/rrdbot.post-install b/testing/rrdbot/rrdbot.post-install new file mode 100644 index 00000000..0586fcd5 --- /dev/null +++ b/testing/rrdbot/rrdbot.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +# add something which happends after install + diff --git a/testing/rrdbot/rrdbot.pre-install b/testing/rrdbot/rrdbot.pre-install new file mode 100644 index 00000000..2c35d02d --- /dev/null +++ b/testing/rrdbot/rrdbot.pre-install @@ -0,0 +1,7 @@ +#!/bin/sh + +# this user should be included in alpine-baselayout-1.2. +# included here for backward compability. +adduser -H -s /bin/false -D rrdbotd 2>/dev/null + +exit 0 diff --git a/testing/rrdbot/rrdbotd.confd b/testing/rrdbot/rrdbotd.confd new file mode 100644 index 00000000..486252b0 --- /dev/null +++ b/testing/rrdbot/rrdbotd.confd @@ -0,0 +1,7 @@ +# Sample conf.d file for alpine linux + +# +# Specify daemon options here. +# + +sample_opts="" diff --git a/testing/rrdbot/rrdbotd.initd b/testing/rrdbot/rrdbotd.initd new file mode 100644 index 00000000..d0fcdc4a --- /dev/null +++ b/testing/rrdbot/rrdbotd.initd @@ -0,0 +1,28 @@ +#!/sbin/runscript + +name=rrdbotd +daemon=/usr/sbin/$name +pidfile=${rrdbotd_pidfile:-/var/run/rrdbotd/rrdbotd.pid} + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting ${name}" + start-stop-daemon --start --quiet \ + --pidfile "$pidfile" \ + --chuid ${rrdbotd_user:-rrdbotd}:${rrdbotd_group:-rrdbotd} \ + --exec ${daemon} -- ${rrdbotd_opts} -p "$pidfile" + eend $? +} + +stop() { + ebegin "Stopping ${name}" + start-stop-daemon --stop --quiet \ + --pidfile "$pidfile" \ + --exec ${daemon} + eend $? +} + diff --git a/testing/rrdcollect/APKBUILD b/testing/rrdcollect/APKBUILD new file mode 100644 index 00000000..cf4c623d --- /dev/null +++ b/testing/rrdcollect/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=rrdcollect +pkgver=0.2.4 +pkgrel=0 +pkgdesc="Read system statistical data and feed it to RRDtool" +url="http://rrdcollect.sourceforge.net/" +license="GPL" +depends="uclibc libpcap rrdtool" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + +} + +md5sums="fd7ac95195e3e5cbab0677629505d9be rrdcollect-0.2.4.tar.gz" diff --git a/testing/sems/0001-makefile-fail-on-errors.patch b/testing/sems/0001-makefile-fail-on-errors.patch new file mode 100644 index 00000000..9dcbb230 --- /dev/null +++ b/testing/sems/0001-makefile-fail-on-errors.patch @@ -0,0 +1,170 @@ +From 7773c850b91d5c78679606065402caac29219dd8 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 18 Dec 2009 08:57:27 +0000 +Subject: [PATCH 1/2] makefile fail on errors + +--- + Makefile | 8 ++++---- + apps/Makefile | 12 ++++++------ + core/Makefile | 2 +- + core/plug-in/Makefile | 14 +++++++------- + core/plug-in/Makefile.app_module | 4 ++-- + 5 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/Makefile b/Makefile +index 7dd01de..c210761 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,21 +28,21 @@ clean: + + .PHONY: modules + modules: +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- $(MAKE) -C $$r all; \ ++ $(MAKE) -C $$r all || exit 1; \ + fi ; \ + done + + .PHONY: install + install: +- -@for r in $(imodules) "" ; do \ ++ @for r in $(imodules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- $(MAKE) -C $$r install; \ ++ $(MAKE) -C $$r install || exit 1; \ + fi ; \ + done + -@if [ -d ser-0.9.6-sems ]; then \ +diff --git a/apps/Makefile b/apps/Makefile +index 23c6437..57df618 100644 +--- a/apps/Makefile ++++ b/apps/Makefile +@@ -30,11 +30,11 @@ clean: + + .PHONY: modules + modules: +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- COREPATH=../$(COREPATH) $(MAKE) -C $$r all; \ ++ COREPATH=../$(COREPATH) $(MAKE) -C $$r all || exit 1; \ + fi ; \ + done + +@@ -43,20 +43,20 @@ install: install-bin install-cfg + + .PHONY: install-bin + install-bin: +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- COREPATH=../$(COREPATH) $(MAKE) -C $$r install; \ ++ COREPATH=../$(COREPATH) $(MAKE) -C $$r install || exit 1; \ + fi ; \ + done + + .PHONY: install-cfg + install-cfg: $(DESTDIR)$(cfg-target) +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- COREPATH=../$(COREPATH) $(MAKE) -C $$r install-cfg; \ ++ COREPATH=../$(COREPATH) $(MAKE) -C $$r install-cfg || exit 1; \ + fi ; \ + done +diff --git a/core/Makefile b/core/Makefile +index e3734d5..e1fe274 100644 +--- a/core/Makefile ++++ b/core/Makefile +@@ -11,7 +11,7 @@ AUDIO_FILES=$(notdir $(wildcard wav/*.wav)) + + .PHONY: all + all: ../Makefile.defs +- -@$(MAKE) deps && \ ++ @$(MAKE) deps && \ + $(MAKE) $(NAME) && \ + $(MAKE) modules + +diff --git a/core/plug-in/Makefile b/core/plug-in/Makefile +index e7d988c..cc38e2f 100644 +--- a/core/plug-in/Makefile ++++ b/core/plug-in/Makefile +@@ -1,6 +1,6 @@ + include ../../Makefile.defs + +-exclude_modules ?= g722 ++exclude_modules ?= g722 speex + #echo + + modules = $(filter-out $(subst ;, ,$(exclude_modules)) \ +@@ -25,30 +25,30 @@ clean: + + .PHONY: modules + modules: +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- $(MAKE) -C $$r all; \ ++ $(MAKE) -C $$r all || exit 1; \ + fi ; \ + done + + .PHONY: install + install: +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- $(MAKE) -C $$r install; \ ++ $(MAKE) -C $$r install || exit 1; \ + fi ; \ + done + + .PHONY: install-cfg + install-cfg: $(DESTDIR)$(cfg-target) +- -@for r in $(modules) "" ; do \ ++ @for r in $(modules) "" ; do \ + if [ -n "$$r" ]; then \ + echo "" ; \ + echo "" ; \ +- COREPATH=../$(COREPATH) $(MAKE) -C $$r install-cfg; \ ++ COREPATH=../$(COREPATH) $(MAKE) -C $$r install-cfg || exit 1; \ + fi ; \ + done +diff --git a/core/plug-in/Makefile.app_module b/core/plug-in/Makefile.app_module +index 8b7acaa..a6e1ef2 100644 +--- a/core/plug-in/Makefile.app_module ++++ b/core/plug-in/Makefile.app_module +@@ -27,12 +27,12 @@ depends = $(srcs:.cpp=.d) + + .PHONY: all + all: $(extra_target) +- -@$(MAKE) deps && \ ++ @$(MAKE) deps && \ + $(MAKE) $(lib_full_name) + + .PHONY: module_package + module_package: $(extra_target) +- -@$(MAKE) deps && \ ++ @$(MAKE) deps && \ + $(MAKE) $(lib_name) + + +-- +1.6.5.6 + diff --git a/testing/sems/0002-include-headers.patch b/testing/sems/0002-include-headers.patch new file mode 100644 index 00000000..5e9a2477 --- /dev/null +++ b/testing/sems/0002-include-headers.patch @@ -0,0 +1,116 @@ +From 43faa45d0455c5bb53a0f992ffc7bdf92c94c945 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 18 Dec 2009 08:58:18 +0000 +Subject: [PATCH 2/2] include headers + +--- + apps/annrecorder/AnnRecorder.cpp | 2 ++ + apps/callback/CallBack.cpp | 1 + + apps/diameter_client/ServerConnection.cpp | 1 + + apps/diameter_client/ServerConnection.h | 1 + + core/AmMediaProcessor.cpp | 1 + + core/AmRtpReceiver.cpp | 1 + + core/plug-in/sipctrl/udp_trsp.cpp | 1 + + core/plug-in/stats/query_stats.cxx | 1 + + 8 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/apps/annrecorder/AnnRecorder.cpp b/apps/annrecorder/AnnRecorder.cpp +index b32cd58..7ba9639 100644 +--- a/apps/annrecorder/AnnRecorder.cpp ++++ b/apps/annrecorder/AnnRecorder.cpp +@@ -25,6 +25,8 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + ++#include <unistd.h> ++ + #include "AnnRecorder.h" + #include "AmConfig.h" + #include "AmUtils.h" +diff --git a/apps/callback/CallBack.cpp b/apps/callback/CallBack.cpp +index 360e698..6019705 100644 +--- a/apps/callback/CallBack.cpp ++++ b/apps/callback/CallBack.cpp +@@ -32,6 +32,7 @@ + #include "AmPlugIn.h" + + #include <stdlib.h> ++#include <unistd.h> + + EXPORT_SESSION_FACTORY(CallBackFactory,MOD_NAME); + string CallBackFactory::gw_user; +diff --git a/apps/diameter_client/ServerConnection.cpp b/apps/diameter_client/ServerConnection.cpp +index 4157304..3e2a14f 100644 +--- a/apps/diameter_client/ServerConnection.cpp ++++ b/apps/diameter_client/ServerConnection.cpp +@@ -30,6 +30,7 @@ + #include "ampi/DiameterClientAPI.h" + #include "diameter_client.h" + ++#include <unistd.h> + #include <stdlib.h> + #include <string.h> + #include "log.h" +diff --git a/apps/diameter_client/ServerConnection.h b/apps/diameter_client/ServerConnection.h +index d797d15..0af146a 100644 +--- a/apps/diameter_client/ServerConnection.h ++++ b/apps/diameter_client/ServerConnection.h +@@ -38,6 +38,7 @@ + #include <vector> + #include <map> + #include <utility> ++#include <stdint.h> + using std::string; + using std::vector; + using std::map; +diff --git a/core/AmMediaProcessor.cpp b/core/AmMediaProcessor.cpp +index 9650c91..0da86b0 100644 +--- a/core/AmMediaProcessor.cpp ++++ b/core/AmMediaProcessor.cpp +@@ -29,6 +29,7 @@ + #include "AmSession.h" + #include "AmRtpStream.h" + ++#include <unistd.h> + #include <assert.h> + #include <sys/time.h> + #include <signal.h> +diff --git a/core/AmRtpReceiver.cpp b/core/AmRtpReceiver.cpp +index 5216b15..7f7fb4a 100644 +--- a/core/AmRtpReceiver.cpp ++++ b/core/AmRtpReceiver.cpp +@@ -37,6 +37,7 @@ + #include <strings.h> + #endif + ++#include <unistd.h> + #include <sys/time.h> + #include <sys/poll.h> + +diff --git a/core/plug-in/sipctrl/udp_trsp.cpp b/core/plug-in/sipctrl/udp_trsp.cpp +index 49a8358..74f00ae 100644 +--- a/core/plug-in/sipctrl/udp_trsp.cpp ++++ b/core/plug-in/sipctrl/udp_trsp.cpp +@@ -36,6 +36,7 @@ + #include <sys/param.h> + #include <arpa/inet.h> + ++#include <unistd.h> + #include <errno.h> + #include <string.h> + +diff --git a/core/plug-in/stats/query_stats.cxx b/core/plug-in/stats/query_stats.cxx +index 674f16c..10c498a 100644 +--- a/core/plug-in/stats/query_stats.cxx ++++ b/core/plug-in/stats/query_stats.cxx +@@ -7,6 +7,7 @@ + #include <netinet/in.h> + #include <arpa/inet.h> + #include <stdlib.h> ++#include <unistd.h> + + #include <map> + #include <string> +-- +1.6.5.6 + diff --git a/testing/sems/0003-cc-and-cflags.patch b/testing/sems/0003-cc-and-cflags.patch new file mode 100644 index 00000000..a17c1f77 --- /dev/null +++ b/testing/sems/0003-cc-and-cflags.patch @@ -0,0 +1,45 @@ +From b411106aa364fd13e87d85e94ade9eeb1d6aeb8e Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 18 Dec 2009 09:13:58 +0000 +Subject: [PATCH] cc and cflags + +--- + core/plug-in/binrpcctrl/Makefile | 2 +- + core/plug-in/gsm/gsm-1.0-pl10/Makefile | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/core/plug-in/binrpcctrl/Makefile b/core/plug-in/binrpcctrl/Makefile +index 71680f3..753779a 100644 +--- a/core/plug-in/binrpcctrl/Makefile ++++ b/core/plug-in/binrpcctrl/Makefile +@@ -35,7 +35,7 @@ libbinrpc: + $(MAKE) all + + $(LIBBINRPC_LIB)/libbinrpc.a: +- $(MAKE) -C $(LIBBINRPC_DIR) all CC=$(CC) LD=$(LD) AR=$(AR) ++ $(MAKE) -C $(LIBBINRPC_DIR) all CC="$(CC)" LD="$(LD)" AR="$(AR)" + + libbinrpc_clean: + $(MAKE) -C $(LIBBINRPC_DIR) clean +diff --git a/core/plug-in/gsm/gsm-1.0-pl10/Makefile b/core/plug-in/gsm/gsm-1.0-pl10/Makefile +index 396fb7f..6a1a1a1 100644 +--- a/core/plug-in/gsm/gsm-1.0-pl10/Makefile ++++ b/core/plug-in/gsm/gsm-1.0-pl10/Makefile +@@ -43,11 +43,11 @@ WAV49 = + # CC = /usr/lang/acc + # CCFLAGS = -c -O + +-CC = gcc -ansi -pedantic +-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -fPIC ++CC ?= gcc ++CCFLAGS += -ansi -pedantic -c -O2 -DNeedFunctionPrototypes=1 -fPIC + MODULE_CFLAGS = -I inc -DHAS_STDLIB_H + +-LD = $(CC) ++LD ?= $(CC) + + # LD = gcc + # LDFLAGS = +-- +1.6.5.6 + diff --git a/testing/sems/APKBUILD b/testing/sems/APKBUILD new file mode 100644 index 00000000..51c3a044 --- /dev/null +++ b/testing/sems/APKBUILD @@ -0,0 +1,61 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> +pkgname=sems +pkgver=1.1.1 +pkgrel=1 +pkgdesc="High performance, extensible media server for SIP (RFC3261) based VoIP services" +url="http://iptel.org/sems/" +license="GPL-2" +depends="kamailio" +makedepends="python-dev openssl-dev lame-dev" +install= +subpackages= +source="http://ftp.iptel.org/pub/$pkgname/1.1/$pkgver/src/$pkgname-$pkgver.tar.gz + 0001-makefile-fail-on-errors.patch + 0002-include-headers.patch + 0003-cc-and-cflags.patch + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + for i in "$srcdir"/*.patch; do + [ -f "$i" ] || continue + patch -p1 -i $i || return 1 + done + + sed -i -e 's:^cfg-target.*:cfg-target = $(cfg-dir):' \ + -e 's:^cfg-prefix.*:cfg-prefix = $(basedir):' \ + Makefile.defs \ + || return 1 +} + + +build() { + cd "$srcdir"/$pkgname-$pkgver + + make PREFIX=/usr \ + cfg-dir=/etc/sems/ \ + CC="$CC" CXX="$CXX" \ + exclude_modules+="ivr examples py_sems speex gateway echo g722" \ + WITH_MPG123DECODER=no \ + || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make PREFIX=/usr \ + cfg-dir=/etc/sems/ \ + exclude_modules+="ivr examples py_sems speex gateway echo g722" \ + DESTDIR="$pkgdir" \ + WITH_MPG123DECODER=no \ + install || return 1 + + # 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="4a6422d09ddadaf9eacd8cae8f0848d5 sems-1.1.1.tar.gz +f893ceef9295b593d2b1837a538b315a 0001-makefile-fail-on-errors.patch +3d217a6d217fa8704d108f23815d4b97 0002-include-headers.patch +0054e6ed7e11393e71204876179d3199 0003-cc-and-cflags.patch" diff --git a/testing/smartmontools/APKBUILD b/testing/smartmontools/APKBUILD new file mode 100644 index 00000000..8ba05087 --- /dev/null +++ b/testing/smartmontools/APKBUILD @@ -0,0 +1,31 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=smartmontools +pkgver=5.38 +pkgrel=0 +pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives." +url="http://smartmontools.sourceforge.net" +license="GPL" +depends= +makedepends= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + smartd.initd + smartd.confd + " + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir"/ install + rm -r "$pkgdir"/etc/rc.d + install -Dm755 ../smartd.initd "$pkgdir"/etc/init.d/smartd + install -Dm644 ../smartd.confd "$pkgdir"/etc/conf.d/smartd +} +md5sums="a282846532ecbd6b4a28072373b3a70b smartmontools-5.38.tar.gz +64e6fc908146b885aa3f88796edf72f3 smartd.initd +371cdb7cc9dc924b6d12224d66b193c6 smartd.confd" diff --git a/testing/smartmontools/smartd.confd b/testing/smartmontools/smartd.confd new file mode 100644 index 00000000..4b7db4df --- /dev/null +++ b/testing/smartmontools/smartd.confd @@ -0,0 +1,4 @@ +# /etc/conf.d/smartd: config file for /etc/init.d/smartd + +# Insert any other options needed +SMARTD_OPTS="" diff --git a/testing/smartmontools/smartd.initd b/testing/smartmontools/smartd.initd new file mode 100644 index 00000000..560e17d6 --- /dev/null +++ b/testing/smartmontools/smartd.initd @@ -0,0 +1,43 @@ +#!/sbin/runscript +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/smartmontools/files/smartd.rc,v 1.8 2009/10/11 00:43:58 vapier Exp $ + +depend() { + need localmount + after bootmisc +} + +opts="${opts} reload" + +checkconfig() { + if [ ! -f "/etc/smartd.conf" ] ; then + eerror "You should setup your /etc/smartd.conf file!" + eerror "See the smartd.conf(5) manpage." + return 1 + fi + return 0 +} + +start() { + checkconfig || return 1 + + ebegin "Starting S.M.A.R.T. monitoring daemon" + start-stop-daemon --start --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid \ + -- -p /var/run/smartd.pid ${SMARTD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping S.M.A.R.T. monitoring daemon" + start-stop-daemon --stop --exec /usr/sbin/smartd \ + --pidfile /var/run/smartd.pid + eend $? +} + +reload() { + ebegin "Reloading configuration" + start-stop-daemon --oknodo --stop --signal HUP --pidfile /var/run/smartd.pid smartd + eend $? +} diff --git a/testing/spandsp/APKBUILD b/testing/spandsp/APKBUILD new file mode 100644 index 00000000..dd1f227a --- /dev/null +++ b/testing/spandsp/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: +# Maintainer: +pkgname=spandsp +pkgver=0.0.5_pre4 +_ver=0.0.5pre4 +pkgrel=0 +pkgdesc="library to use DSP functions for telephony" +url="http://www.soft-switch.org/" +license="GPL" +depends="uclibc tiff" +makedepends="tiff-dev" +install= +subpackages="$pkgname-dev" +source="http://www.soft-switch.org/downloads/spandsp/$pkgname-$_ver.tgz" + +build() { + cd "$srcdir/$pkgname-0.0.5" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make -j1 DESTDIR="$pkgdir" install + +} + +md5sums="fe83ed37a7831f0dd38e7ef4e7e6fd9e spandsp-0.0.5pre4.tgz" diff --git a/testing/tcpflow/APKBUILD b/testing/tcpflow/APKBUILD new file mode 100644 index 00000000..24473036 --- /dev/null +++ b/testing/tcpflow/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=tcpflow +pkgver=0.21 +pkgrel=0 +pkgdesc="A Tool for monitoring, capturing and storing TCP connections flows" +url="http://www.circlemud.org/~jelson/software/tcpflow/" +license="GPL" +depends="libpcap" +makedepends="libpcap-dev" +install= +subpackages="$pkgname-doc" +source="http://www.circlemud.org/pub/jelson/tcpflow/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir"/$pkgname-$pkgver + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + +} + +md5sums="45a5aef6f043312315b7f342afc4a9c5 tcpflow-0.21.tar.gz" diff --git a/testing/twisted/APKBUILD b/testing/twisted/APKBUILD new file mode 100644 index 00000000..684db097 --- /dev/null +++ b/testing/twisted/APKBUILD @@ -0,0 +1,18 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=twisted +pkgver=8.2.0 +pkgrel=1 +pkgdesc="Asynchronous networking framework written in Python." +url="http://twistedmatrix.com/" +license="MIT" +depends="python pycrypto zope-interface" +makedepends="python-dev" +source="http://tmrc.mit.edu/mirror/$pkgname/Twisted/8.2/Twisted-$pkgver.tar.bz2" + +build () +{ + cd "$srcdir"/Twisted-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" || return 1 + install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE +} +md5sums="c85f151999df3ecf04c49a781b4438d2 Twisted-8.2.0.tar.bz2" diff --git a/testing/ucspi-tcp/APKBUILD b/testing/ucspi-tcp/APKBUILD new file mode 100644 index 00000000..9cdca875 --- /dev/null +++ b/testing/ucspi-tcp/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=ucspi-tcp +pkgver=0.88 +pkgrel=0 +pkgdesc="Easy-to-use command-line tools for building TCP client-server applications." +url="http://cr.yp.to/ucspi-tcp.html" +license="public-domain" +depends="" +makedepends="" +install= +subpackages="" +source="http://cr.yp.to/$pkgname/$pkgname-$pkgver.tar.gz + ucspi-tcp-0.88.a_record.patch + ucspi-tcp-0.88.errno.patch + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + for i in ../*.patch; + do + msg "Applying $i" + patch -p1 -i $i || return 1 + done +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc + echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/bin + for f in tcpserver tcprules tcprulescheck argv0 recordio tcpclient \ + *\@ tcpcat mconnect mconnect-io addcr delcr fixcrio \ + rblsmtpd; do + cp $f "$pkgdir"/usr/bin/$f + done +} + +md5sums="39b619147db54687c4a583a7a94c9163 ucspi-tcp-0.88.tar.gz +554ec0eb60f619667efde3fb5325310d ucspi-tcp-0.88.a_record.patch +759a11fafff188d9580be6498a028095 ucspi-tcp-0.88.errno.patch" diff --git a/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch new file mode 100644 index 00000000..903125ea --- /dev/null +++ b/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch @@ -0,0 +1,64 @@ +diff -ruN --exclude conf-* ucspi-tcp-0.88/rblsmtpd.c ucspi-tcp-0.88.fix/rblsmtpd.c +--- ucspi-tcp-0.88/rblsmtpd.c Sat Mar 18 10:18:42 2000 ++++ ucspi-tcp-0.88.fix/rblsmtpd.c Wed Aug 9 16:42:33 2000 +@@ -60,16 +60,54 @@ + + void rbl(char *base) + { ++ int i; ++ char *altreply = 0; + if (decision) return; + if (!stralloc_copy(&tmp,&ip_reverse)) nomem(); ++ i = str_chr(base, ':'); ++ if (base[i]) { ++ base[i] = 0; ++ altreply = base+i+1; ++ } + if (!stralloc_cats(&tmp,base)) nomem(); +- if (dns_txt(&text,&tmp) == -1) { +- flagmustnotbounce = 1; +- if (flagfailclosed) { +- if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); +- decision = 2; ++ if (altreply) { ++ if (dns_ip4(&text,&tmp) == -1) { ++ flagmustnotbounce = 1; ++ if (flagfailclosed) { ++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); ++ decision = 2; ++ } ++ return; ++ } ++ if (text.len) { ++ if(!stralloc_copys(&text, "")) nomem(); ++ while(*altreply) { ++ char *x; ++ i = str_chr(altreply, '%'); ++ if(!stralloc_catb(&text, altreply, i)) nomem(); ++ if(altreply[i] && ++ altreply[i+1]=='I' && ++ altreply[i+2]=='P' && ++ altreply[i+3]=='%') { ++ if(!stralloc_catb(&text, ip_env, str_len(ip_env))) nomem(); ++ altreply+=i+4; ++ } else if(altreply[i]) { ++ if(!stralloc_cats(&text, "%")) nomem(); ++ altreply+=i+1; ++ } else { ++ altreply+=i; ++ } ++ } ++ } ++ } else { ++ if (dns_txt(&text,&tmp) == -1) { ++ flagmustnotbounce = 1; ++ if (flagfailclosed) { ++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); ++ decision = 2; ++ } ++ return; + } +- return; + } + if (text.len) + if (flagrblbounce) diff --git a/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch new file mode 100644 index 00000000..7654c783 --- /dev/null +++ b/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch @@ -0,0 +1,12 @@ +diff -u ucspi-tcp-0.88.old/error.h ucspi-tcp-0.88/error.h +--- ucspi-tcp-0.88.old/error.h 2000-03-18 09:18:20.000000000 -0600 ++++ ucspi-tcp-0.88/error.h 2003-01-08 13:39:12.000000000 -0600 +@@ -1,7 +1,7 @@ + #ifndef ERROR_H + #define ERROR_H + +-extern int errno; ++#include <errno.h> + + extern int error_intr; + extern int error_nomem; diff --git a/testing/udev/APKBUILD b/testing/udev/APKBUILD new file mode 100644 index 00000000..d25b5faa --- /dev/null +++ b/testing/udev/APKBUILD @@ -0,0 +1,41 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=udev +pkgver=142 +pkgrel=0 +pkgdesc="The userspace dev tools (udev)" +url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html" +license="GPL" +subpackages="$pkgname-dev $pkgname-doc" +depends="uclibc" +makedepends="" +install= +source="http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgname-$pkgver.tar.bz2 + write_root_link_rule + move_tmp_persistent_rules.sh + udev-mount.initd + udev-postmount.initd + udev.initd" + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --exec-prefix="" \ + --with-libdir-name=/lib + make || return 1 + make DESTDIR="$pkgdir" install + chmod +x "$pkgdir"/lib/udev/write_*_rules + for _i in write_root_link_rule move_tmp_persistent_rules.sh; do + install -Dm755 ../$_i "$pkgdir"/lib/udev/$_i + done + for _i in udev udev-mount udev-postmount; do + install -Dm755 ../$_i.initd "$pkgdir"/etc/init.d/$_i + done +} +md5sums="3edc4cf383dccb06d866c5156d59ddd5 udev-142.tar.bz2 +c9de7581099cdfdcd105666cd98a0f0a write_root_link_rule +7bf11e11519117f743483c73e0767750 move_tmp_persistent_rules.sh +12760065a66ccbddc9e3a86a6cd2231c udev-mount.initd +bffb42859ca508cfe1d9fa0a169ba810 udev-postmount.initd +e913f8f122e8879252d2a05de7dd7499 udev.initd" diff --git a/testing/udev/move_tmp_persistent_rules.sh b/testing/udev/move_tmp_persistent_rules.sh new file mode 100755 index 00000000..1a025979 --- /dev/null +++ b/testing/udev/move_tmp_persistent_rules.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +. /etc/init.d/functions.sh + +# store persistent-rules that got created while booting +# when / was still read-only +store_persistent_rules() { + local file dest + + for file in /dev/.udev/tmp-rules--*; do + dest=${file##*tmp-rules--} + [ "$dest" = '*' ] && break + type=${dest##70-persistent-} + type=${type%%.rules} + ebegin "Saving udev persistent ${type} rules to /etc/udev/rules.d" + cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file" + eend $? "Failed moving persistent rules!" + done +} + +store_persistent_rules + +# vim:ts=4 diff --git a/testing/udev/udev-mount.initd b/testing/udev/udev-mount.initd new file mode 100755 index 00000000..839565a5 --- /dev/null +++ b/testing/udev/udev-mount.initd @@ -0,0 +1,83 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Mount tmpfs on /dev" +[ -e /etc/conf.d/udev ] && . /etc/conf.d/udev + +mount_dev_directory() +{ + # No options are processed here as they should all be in /etc/fstab + ebegin "Mounting /dev" + if fstabinfo --quiet /dev; then + mount -n /dev + else + # Some devices require exec, Bug #92921 + mount -n -t tmpfs -o "exec,nosuid,mode=0755,size=10M" udev /dev + fi + eend $? +} + +seed_dev() +{ + # Seed /dev with some things that we know we need + + # creating /dev/console, /dev/tty and /dev/tty1 to be able to write + # to $CONSOLE with/without bootsplash before udevd creates it + [ -c /dev/console ] || mknod -m 600 /dev/console c 5 1 + [ -c /dev/tty1 ] || mknod -m 620 /dev/tty1 c 4 1 + [ -c /dev/tty ] || mknod -m 666 /dev/tty c 5 0 + + # udevd will dup its stdin/stdout/stderr to /dev/null + # and we do not want a file which gets buffered in ram + [ -c /dev/null ] || mknod -m 666 /dev/null c 1 3 + + # so udev can add its start-message to dmesg + [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11 + + # copy over any persistant things + if [ -d /lib/udev/devices ]; then + cp -RPp /lib/udev/devices/* /dev 2>/dev/null + fi + + # Not provided by sysfs but needed + ln -snf /proc/self/fd /dev/fd + ln -snf fd/0 /dev/stdin + ln -snf fd/1 /dev/stdout + ln -snf fd/2 /dev/stderr + [ -e /proc/kcore ] && ln -snf /proc/kcore /dev/core + + # Create problematic directories + mkdir -p /dev/pts /dev/shm + return 0 +} + + +start() +{ + # do not run this on too old baselayout - udev-addon is already loaded! + if [ ! -f /etc/init.d/sysfs ]; then + eerror "The $SVCNAME init-script is written for baselayout-2!" + eerror "Please do not use it with baselayout-1!". + return 1 + fi + + _start +} + +_start() +{ + mount_dev_directory || return 1 + + # Selinux lovin; /selinux should be mounted by selinux-patched init + if [ -x /sbin/restorecon -a -c /selinux/null ]; then + restorecon /dev > /selinux/null + fi + + # make sure it exists + mkdir -p /dev/.udev + + seed_dev + + return 0 +} diff --git a/testing/udev/udev-postmount.initd b/testing/udev/udev-postmount.initd new file mode 100755 index 00000000..96beb845 --- /dev/null +++ b/testing/udev/udev-postmount.initd @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/files/136/udev-postmount.initd,v 1.3 2009/02/23 16:30:53 zzam Exp $ + +depend() { + need localmount +} + +dir_writeable() +{ + mkdir "$1"/.test.$$ 2>/dev/null && rmdir "$1"/.test.$$ +} + +start() { + # check if this system uses udev + [ -d /dev/.udev/ ] || return 0 + + # only continue if rules-directory is writable + dir_writeable /etc/udev/rules.d || return 0 + + # store persistent-rules that got created while booting + # when / was still read-only + /lib/udev/move_tmp_persistent_rules.sh +} + +stop() { + : +} + +# vim:ts=4 diff --git a/testing/udev/udev-start.sh b/testing/udev/udev-start.sh new file mode 100644 index 00000000..87c3a6ac --- /dev/null +++ b/testing/udev/udev-start.sh @@ -0,0 +1,51 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +[ -e /etc/conf.d/udev ] && . /etc/conf.d/udev + +compat_volume_nodes() +{ + # Only do this for baselayout-1* + # This check is likely to get false positives due to some multilib stuff, + # but that should not matter, as this can only happen on old openrc versions + # no longer available as ebuilds. + if [ ! -e /lib/librc.so ]; then + + # Create nodes that udev can't + [ -x /sbin/lvm ] && \ + /sbin/lvm vgscan -P --mknodes --ignorelockingfailure &>/dev/null + # Running evms_activate on a LiveCD causes lots of headaches + [ -z "${CDBOOT}" -a -x /sbin/evms_activate ] && \ + /sbin/evms_activate -q &>/dev/null + fi +} + +start_initd() +{ + ( + . /etc/init.d/"$1" + _start + ) +} + +# mount tmpfs on /dev +start_initd udev-mount || exit 1 + +# Create a file so that our rc system knows it's still in sysinit. +# Existance means init scripts will not directly run. +# rc will remove the file when done with sysinit. +# this is no longer needed as of openrc-0.4.0 +touch /dev/.rcsysinit + +# load device tarball +start_initd udev-dev-tarball + +# run udevd +start_initd udev || exit 1 + +compat_volume_nodes + +# inject into boot runlevel +IN_HOTPLUG=1 /etc/init.d/udev-postmount start >/dev/null 2>&1 + +# udev started successfully diff --git a/testing/udev/udev.initd b/testing/udev/udev.initd new file mode 100755 index 00000000..26774ab4 --- /dev/null +++ b/testing/udev/udev.initd @@ -0,0 +1,239 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Run udevd and create the device-nodes" + +[ -e /etc/udev/udev.conf ] && . /etc/udev/udev.conf + +rc_coldplug=${rc_coldplug:-${RC_COLDPLUG:-YES}} + +depend() +{ + provide dev + if yesno "${rc_device_tarball:-no}"; then + need sysfs udev-mount udev-dev-tarball + else + need sysfs udev-mount + fi + before checkfs fsck + + # udev does not work inside vservers + keyword novserver +} + +cleanup() +{ + # fail more gracely and not leave udevd running + start-stop-daemon --stop --exec /sbin/udevd + exit 1 +} + +disable_hotplug_agent() +{ + if [ -e /proc/sys/kernel/hotplug ]; then + echo "" >/proc/sys/kernel/hotplug + fi +} + +root_link() +{ + /lib/udev/write_root_link_rule +} + +rules_disable_switch() +{ + # this function disables rules files + # by creating new files with the same name + # in a temp rules directory with higher priority + local d=/dev/.udev/rules.d bname="$1" onoff="$2" + + if yesno "${onoff}"; then + mkdir -p "$d" + echo "# This file disables ${bname} due to /etc/conf.d/udev" \ + > "${d}/${bname}" + else + rm -f "${d}/${bname}" + fi +} + +start_udevd() +{ + # load unix domain sockets if built as module, Bug #221253 + if [ -e /proc/modules ] ; then + modprobe -q unix 2>/dev/null + fi + ebegin "Starting udevd" + start-stop-daemon --start --exec /sbin/udevd -- --daemon + eend $? +} + +# populate /dev with devices already found by the kernel +populate_dev() +{ + if get_bootparam "nocoldplug" ; then + rc_coldplug="NO" + ewarn "Skipping udev coldplug as requested in kernel cmdline" + fi + + ebegin "Populating /dev with existing devices through uevents" + if yesno "${rc_coldplug}"; then + udevadm trigger + else + # Do not run any init-scripts, Bug #206518 + udevadm control --env do_not_run_plug_service=1 + + # only create device nodes + udevadm trigger --attr-match=dev + + # run persistent-net stuff, bug 191466 + udevadm trigger --subsystem-match=net + fi + eend $? + + ebegin "Waiting for uevents to be processed" + udevadm settle --timeout=${udev_settle_timeout:-60} + eend $? + + udevadm control --env do_not_run_plug_service= + return 0 +} + +# for debugging +start_udevmonitor() +{ + yesno "${udev_monitor:-no}" || return 0 + + udevmonitor_log=/dev/.udev/udevmonitor.log + udevmonitor_pid=/dev/.udev/udevmonitor.pid + + einfo "udev: Running udevadm monitor ${udev_monitor_opts} to get a log of all events" + start-stop-daemon --start --stdout "${udevmonitor_log}" \ + --make-pidfile --pidfile "${udevmonitor_pid}" \ + --background --exec /sbin/udevadm -- monitor ${udev_monitor_opts} +} + +stop_udevmonitor() +{ + yesno "${udev_monitor:-no}" || return 0 + + if yesno "${udev_monitor_keep_running:-no}"; then + ewarn "udev: udevmonitor is still running and writing into ${udevmonitor_log}" + else + einfo "udev: Stopping udevmonitor: Log is in ${udevmonitor_log}" + start-stop-daemon --stop --pidfile "${udevmonitor_pid}" --exec /sbin/udevadm + fi +} + +display_hotplugged_services() { + local svcfile= svc= services= + for svcfile in "${RC_SVCDIR}"/hotplugged/*; do + svc="${svcfile##*/}" + [ -x "${svcfile}" ] || continue + + # do not display this - better: do only inject it later :) + [ "$svc" = "udev-postmount" ] && continue + + services="${services} ${svc}" + done + [ -n "${services}" ] && einfo "Device initiated services:${HILITE}${services}${NORMAL}" +} + +inject_postmount_initd() { + if ! mark_service_hotplugged udev-postmount; then + IN_HOTPLUG=1 /etc/init.d/udev-postmount start >/dev/null 2>&1 + fi + #einfo "Injected udev-postmount service" +} + +check_persistent_net() +{ + # check if there are problems with persistent-net + local syspath= devs= problem=false + for syspath in /sys/class/net/*_rename*; do + if [ -d "${syspath}" ]; then + devs="${devs} ${syspath##*/}" + problem=true + fi + done + + ${problem} || return 0 + + eerror "UDEV: Your system has a problem assigning persistent names" + eerror "to these network interfaces: ${devs}" + + einfo "Checking persistent-net rules:" + # the sed-expression lists all duplicate lines + # from the input, like "uniq -d" does, but uniq + # is installed into /usr/bin and not available at boot. + dups=$( + RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules' + . /lib/udev/rule_generator.functions + find_all_rules 'NAME=' '.*' | \ + tr ' ' '\n' | \ + sort | \ + sed '$!N; s/^\(.*\)\n\1$/\1/; t; D' + ) + if [ -n "${dups}" ]; then + ewarn "The rules create multiple entries assigning these names:" + eindent + ewarn "${dups}" + eoutdent + else + ewarn "Found no duplicate names in persistent-net rules," + ewarn "there must be some other problem!" + fi + return 1 +} + +check_udev_works() +{ + # should exist on every system, else udev failed + if [ ! -e /dev/zero ]; then + eerror "Assuming udev failed somewhere, as /dev/zero does not exist." + return 1 + fi + return 0 +} + +start() +{ + # do not run this on old baselayout where udev-addon gets loaded + if [ ! -f /etc/init.d/sysfs ]; then + eerror "The $SVCNAME init-script is written for baselayout-2!" + eerror "Please do not use it with baselayout-1!". + return 1 + fi + + _start + + display_hotplugged_services + + inject_postmount_initd +} + +_start() +{ + root_link + rules_disable_switch 75-persistent-net-generator.rules "${persistent_net_disable:-no}" + rules_disable_switch 75-cd-aliases-generator.rules ${persistent_cd_disable:-no} + + disable_hotplug_agent + start_udevd || cleanup + start_udevmonitor + populate_dev || cleanup + + check_persistent_net + + check_udev_works || cleanup + stop_udevmonitor + + return 0 +} + +stop() { + ebegin "Stopping udevd" + start-stop-daemon --stop --exec /sbin/udevd + eend $? +} + diff --git a/testing/udev/write_root_link_rule b/testing/udev/write_root_link_rule new file mode 100755 index 00000000..8eaea117 --- /dev/null +++ b/testing/udev/write_root_link_rule @@ -0,0 +1,29 @@ +#!/bin/sh +# +# This script should run before doing udevtrigger at boot. +# It will create a rule matching the device directory / is on, and +# creating /dev/root symlink pointing on its device node. +# +# This is especially useful for hal looking at /proc/mounts containing +# a line listing /dev/root as device: +# /dev/root / reiserfs rw 0 0 +# +# 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 version 2 of the License. +# +# (c) 2007-2008 Matthias Schwarzott <zzam@gentoo.org> + +eval $(udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/) + +[ $? = 0 ] || exit 0 +[ "$ROOT_MAJOR" = 0 ] && exit 0 + +DIR=/dev/.udev/rules.d +[ -d "$DIR" ] || mkdir -p "$DIR" +RULES=$DIR/10-root-link.rules + +echo "# Created by /lib/udev/write_root_link_rule" > "${RULES}" +echo "# This rule should create /dev/root as link to real root device." >> "${RULES}" +echo "SUBSYSTEM==\"block\", ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", SYMLINK+=\"root\"" >> "${RULES}" + diff --git a/testing/ulogd/APKBUILD b/testing/ulogd/APKBUILD new file mode 100644 index 00000000..6dad6b8d --- /dev/null +++ b/testing/ulogd/APKBUILD @@ -0,0 +1,49 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +pkgname=ulogd +pkgver=2.0.0_beta3 +_pkgver=2.0.0beta3 +pkgrel=1 +pkgdesc="A userspace logging daemon for netfilter/iptables related logging" +url="http://netfilter.org/projects/ulogd/index.html" +license="GPL" +depends= +makedepends="sqlite-dev mysql-dev postgresql-dev libpcap-dev libnfnetlink-dev +libnetfilter_conntrack-dev libnetfilter_log-dev pkgconfig openssl-dev" +subpackages="$pkgname-doc $pkgname-dev $pkgname-sqlite $pkgname-pgsql $pkgname-mysql" +source="http://netfilter.org/projects/ulogd/files/ulogd-2.0.0beta3.tar.bz2 + ulogd.initd" + +build() { + cd "$srcdir/$pkgname-$_pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + install -Dm644 ulogd.conf "$pkgdir"/etc/ulogd.conf + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname +} + +sqlite() { + depends="$pkgname sqlite" + mkdir -p "$subpkgdir"/usr/lib/ulogd/ + mv "$pkgdir"/usr/lib/ulogd/ulogd_output_SQLITE3.so "$subpkgdir"/usr/lib/ulogd/ +} + +pgsql() { + depends="$pkgname libpq" + mkdir -p "$subpkgdir"/usr/lib/ulogd/ + mv "$pkgdir"/usr/lib/ulogd/ulogd_output_PGSQL.so "$subpkgdir"/usr/lib/ulogd/ +} + +mysql() { + depends="$pkgname libmysqlclient openssl" + mkdir -p "$subpkgdir"/usr/lib/ulogd/ + mv "$pkgdir"/usr/lib/ulogd/ulogd_output_MYSQL.so "$subpkgdir"/usr/lib/ulogd/ +} + + +md5sums="be8137d3b7ae70ebbce7ca8852b9e901 ulogd-2.0.0beta3.tar.bz2 +5eedaae6102a4e90b3b89f051f54fbf1 ulogd.initd" diff --git a/testing/ulogd/ulogd.initd b/testing/ulogd/ulogd.initd new file mode 100644 index 00000000..4413327b --- /dev/null +++ b/testing/ulogd/ulogd.initd @@ -0,0 +1,38 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/app-admin/ulogd/files/ulogd,v 1.2 2004/07/13 16:32:25 aliz Exp $ + +opts="reload" + +depend() { + need net + after firewall +} + +checkconfig() { + if [ ! -e /etc/ulogd.conf ]; then + eerror "You need /etc/ulogd.conf" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting ulogd" + start-stop-daemon --start --quiet --exec /usr/sbin/ulogd >/dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping ulogd" + start-stop-daemon --stop --quiet --exec /usr/sbin/ulogd >/dev/null 2>&1 + eend $? +} + +reload() { + ebegin "Reloading ulogd.conf file" + killall -HUP ulogd &>/dev/null + eend $? +} + diff --git a/testing/umix/APKBUILD b/testing/umix/APKBUILD new file mode 100644 index 00000000..7eb262f7 --- /dev/null +++ b/testing/umix/APKBUILD @@ -0,0 +1,30 @@ +# Contributor: Michael Mason <ms13sp@gmail.com> +# Maintainer: Michael Mason <ms13sp@gmail.com> +pkgname=umix +pkgver=1.0.2 +pkgrel=0 +pkgdesc="Program for adjusting soundcard volumes" +url="http://umix.sf.net" +license="GPL" +depends= +makedepends="ncurses-dev" +install= +subpackages="$pkgname-doc" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} + +md5sums="e38fc288273cc8b5b34f8769f06b32ee umix-1.0.2.tar.gz" diff --git a/testing/vlc/APKBUILD b/testing/vlc/APKBUILD new file mode 100644 index 00000000..d28ddf07 --- /dev/null +++ b/testing/vlc/APKBUILD @@ -0,0 +1,90 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=vlc +pkgver=1.0.0 +pkgrel=0 +pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" +url="http://www.videolan.org/vlc/" +license="GPL-2" +subpackages="$pkgname-dev $pkgname-doc" +#depends="libnotify a52dec fluidsynth zvbi libdvbpsi lirc-utils libdca hal +# libproxy sdl_image libdvdnav>=4.1.3 lua libxv libv4l libcddb smbclient +# libmatroska taglib sysfsutils libmpcdec ffmpeg>=0.5 libshout libmad +# qt fribidi libmpeg2 libmodplug avahi ttf-dejavu" +depends="ttf-dejavu" +makedepends=" + a52dec-dev + alsa-lib-dev + dbus-dev + ffmpeg-dev + fribidi-dev + gtk+-dev + libgcrypt-dev + libice-dev + libiconv-dev + libmad-dev + libmpeg2-dev + libnotify-dev + libogg-dev + libsm-dev + libx11-dev + libxext-dev + libxv-dev + lua-dev + mesa-dev + pkgconfig + sdl-dev + sysfsutils-dev + x264-dev + " +source="http://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 + uclibc.patch + " + +build () +{ + cd "$srcdir"/$pkgname-$pkgver + sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/freetype.c + + patch -p1 < ../uclibc.patch || return 1 + export CFLAGS="$CFLAGS -D_GNU_SOURCE" + + ./configure --prefix=/usr \ + --disable-mmx \ + --disable-nls \ + --disable-optimizations \ + --disable-qt4 --disable-skins2 \ + --disable-rpath \ + --enable-httpd \ + --enable-realrtsp \ + --enable-sout \ + --enable-vlm \ + || return 1 + +# --enable-dvdread \ +# --enable-dvdnav \ +# --enable-qt4 \ +# --enable-faad \ +# --enable-skins2 \ +# --enable-dvb \ +# --enable-v4l \ +# --enable-theora \ +# --enable-flac \ +# --enable-snapshot \ +# --enable-hal \ +# --enable-dbus \ +# --enable-dbus-control \ +# --enable-lirc \ +# --enable-shout \ +# --enable-pvr \ + + make || return 1 + make DESTDIR="$pkgdir"/ install || return 1 + for res in 16 32 48 128; do + install -D -m644 share/vlc${res}x${res}.png \ + "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1 + done + rm -rf "$pkgdir"/usr/lib/mozilla +} + +md5sums="fc78904ab5fa73f518d8fe4e852e7f67 vlc-1.0.0.tar.bz2 +2a16bf6c14a94f41490872aa189db755 uclibc.patch" diff --git a/testing/vlc/uclibc.patch b/testing/vlc/uclibc.patch new file mode 100644 index 00000000..f71b189a --- /dev/null +++ b/testing/vlc/uclibc.patch @@ -0,0 +1,65 @@ +--- a/src/misc/linux_specific.c 2009-07-08 09:29:41.000000000 +0000 ++++ b/src/misc/linux_specific.c 2009-07-08 09:30:47.000000000 +0000 +@@ -72,14 +72,14 @@ + } + #endif + +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + # include <gnu/libc-version.h> + # include <stdlib.h> + #endif + + void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[]) + { +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && !defined(__UCLIBC__) + const char *glcv = gnu_get_libc_version (); + + /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing, +--- a/src/control/vlm.c 2009-07-09 09:21:55.000000000 +0000 ++++ b/src/control/vlm.c 2009-07-09 09:22:24.000000000 +0000 +@@ -21,6 +21,10 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ + #include <vlc/libvlc.h> + #include <vlc/libvlc_vlm.h> + #include <vlc_es.h> +--- a/src/misc/mtime.c 2009-07-09 11:57:46.000000000 +0000 ++++ b/src/misc/mtime.c 2009-07-09 13:48:16.000000000 +0000 +@@ -78,7 +78,7 @@ + # define _POSIX_CLOCK_SELECTION (-1) + #endif + +-# if (_POSIX_CLOCK_SELECTION < 0) ++# if (_POSIX_CLOCK_SELECTION < 0) || defined(__UCLIBC__) + /* + * We cannot use the monotonic clock is clock selection is not available, + * as it would screw vlc_cond_timedwait() completely. Instead, we have to +--- a/src/misc/threads.c 2009-07-09 13:54:08.000000000 +0000 ++++ b/src/misc/threads.c 2009-07-09 13:54:32.000000000 +0000 +@@ -474,7 +474,7 @@ + /* Fairly outdated POSIX support (that was defined in 2001) */ + # define _POSIX_CLOCK_SELECTION (-1) + # endif +-# if (_POSIX_CLOCK_SELECTION >= 0) ++# if (_POSIX_CLOCK_SELECTION >= 0) && !defined(__UCLIBC__) + /* NOTE: This must be the same clock as the one in mtime.c */ + pthread_condattr_setclock (&attr, CLOCK_MONOTONIC); + # endif +--- a/modules/stream_filter/decomp.c 2009-07-09 14:10:09.000000000 +0000 ++++ b/modules/stream_filter/decomp.c 2009-07-09 14:11:37.000000000 +0000 +@@ -28,7 +28,7 @@ + #include <vlc_network.h> + #include <assert.h> + #include <unistd.h> +-#ifndef _POSIX_SPAWN ++#if !defined(_POSIX_SPAWN) || defined(__UCLIBC__) + # define _POSIX_SPAWN (-1) + #endif + #include <fcntl.h> diff --git a/testing/wine/0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch b/testing/wine/0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch new file mode 100644 index 00000000..05ac3141 --- /dev/null +++ b/testing/wine/0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch @@ -0,0 +1,39 @@ +From 0454ace14774654c3670a2a29613bed5039991c5 Mon Sep 17 00:00:00 2001 +From: Roderick Colenbrander <thunderbird2k@gmail.com> +Date: Thu, 3 Sep 2009 13:51:44 +0200 +Subject: [PATCH] Always adjust the color_shifts pointer when SelectBitmap is called. This fixes a regression in Steam (bug 19916). + +--- + dlls/winex11.drv/bitmap.c | 10 ++++++---- + 1 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/dlls/winex11.drv/bitmap.c b/dlls/winex11.drv/bitmap.c +index 4d635aa..fee2dbc 100644 +--- a/dlls/winex11.drv/bitmap.c ++++ b/dlls/winex11.drv/bitmap.c +@@ -110,10 +110,6 @@ HBITMAP CDECL X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) + if (physDev->depth != physBitmap->pixmap_depth) + { + physDev->depth = physBitmap->pixmap_depth; +- if(physDev->depth == 1) +- physDev->color_shifts = NULL; +- else +- physDev->color_shifts = &physBitmap->pixmap_color_shifts; + wine_tsx11_lock(); + XFreeGC( gdi_display, physDev->gc ); + physDev->gc = XCreateGC( gdi_display, physDev->drawable, 0, NULL ); +@@ -122,6 +118,12 @@ HBITMAP CDECL X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap ) + XFlush( gdi_display ); + wine_tsx11_unlock(); + } ++ ++ if(physDev->depth == 1) ++ physDev->color_shifts = NULL; ++ else ++ physDev->color_shifts = &physBitmap->pixmap_color_shifts; ++ + return hbitmap; + } + +-- +1.6.0.4 diff --git a/testing/wine/APKBUILD b/testing/wine/APKBUILD new file mode 100644 index 00000000..82ecba1b --- /dev/null +++ b/testing/wine/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=wine +pkgver=1.1.36 +pkgrel=0 +pkgdesc="A compatibility layer for running Windows programs" +url="http://www.winehq.com" +license="LGPL" +subpackages="$pkgname-dev $pkgname-doc" +makedepends="fontconfig-dev openldap-dev libxslt-dev libxxf86dga-dev + libxcursor-dev libxrandr-dev libxdamage-dev mesa-dev flex bison" +# lcms +source="http://ibiblio.org/pub/linux/system/emulators/$pkgname/$pkgname-$pkgver.tar.bz2 + 0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch" + +build() { + cd "$srcdir"/$pkgname-$pkgver + patch -Np1 -i "$srcdir"/0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch + ./configure --prefix=/usr --sysconfdir=/etc --with-x + make depend || return 1 + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make prefix="$pkgdir"/usr install || return 1 + mkdir -p "$pkgdir"/etc/wine +} +md5sums="2afa7846175c7c2ce4c7482aa1d82f0f wine-1.1.36.tar.bz2 +63c4a6aee199039d35e6b57fa505e887 0001-Always-adjust-the-color_shifts-pointer-when-SelectBi.patch" diff --git a/testing/wzdftpd/APKBUILD b/testing/wzdftpd/APKBUILD new file mode 100644 index 00000000..b9b46265 --- /dev/null +++ b/testing/wzdftpd/APKBUILD @@ -0,0 +1,46 @@ +# This is an example APKBUILD file. Use this as a start to creating your own, +# and remove these comments. +# NOTE: Please fill out the license field for your package! If it is unknown, +# then please put 'unknown'. + +# Contributor: Your Name <youremail@domain.com> +pkgname=wzdftpd-svn +pkgver=2040 +pkgrel=2 +pkgdesc="A portable, modular, small, and efficient FTP server" +url="http://www.wzdftpd.net" +license='GPL' +depends= +makedepends="cmake mysql-dev sqlite-dev tcl-dev openssl-dev flex" +source="http://alpine.nethq.org/clandmeter/src/wzdftpd-svn2040.tar.gz +wzdftpd-svn.initd" +subpackages="$pkgname-doc" + +build() { + mkdir "$srcdir/${pkgname}" + mv "$srcdir/wzdftpd-src" "$srcdir/${pkgname}/" + cd "$srcdir/${pkgname}/" + cmake \ + -D CMAKE_INSTALL_PREFIX:PATH=/usr \ + -D WITH_DUPECHECK:BOOL=ON \ + -D WITH_SFV:BOOL=ON \ + -D BUILD_TESTING:BOOL=OFF \ + -D WITH_Zeroconf:BOOL=ON \ + -D TCL_LIBRARY:FILEPATH=/usr/lib/libtcl8.5.so \ + -D WITH_PAM:BOOL=OFF \ + -D WITH_PerlDev:BOOL=OFF \ + -D CONF_INSTALL_PATH:PATH=/etc/wzdftpd \ + ./wzdftpd-src || return 1 + make || return 1 + make DESTDIR="$pkgdir/" install + mv $pkgdir/usr/var $pkgdir/ + sed -i -e 's|usr/var|var|' \ + -e 's|usr/etc|etc|' \ + -e 's|usr//etc|etc|' \ + -e 's|#pid_file|pid_file|' \ + $pkgdir/etc/wzdftpd/wzd.cfg.sample + install -Dm 755 "$startdir"/$pkgname.initd $pkgdir/etc/init.d/wzdftpd +} + +md5sums="4bdb2fcaa4ca316261e9f77380818769 wzdftpd-svn2040.tar.gz +ae2b7497cc7729bfaf346ba0d3b607d2 wzdftpd-svn.initd" diff --git a/testing/wzdftpd/wzdftpd-svn.initd b/testing/wzdftpd/wzdftpd-svn.initd new file mode 100644 index 00000000..25f4da6f --- /dev/null +++ b/testing/wzdftpd/wzdftpd-svn.initd @@ -0,0 +1,32 @@ +#!/sbin/runscript + +depend() { + need net + after firewall + use dns +} + +checkconfig() { + if [ ! -f /etc/wzdftpd/wzd.cfg ] ; then + eerror "No /etc/wzdftpd/wzd.cnf file exists!" + return 1 + fi + if [ ! -d /var/run/wzdftpd ] ; then + install -dD -o ftp -g ftp /var/run/wzdftpd + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting wzdftpd" + /usr/sbin/wzdftpd >/dev/null 2>&1 & + eend $? +} + +stop () { + ebegin "Stopping wzdftpd" + start-stop-daemon --stop --quiet \ + --pidfile=/var/run/wzdftpd/wzdftpd.pid --retry 20 + eend $? +} + diff --git a/testing/xf86-video-openchrome-svn/APKBUILD b/testing/xf86-video-openchrome-svn/APKBUILD new file mode 100644 index 00000000..692af749 --- /dev/null +++ b/testing/xf86-video-openchrome-svn/APKBUILD @@ -0,0 +1,33 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=xf86-video-openchrome-svn +pkgver=811 +pkgrel=0 +pkgdesc="X.Org driver for VIA/S3G cards" +url="http://xorg.freedesktop.org/" +license="custom" +subpackages="$pkgname-dev $pkgname-doc" +depends= +makedepends="pkgconfig xorg-server-dev libxi-dev libxvmc-dev fontsproto glproto + randrproto videoproto renderproto xf86driproto mesa-dev subversion + automake autoconf libtool" + +source= + +build () +{ + cd "$srcdir" + if [ -d openchrome ]; then + cd openchrome + svn up + else + svn co -r $pkgver http://svn.openchrome.org/svn/trunk openchrome + cd openchrome + fi + export GCC_SPECS=/usr/share/gcc/hardenednoznow.specs + + ./autogen.sh + ./configure --prefix=/usr || return 1 + make || return 1 + make DESTDIR="$pkgdir" install || return 1 + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING +} diff --git a/testing/zope-interface/APKBUILD b/testing/zope-interface/APKBUILD new file mode 100644 index 00000000..8db2a557 --- /dev/null +++ b/testing/zope-interface/APKBUILD @@ -0,0 +1,18 @@ +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=zope-interface +pkgver=3.5.1 +pkgrel=0 +pkgdesc="Separate distribution of the zope.interface package used in Zope 3." +url="http://www.zope.org/Products/ZopeInterface/" +license="ZPL" +depends="python" +makedepends="python-dev" +source="http://pypi.python.org/packages/source/z/zope.interface/zope.interface-$pkgver.tar.gz" + +build () +{ + cd "$srcdir"/zope.interface-$pkgver + python setup.py install --prefix=/usr --root="$pkgdir" + rm "$pkgdir"/usr/lib/python2.6/site-packages/zope/interface/README*.txt +} +md5sums="685fc532550abb07cca6190c9cd2b901 zope.interface-3.5.1.tar.gz" |