1#!/bin/sh 2# 3# OWFS setup routines for SUSE systems 4# Written by Paul Alfille and others. 5# udev routines by Peter Kropf 6# GPL v2 license (like all of OWFS) 7# copyrite 12/2006 Paul H Alfille 8# 9### ------------------ 10### -- Constants ----- 11### ------------------ 12OWFS_GROUP=ow 13# 14# 15### ----------------- 16### -- Group -------- 17### ----------------- 18groupadd $OWFS_GROUP 19# 20### ----------------- 21### -- Links -------- 22### ----------------- 23# Put all the ninaries in /usr/bin 24# make them part of the "ow" group 25# and let only their owner and group read or execute them 26OWFS_bin="owfs owhttpd owftpd owserver owread owwrite owpresent owdir" 27for x in $OWFS_bin 28 do 29 ln -sfv /opt/owfs/bin/$x /usr/bin/$x 30done 31# 32### ----------------- 33### -- Rules -------- 34### ----------------- 35cat >/etc/udev/rules.d/46_ds2490.rules << RULES 36BUS=="usb", ACTION=="add", SYSFS{idVendor}=="04fa", SYSFS{idProduct}=="2490", \ 37 PROGRAM="/bin/sh -c 'K=%k; K=\$\${K#usbdev}; printf bus/usb/%%03i/%%03i \$\${K%%%%.*} \$\${K#*.}'", \ 38 NAME="%c", MODE="0664", RUN+="/etc/udev/ds2490 '%c'" 39RULES 40# 41### ----------------- 42### -- Shell -------- 43### ----------------- 44cat >/etc/udev/ds2490 << SHELL 45#! /bin/sh -x 46 /sbin/rmmod ds9490r 47 MATCH="no" 48 if [ "\$1" != "" ]; then 49 if [ -f /proc/\$1 ]; then 50 chgrp $OWFS_GROUP /proc/\$1 && \ 51 chmod g+rw /proc/\$1 && \ 52 logger ow udev: group set to $OWFS_GROUP and permission g+rw on /proc/\$1 53 MATCH="yes" 54 fi 55 56 if [ -e /dev/\$1 ]; then 57 chgrp $OWFS_GROUP /dev/\$1 && \ 58 chmod g+rw /dev/\$1 && \ 59 logger ow udev: group set to $OWFS_GROUP and permission g+rw on /dev/\$1 60 MATCH="yes" 61 fi 62 fi 63 64 if [ "\$MATCH" = "no" ]; then 65 echo ow udev: no device file found for "\$1" 66 logger ow udev: no device file found for "\$1" 67 fi 68SHELL 69chmod 755 /etc/udev/ds2490 70