From 0c444b6185e3e5c3a8039d6a938e1bd7a654c63f Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Sat, 7 Apr 2012 16:07:21 -0500
Subject: usbmuxd: Initial inclusion; dep of libimobiledevice

---
 abs/extra/usbmuxd/PKGBUILD               | 32 ++++++++++++++++++++++++++++++++
 abs/extra/usbmuxd/usbmuxd-udevuser.patch | 12 ++++++++++++
 abs/extra/usbmuxd/usbmuxd.install        | 19 +++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 abs/extra/usbmuxd/PKGBUILD
 create mode 100644 abs/extra/usbmuxd/usbmuxd-udevuser.patch
 create mode 100644 abs/extra/usbmuxd/usbmuxd.install

diff --git a/abs/extra/usbmuxd/PKGBUILD b/abs/extra/usbmuxd/PKGBUILD
new file mode 100644
index 0000000..74a7fb8
--- /dev/null
+++ b/abs/extra/usbmuxd/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Gabriel Martinez < reitaka at gmail dot com >
+
+pkgname=usbmuxd
+pkgver=1.0.7
+pkgrel=2
+pkgdesc="USB Multiplex Daemon"
+url="http://marcansoft.com/blog/iphonelinux/usbmuxd/"
+arch=('i686' 'x86_64')
+license=('GPL2' 'GPL3' 'LGPL2.1')
+depends=('libusb>=1.0.8')
+makedepends=('cmake')
+install=usbmuxd.install
+source=(http://marcansoft.com/uploads/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+        usbmuxd-udevuser.patch)
+md5sums=('6f431541f3177fa06aa6df9ceecb2da0'
+         '8526f24f4ad16cd6b2a7321c0b59592c')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/usbmuxd-udevuser.patch"
+  mkdir build
+  cd build
+  cmake ../ -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLIB_SUFFIX=""
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}/build"
+  make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/extra/usbmuxd/usbmuxd-udevuser.patch b/abs/extra/usbmuxd/usbmuxd-udevuser.patch
new file mode 100644
index 0000000..51c8f3d
--- /dev/null
+++ b/abs/extra/usbmuxd/usbmuxd-udevuser.patch
@@ -0,0 +1,12 @@
+diff -Nur usbmuxd-1.0.7.orig/udev/85-usbmuxd.rules.in usbmuxd-1.0.7/udev/85-usbmuxd.rules.in
+--- usbmuxd-1.0.7.orig/udev/85-usbmuxd.rules.in	2011-08-04 15:28:32.751579507 +0000
++++ usbmuxd-1.0.7/udev/85-usbmuxd.rules.in	2011-08-04 15:36:20.139265124 +0000
+@@ -1,7 +1,7 @@
+ # usbmuxd (iPhone "Apple Mobile Device" MUXer listening on /var/run/usbmuxd)
+ 
+ # Forces iDevices to the last USB configuration and runs usbmuxd
+-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
++ACTION=="add", SUBSYSTEM=="usb", OWNER="usbmux", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}!="$attr{bNumConfigurations}", ATTR{bConfigurationValue}="$attr{bNumConfigurations}", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -u -U usbmux"
+ 
+ # Exit usbmuxd when the last device is removed
+ ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="@CMAKE_INSTALL_PREFIX@/sbin/usbmuxd -x"
diff --git a/abs/extra/usbmuxd/usbmuxd.install b/abs/extra/usbmuxd/usbmuxd.install
new file mode 100644
index 0000000..1a48596
--- /dev/null
+++ b/abs/extra/usbmuxd/usbmuxd.install
@@ -0,0 +1,19 @@
+post_install() {
+    groupadd -g 140 usbmux &>/dev/null
+    useradd -c 'usbmux user' -u 140 -g usbmux -d / -s /sbin/nologin usbmux &>/dev/null
+    passwd -l usbmux &>/dev/null
+}
+
+post_upgrade() {
+    getent group usbmux >/dev/null 2>&1 || groupadd -g 140 usbmux &>/dev/null
+    getent passwd usbmux >/dev/null 2>&1 || useradd -c 'usbmux user' -u 140 -g usbmux -d / -s /sbin/nologin usbmux &>/dev/null
+}
+
+post_remove() {
+    if getent passwd usbmux >/dev/null 2>&1; then
+        userdel usbmux
+    fi
+    if getent group usbmux >/dev/null 2>&1; then
+        groupdel usbmux
+    fi
+}
-- 
cgit v0.12

