1 #!/bin/sh - 2 # $NetBSD: MAKEDEV.local,v 1.14 2008/04/30 13:10:49 martin Exp $ 3 # 4 # Copyright (c) 2007 The NetBSD Foundation, Inc. 5 # All rights reserved. 6 # 7 # Redistribution and use in source and binary forms, with or without 8 # modification, are permitted provided that the following conditions 9 # are met: 10 # 1. Redistributions of source code must retain the above copyright 11 # notice, this list of conditions and the following disclaimer. 12 # 2. Redistributions in binary form must reproduce the above copyright 13 # notice, this list of conditions and the following disclaimer in the 14 # documentation and/or other materials provided with the distribution. 15 # 16 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 # POSSIBILITY OF SUCH DAMAGE. 27 # 28 ########################################################################### 29 # 30 # MAKEDEV.local can be customised to create site-specific device nodes. 31 # By default it does nothing, except parse and accept the same command 32 # line options as MAKEDEV. 33 # 34 # "MAKEDEV all" or "MAKEDEV local" will invoke "MAKEDEV.local all"; 35 # MAKEDEV.local may also be invoked directly with other args. 36 37 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/rescue 38 39 # makedev_local special [...] 40 # the main loop 41 # 42 makedev_local() 43 { 44 45 for i 46 do 47 48 case $i in 49 50 all) 51 # Customise this. For example: 52 #makedev_local foo 53 ;; 54 55 # Add more cases here. You can call functions defined in MAKEDEV. 56 # For example: 57 #foo) 58 # mkdev foo c 0 0 600 59 # mkdev foo1 c 0 1 600 60 # ;; 61 62 *) 63 warn "$i: unknown device" 64 ;; 65 66 esac 67 done 68 69 } 70 71 # 72 # MAIN: Figure out where MAKEDEV is; load MAKEDEV as a function library; 73 # then call makedev_main to do all the real work. 74 # 75 case "$0" in 76 */*) MAKEDEV="${0%/*}/MAKEDEV" ;; 77 *) MAKEDEV="./MAKEDEV" ;; 78 esac 79 [ -f "${MAKEDEV}" ] || MAKEDEV="/dev/MAKEDEV" 80 81 MAKEDEV_AS_LIBRARY=1 . "${MAKEDEV}" || exit 1 82 83 makedev_main makedev_local ${1+"$@"} 84