Annotation of /trunk/magellan-initscripts/sbin/modules-update
Parent Directory | Revision Log
Revision 105 -
(hide annotations)
(download)
Fri Jul 1 18:09:42 2005 UTC (19 years, 2 months ago) by niro
File size: 4158 byte(s)
Fri Jul 1 18:09:42 2005 UTC (19 years, 2 months ago) by niro
File size: 4158 byte(s)
removed whitespaces and typos
1 | niro | 2 | #!/bin/bash |
2 | # | ||
3 | # This is the modules-update script for Debian GNU/Linux. | ||
4 | # Written by Wichert Akkerman <wakkerma@debian.org> | ||
5 | # Copyright (C) 1998, 1999 Software in the Public Interest | ||
6 | |||
7 | # Modifications by Daniel Robbins <drobbins@gentoo.org>, Gentoo Technologies, Inc. | ||
8 | # 02 Sep 2001 -- Removed "arch" stuff since I see no reason to have support for varying | ||
9 | # CPU architectures on a single system. | ||
10 | |||
11 | niro | 105 | # More modifications by Niels Rogalla <niro@magellan-linux.net> for Magellan-Linux |
12 | niro | 2 | # Hacked some entries to fit into Magellan: |
13 | # functions.sh & kernel-2.5 stuff not needed | ||
14 | |||
15 | # 06.09.2004 Added kernel 2.6 stuff <niro@magellan-linux.net> | ||
16 | |||
17 | CFGFILE="/etc/modules.conf" | ||
18 | TMPFILE="${CFGFILE}.$$" | ||
19 | CFGFILE2="/etc/modprobe.conf" | ||
20 | TMPFILE2="${CFGFILE2}.$$" | ||
21 | CFGFILE3="/etc/modules.devfs" | ||
22 | TMPFILE3="${CFGFILE3}.$$" | ||
23 | CFGFILE4="/etc/modprobe.devfs" | ||
24 | TMPFILE4="${CFGFILE4}.$$" | ||
25 | MODDIR="/etc/modules.d" | ||
26 | ARCHDIR="${MODDIR}/arch" | ||
27 | HEADER="### This file is automatically generated by modules-update" | ||
28 | |||
29 | source /etc/init.d/functions | ||
30 | |||
31 | KERNEL_2_5="no" | ||
32 | |||
33 | niro | 105 | # needed for kernel 2.6 |
34 | niro | 2 | if [ "$(kernel_major_version)" == "2.6" ] |
35 | then | ||
36 | KERNEL_2_5="yes" | ||
37 | fi | ||
38 | |||
39 | |||
40 | set -e | ||
41 | |||
42 | # Reset the sorting order since we depend on it | ||
43 | export LC_COLLATE="C" | ||
44 | |||
45 | depdir() { | ||
46 | dep="`egrep '[[:space:]]*depfile' ${CFGFILE} | tail -n 1 | sed -e 's/depfile=//' -e 's,/[^/]*$,,'`" | ||
47 | if [ -z "${dep}" ] | ||
48 | then | ||
49 | dep="/lib/modules/$(uname -r)" | ||
50 | fi | ||
51 | |||
52 | echo "${dep}" | ||
53 | } | ||
54 | |||
55 | CFGFILES="${CFGFILE}" | ||
56 | |||
57 | if [ "${KERNEL_2_5}" = "yes" ] | ||
58 | then | ||
59 | CFGFILES="${CFGFILES} ${CFGFILE2} ${CFGFILE4}" | ||
60 | fi | ||
61 | |||
62 | for x in ${CFGFILES} | ||
63 | do | ||
64 | if [ -f "${x}" ] | ||
65 | then | ||
66 | if ! sed -ne 1p "${x}" | egrep -q "^${HEADER}" | ||
67 | then | ||
68 | echo "Error: the current ${x} is not automatically generated." | ||
69 | niro | 105 | |
70 | niro | 2 | if [ "$1" != "force" ] |
71 | then | ||
72 | echo "Use \"modules-update force\" to force (re)generation." | ||
73 | exit 1 | ||
74 | else | ||
75 | echo "force specified, (re)generating file anyway." | ||
76 | fi | ||
77 | fi | ||
78 | fi | ||
79 | done | ||
80 | |||
81 | if [ 0 -ne "`id -u`" ] | ||
82 | then | ||
83 | echo "You have to be root to do this." | ||
84 | exit 2 | ||
85 | fi | ||
86 | |||
87 | if [ -e "${CFGFILE}" ] | ||
88 | then | ||
89 | cp -f "${CFGFILE}" "${CFGFILE}".old | ||
90 | fi | ||
91 | if [ "${KERNEL_2_5}" = "yes" ] | ||
92 | then | ||
93 | if [ -e "${CFGFILE2}" ] | ||
94 | then | ||
95 | cp -f "${CFGFILE2}" "${CFGFILE2}".old | ||
96 | fi | ||
97 | if [ -e "${CFGFILE4}" ] | ||
98 | then | ||
99 | cp -f "${CFGFILE4}" "${CFGFILE4}".old | ||
100 | fi | ||
101 | fi | ||
102 | |||
103 | |||
104 | echo "${HEADER}" > "${TMPFILE}" | ||
105 | cat <<EOF >> "${TMPFILE}" | ||
106 | # | ||
107 | # Please do not edit this file directly. If you want to change or add | ||
108 | # anything please take a look at the files in ${MODDIR} and read | ||
109 | # the manpage for modules-update. | ||
110 | # | ||
111 | EOF | ||
112 | if [ -x /sbin/generate-modprobe.conf -a "${KERNEL_2_5}" = "yes" ] | ||
113 | then | ||
114 | sed -e "s:the files in ${MODDIR}:${CFGFILE}:" \ | ||
115 | "${TMPFILE}" > "${TMPFILE2}" | ||
116 | |||
117 | if [ -f "${CFGFILE3}" ] | ||
118 | then | ||
119 | sed -e "s:the files in ${MODDIR}:${CFGFILE3}:" \ | ||
120 | "${TMPFILE}" > "${TMPFILE4}" | ||
121 | fi | ||
122 | fi | ||
123 | |||
124 | for cfg in "${MODDIR}"/* "${CONF}" | ||
125 | do | ||
126 | [ -d "${cfg}" ] && continue | ||
127 | |||
128 | [ ! -r "${cfg}" ] && continue | ||
129 | |||
130 | [ -n "`echo "${cfg}" | awk '!/~$|\.bak$/ { print $0 }'`" ] || continue | ||
131 | niro | 105 | |
132 | niro | 2 | echo "### modules-update: start processing ${cfg}" >> "${TMPFILE}" |
133 | niro | 105 | |
134 | niro | 2 | if [ -x ${cfg} ] |
135 | then | ||
136 | # $cfg can be executable; nice touch, Wichert! :) | ||
137 | "${cfg}" >> "${TMPFILE}" | ||
138 | else | ||
139 | cat "${cfg}" >> "${TMPFILE}" | ||
140 | fi | ||
141 | niro | 105 | |
142 | niro | 2 | echo >> "${TMPFILE}" |
143 | echo "### modules-update: end processing ${cfg}" >> "${TMPFILE}" | ||
144 | echo >> "${TMPFILE}" | ||
145 | done | ||
146 | |||
147 | mv -f "${TMPFILE}" "${CFGFILE}" | ||
148 | |||
149 | if [ -x /sbin/generate-modprobe.conf -a "${KERNEL_2_5}" = "yes" ] | ||
150 | then | ||
151 | if /sbin/generate-modprobe.conf >> "${TMPFILE2}" 2> /dev/null | ||
152 | then | ||
153 | mv -f "${TMPFILE2}" "${CFGFILE2}" | ||
154 | else | ||
155 | echo "Warning: could not generate ${CFGFILE2}!" | ||
156 | rm -f "${TMPFILE2}" | ||
157 | fi | ||
158 | |||
159 | if [ -f "${CFGFILE3}" ] | ||
160 | then | ||
161 | gawk '$0 !~ /^[[:space:]]*include/ { print $0 }' "${CFGFILE3}" > "${TMPFILE3}" | ||
162 | |||
163 | export TESTING_MODPROBE_CONF="${TMPFILE3}" | ||
164 | if /sbin/generate-modprobe.conf >> "${TMPFILE4}" 2> /dev/null | ||
165 | then | ||
166 | mv -f "${TMPFILE4}" "${CFGFILE4}" | ||
167 | |||
168 | echo >> "${CFGFILE4}" | ||
169 | echo "include /etc/modprobe.conf" >> "${CFGFILE4}" | ||
170 | else | ||
171 | echo "Warning: could not generate ${CFGFILE4}!" | ||
172 | rm -f "${TMPFILE4}" | ||
173 | fi | ||
174 | rm -f "${TMPFILE3}" | ||
175 | fi | ||
176 | fi | ||
177 | |||
178 | # We also call depmod here to stop insmod from complaining that modules.conf | ||
179 | # is more recent then modules.dep | ||
180 | # | ||
181 | if [ -d "`depdir`" -a -f /proc/modules ] | ||
182 | then | ||
183 | depmod -a | ||
184 | fi | ||
185 | |||
186 | |||
187 | # vim:ts=4 |
Properties
Name | Value |
---|---|
svn:executable | * |