Annotation of /alx-src/branches/alxconf-060/functions/config_modules.sh
Parent Directory | Revision Log
Revision 2121 -
(hide annotations)
(download)
(as text)
Mon May 16 11:07:22 2011 UTC (13 years ago) by niro
File MIME type: application/x-sh
File size: 2693 byte(s)
Mon May 16 11:07:22 2011 UTC (13 years ago) by niro
File MIME type: application/x-sh
File size: 2693 byte(s)
-clear argfile in create argfile function
1 | niro | 1971 | # $Id$ |
2 | niro | 256 | # configures printing on the host via mysql db settings |
3 | # Note must be the first configure script which will be startet | ||
4 | |||
5 | get_modules_settings() | ||
6 | { | ||
7 | niro | 1721 | local i count mod_ids settings arg |
8 | niro | 256 | |
9 | # first get all module names | ||
10 | niro | 342 | mod_ids=$(mysqldo "select id from cfg_modules where serial='${ALX_SERIAL}'") |
11 | niro | 256 | |
12 | # set counter equal to numbers of printers | ||
13 | declare -i count=0 | ||
14 | for i in ${mod_ids} | ||
15 | do | ||
16 | # now get the other settings und put them in arrays | ||
17 | niro | 342 | ALX_MODULES[${count}]=$(mysqldo "select module from cfg_modules where id=${i};") |
18 | niro | 1721 | # get modules arguments |
19 | arg=$(mysqldo "select arg from cfg_modules where id=${i};") | ||
20 | # handle Nulls | ||
21 | [[ ${arg} = NULL ]] && arg="" | ||
22 | ALX_MODULES_ARG[${count}]="${arg}" | ||
23 | niro | 256 | (( count++ )) |
24 | done | ||
25 | |||
26 | # get network module | ||
27 | niro | 342 | ALX_NETWORK_MODULE=$(mysqldo "select module from cfg_network where serial=${ALX_SERIAL};") |
28 | niro | 256 | |
29 | niro | 318 | ## fixes needed to satisfy some deps |
30 | niro | 342 | ALX_GFX_MODULE=$(mysqldo "select module from cfg_graphic where serial=${ALX_SERIAL};") |
31 | niro | 318 | |
32 | niro | 256 | # export all settings |
33 | export ALX_COUNT=${count} | ||
34 | export ALX_NETWORK_MODULE | ||
35 | niro | 318 | export ALX_GFX_MODULE |
36 | niro | 256 | export ALX_MODULES |
37 | niro | 1721 | export ALX_MODULES_ARG |
38 | niro | 256 | } |
39 | |||
40 | niro | 332 | add_modules() |
41 | { | ||
42 | local modules="$@" | ||
43 | niro | 2013 | local modfile="/etc/modules.autoload" |
44 | niro | 1721 | local argfile="${SETTINGSPATH}/modules-args" |
45 | niro | 332 | local mod |
46 | niro | 1721 | local arg |
47 | local oldifs | ||
48 | niro | 332 | |
49 | for mod in ${modules} | ||
50 | do | ||
51 | niro | 1646 | if [ -n "$(find /lib/modules/$(uname -r) -name ${mod}.[o,k]*)" ] |
52 | then | ||
53 | niro | 1721 | # get the args |
54 | arg="$(grep ^${mod}: ${argfile})" | ||
55 | |||
56 | # extract the arguments | ||
57 | if [[ -n ${arg} ]] | ||
58 | then | ||
59 | arg="${arg##*:}" | ||
60 | echo "${mod} ${arg}" >> ${modfile} | ||
61 | else | ||
62 | echo "${mod}" >> ${modfile} | ||
63 | fi | ||
64 | niro | 1646 | fi |
65 | niro | 332 | done |
66 | } | ||
67 | |||
68 | niro | 1721 | create_argfile() |
69 | { | ||
70 | local argfile="${SETTINGSPATH}/modules-args" | ||
71 | local count="${#ALX_MODULES[*]}" | ||
72 | local i | ||
73 | |||
74 | niro | 2121 | :> ${argfile} |
75 | |||
76 | niro | 1721 | for ((i=0; i<count; i++)) |
77 | do | ||
78 | if [[ ! -z ${ALX_MODULES_ARG[${i}]} ]] | ||
79 | then | ||
80 | echo "${ALX_MODULES[${i}]}:${ALX_MODULES_ARG[${i}]}" >> ${argfile} | ||
81 | fi | ||
82 | done | ||
83 | } | ||
84 | |||
85 | niro | 256 | config_modules() |
86 | { | ||
87 | local i | ||
88 | niro | 318 | local modfile |
89 | niro | 1721 | local argfile |
90 | niro | 256 | |
91 | niro | 342 | # first of all get the vars |
92 | niro | 256 | get_modules_settings |
93 | |||
94 | niro | 318 | # location of the modules.autoload file |
95 | niro | 2013 | modfile="/etc/modules.autoload" |
96 | niro | 318 | |
97 | niro | 334 | # clear the old one |
98 | :> ${modfile} | ||
99 | |||
100 | niro | 1721 | # create a new arg file |
101 | create_argfile | ||
102 | |||
103 | niro | 332 | # needed for printing: |
104 | niro | 547 | add_modules lp parport parport_pc usblp |
105 | niro | 332 | |
106 | niro | 1646 | if [[ -n ${ALX_NETWORK_MODULE} ]] |
107 | then | ||
108 | add_modules "${ALX_NETWORK_MODULE}" | ||
109 | fi | ||
110 | niro | 256 | |
111 | niro | 318 | # intel i810 needs intel-agp module to work probably |
112 | niro | 332 | [[ ${ALX_GFX_MODULE} = i810 ]] && add_modules intel-agp |
113 | niro | 1615 | [[ ${ALX_GFX_MODULE} = intel ]] && add_modules intel-agp |
114 | niro | 318 | |
115 | niro | 256 | for ((i=0; i <= ALX_COUNT; i++)) |
116 | niro | 1646 | do |
117 | if [[ -n ${ALX_MODULES[${i}]} ]] | ||
118 | then | ||
119 | add_modules "${ALX_MODULES[${i}]}" | ||
120 | fi | ||
121 | niro | 256 | done |
122 | |||
123 | unset ALX_COUNT | ||
124 | unset ALX_MODULES | ||
125 | unset ALX_NETWORK_MODULE | ||
126 | niro | 318 | unset ALX_GFX_MODULE |
127 | niro | 256 | } |