diff options
Diffstat (limited to 'abs/extra')
-rw-r--r-- | abs/extra/usbmuxd/PKGBUILD | 32 | ||||
-rw-r--r-- | abs/extra/usbmuxd/usbmuxd-udevuser.patch | 12 | ||||
-rw-r--r-- | abs/extra/usbmuxd/usbmuxd.install | 19 |
3 files changed, 63 insertions, 0 deletions
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 +} |