From ed20822d5e621ba8111343d8f5debd6cc8c4f765 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 7 Jan 2011 19:41:48 +0100 Subject: [PATCH] ifuse: add initial udev rule to mount iPhone/iPod on connect Signed-off-by: Stephan Raue --- packages/sysutils/ifuse/install | 3 ++ .../ifuse/rules.d/91-iphone-automount.rules | 41 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 packages/sysutils/ifuse/rules.d/91-iphone-automount.rules diff --git a/packages/sysutils/ifuse/install b/packages/sysutils/ifuse/install index 64dc38c78f..829a64e457 100755 --- a/packages/sysutils/ifuse/install +++ b/packages/sysutils/ifuse/install @@ -4,3 +4,6 @@ mkdir -p $INSTALL/usr/bin cp $PKG_BUILD/src/ifuse $INSTALL/usr/bin + +mkdir -p $INSTALL/lib/udev/rules.d + cp $PKG_DIR/rules.d/*.rules $INSTALL/lib/udev/rules.d diff --git a/packages/sysutils/ifuse/rules.d/91-iphone-automount.rules b/packages/sysutils/ifuse/rules.d/91-iphone-automount.rules new file mode 100644 index 0000000000..fc5c2a6a3e --- /dev/null +++ b/packages/sysutils/ifuse/rules.d/91-iphone-automount.rules @@ -0,0 +1,41 @@ +################################################################################ +# Copyright (C) 2009-2011 OpenELEC.tv +# http://www.openelec.tv +# +# 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, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +ACTION!="add|remove", GOTO="end" +SUBSYSTEM!="usb", GOTO="end" + +# Detect type of iPhoneOS it is + ENV{PRODUCT}=="5ac/129[13]/*", ENV{INTERFACE}=="255/*", ENV{dir_name}="iPod" + ENV{PRODUCT}=="5ac/129[024]/*", ENV{INTERFACE}=="255/*", ENV{dir_name}="iPhone" + + ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[13]", ENV{dir_name}="iPod" + ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[024]", ENV{dir_name}="iPhone" + +# mount the device on add + ACTION=="add", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9]", \ + RUN+="/bin/mkdir -p '/media/%E{dir_name}'", \ + RUN+="/usr/bin/ifuse '/media/%E{dir_name}' -u '%s{serial}' -o sync,allow_other" + +# unmount the device on remove + ACTION=="remove", ENV{PRODUCT}=="5ac/129[0-9]/*", ENV{INTERFACE}=="255/*", \ + RUN+="/bin/umount -l '/media/%E{dir_name}'", \ + RUN+="/bin/rmdir '/media/%E{dir_name}'" + +LABEL="end"