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