#!/bin/sh - # $NetBSD: MAKEDEV.local,v 1.14 2008/04/30 13:10:49 martin Exp $ # # Copyright (c) 2007 The NetBSD Foundation, Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # ########################################################################### # # MAKEDEV.local can be customised to create site-specific device nodes. # By default it does nothing, except parse and accept the same command # line options as MAKEDEV. # # "MAKEDEV all" or "MAKEDEV local" will invoke "MAKEDEV.local all"; # MAKEDEV.local may also be invoked directly with other args. PATH=/sbin:/usr/sbin:/bin:/usr/bin:/rescue # makedev_local special [...] # the main loop # makedev_local() { for i do case $i in all) # Customise this. For example: #makedev_local foo ;; # Add more cases here. You can call functions defined in MAKEDEV. # For example: #foo) # mkdev foo c 0 0 600 # mkdev foo1 c 0 1 600 # ;; *) warn "$i: unknown device" ;; esac done } # # MAIN: Figure out where MAKEDEV is; load MAKEDEV as a function library; # then call makedev_main to do all the real work. # case "$0" in */*) MAKEDEV="${0%/*}/MAKEDEV" ;; *) MAKEDEV="./MAKEDEV" ;; esac [ -f "${MAKEDEV}" ] || MAKEDEV="/dev/MAKEDEV" MAKEDEV_AS_LIBRARY=1 . "${MAKEDEV}" || exit 1 makedev_main makedev_local ${1+"$@"} |