From c1fb5b95e554560a87424a6f3334abf049f999b8 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 19 May 2009 21:51:11 -0500
Subject: irqbalance:  adding pkg closes FS#354

---
 abs/extra-testing/irqbalance/Makefile.irqbalance | 13 +++++++
 abs/extra-testing/irqbalance/PKGBUILD            | 32 +++++++++++++++++
 abs/extra-testing/irqbalance/irqbalance.conf.d   |  6 ++++
 abs/extra-testing/irqbalance/irqbalance.rc.d     | 46 ++++++++++++++++++++++++
 4 files changed, 97 insertions(+)
 create mode 100644 abs/extra-testing/irqbalance/Makefile.irqbalance
 create mode 100644 abs/extra-testing/irqbalance/PKGBUILD
 create mode 100644 abs/extra-testing/irqbalance/irqbalance.conf.d
 create mode 100644 abs/extra-testing/irqbalance/irqbalance.rc.d

diff --git a/abs/extra-testing/irqbalance/Makefile.irqbalance b/abs/extra-testing/irqbalance/Makefile.irqbalance
new file mode 100644
index 0000000..fe08dc0
--- /dev/null
+++ b/abs/extra-testing/irqbalance/Makefile.irqbalance
@@ -0,0 +1,13 @@
+CFLAGS := $(CFLAGS) -D_FORTIFY_SOURCE=2 -Wall -W $(shell pkg-config --cflags glib-2.0)
+LDFLAGS := $(shell pkg-config --libs glib-2.0)
+
+OBJS = bitmap.o irqbalance.o cputree.o procinterrupts.o irqlist.o \
+	placement.o activate.o network.o powermode.o numa.o classify.o
+
+all: irqbalance
+
+irqbalance: $(OBJS)
+	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
+
+clean:
+	rm -f irqbalance *~ *.o
diff --git a/abs/extra-testing/irqbalance/PKGBUILD b/abs/extra-testing/irqbalance/PKGBUILD
new file mode 100644
index 0000000..5d823cd
--- /dev/null
+++ b/abs/extra-testing/irqbalance/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Contributor: Martin Striz <ms@poruba.net>
+
+pkgname=irqbalance
+pkgver=0.55
+pkgrel=3
+pkgdesc="IRQ balancing daemon for SMP systems"
+arch=('i686' 'x86_64')
+url="http://www.irqbalance.org/"
+license=('GPL')
+depends=(glib2)
+makedepends=(pkgconfig)
+backup=(etc/conf.d/irqbalance)
+source=(http://www.irqbalance.org/releases/$pkgname-$pkgver.tar.gz
+        Makefile.irqbalance
+        irqbalance.conf.d
+        irqbalance.rc.d)
+md5sums=('9f6b314ff1fdc14173abeb40592d4edf'
+         '45bc9e1d041d8547f2dbf12f887216df'
+         '336c1ee99818f9ecda1687e34c69fd6b'
+         '96efae052553711f74a61760cefa93b5')
+
+build() {
+  cd $srcdir/$pkgname-$pkgver
+  # use our Makefile instead of one provided which is not quite right
+  cp ../Makefile.irqbalance Makefile
+  make || return 1
+
+  install -D -m755 irqbalance $pkgdir/usr/sbin/irqbalance
+  install -D -m644 ../irqbalance.conf.d $pkgdir/etc/conf.d/irqbalance
+  install -D -m755 ../irqbalance.rc.d $pkgdir/etc/rc.d/irqbalance
+}
diff --git a/abs/extra-testing/irqbalance/irqbalance.conf.d b/abs/extra-testing/irqbalance/irqbalance.conf.d
new file mode 100644
index 0000000..ef1bdfd
--- /dev/null
+++ b/abs/extra-testing/irqbalance/irqbalance.conf.d
@@ -0,0 +1,6 @@
+#
+# Settings for irqbalance daemon
+#
+
+# one shot mode - set to 1 if you have Pentium 4 with HT
+ONESHOT=0
diff --git a/abs/extra-testing/irqbalance/irqbalance.rc.d b/abs/extra-testing/irqbalance/irqbalance.rc.d
new file mode 100644
index 0000000..c8d197f
--- /dev/null
+++ b/abs/extra-testing/irqbalance/irqbalance.rc.d
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# source application-specific settings
+ONESHOT=0
+[ -f /etc/conf.d/irqbalance ] && . /etc/conf.d/irqbalance
+
+if [ "$ONESHOT" -ne 0 ]; then
+	ONESHOT_CMD="oneshot"
+fi
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/irqbalance`
+case "$1" in
+  start)
+    stat_busy "Starting IRQ balancing"
+    [ -z "$PID" ] && /usr/sbin/irqbalance $ONESHOT_CMD
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      if [ "$ONESHOT" -eq 0 ]; then
+        add_daemon irqbalance
+      fi
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping IRQ balancing"
+    [ ! -z "$PID" ] && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon irqbalance
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 1
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0
-- 
cgit v0.12