ifuse: add initial udev rule to mount iPhone/iPod on connect

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2011-01-07 19:41:48 +01:00
parent dd5faafd41
commit ed20822d5e
2 changed files with 44 additions and 0 deletions

View File

@ -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

View File

@ -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"