|
Lines 28-34
Link Here
|
| 28 |
cat <<EOF |
28 |
cat <<EOF |
| 29 |
Usage: $PROG [options] |
29 |
Usage: $PROG [options] |
| 30 |
Valid options are: |
30 |
Valid options are: |
| 31 |
-f, --force force kernel upgrade |
31 |
-a, --all install all kernel modules |
|
|
32 |
-i interactive modules install, exclude force install |
| 33 |
-f, --force force kernel upgrade, non-interactively |
| 32 |
-t, --type install kernel with specified flavour (ovz-smp, std-def, etc) |
34 |
-t, --type install kernel with specified flavour (ovz-smp, std-def, etc) |
| 33 |
-r, --release install kernel with specified release (alt10, alt22, etc) |
35 |
-r, --release install kernel with specified release (alt10, alt22, etc) |
| 34 |
-h, --help show this text and exit |
36 |
-h, --help show this text and exit |
|
Lines 37-50
Link Here
|
| 37 |
} |
39 |
} |
| 38 |
|
40 |
|
| 39 |
#parse command line options |
41 |
#parse command line options |
| 40 |
TEMP=`getopt -n $PROG -o f,t:,r:,h -l force,type:,release:,help -- "$@"` || show_help |
42 |
TEMP=`getopt -n $PROG -o a,i,f,t:,r:,h -l all,force,type:,release:,help -- "$@"` || show_help |
| 41 |
eval set -- "$TEMP" |
43 |
eval set -- "$TEMP" |
| 42 |
|
44 |
|
| 43 |
while :; do |
45 |
while :; do |
| 44 |
case "$1" in |
46 |
case "$1" in |
| 45 |
--) shift; break |
47 |
--) shift; break |
| 46 |
;; |
48 |
;; |
| 47 |
-f|--force) force=1 |
49 |
-a|--all) all=1 |
|
|
50 |
;; |
| 51 |
-i) interactive=1 ; force=0 |
| 52 |
;; |
| 53 |
-f|--force) force=1 ; interactive=0 |
| 48 |
;; |
54 |
;; |
| 49 |
-t|--type) shift ; kernel_flavour="$1" |
55 |
-t|--type) shift ; kernel_flavour="$1" |
| 50 |
;; |
56 |
;; |
|
Lines 129-139
Link Here
|
| 129 |
# get list of all available modules |
135 |
# get list of all available modules |
| 130 |
ALLMODULES="$(apt-cache pkgnames kernel-modules | grep $kernel_flavour | sed -e "s,^kernel-modules-\(.*\)-$kernel_flavour.*,\1,g"| sed -e "s,-[[:digit:]]\.[[:digit:]]\.[[:digit:]].*,,g" | sort -u)" |
136 |
ALLMODULES="$(apt-cache pkgnames kernel-modules | grep $kernel_flavour | sed -e "s,^kernel-modules-\(.*\)-$kernel_flavour.*,\1,g"| sed -e "s,-[[:digit:]]\.[[:digit:]]\.[[:digit:]].*,,g" | sort -u)" |
| 131 |
|
137 |
|
|
|
138 |
function module_install() { |
| 139 |
module=$1 |
| 140 |
# interactive=$2 |
| 141 |
if [ "$interactive" == 1 ]; then |
| 142 |
echo -n "Try to install or update module $module [y]/n? " |
| 143 |
read |
| 144 |
case "$REPLY" in |
| 145 |
n|no|N|No|NO|0) return 0 |
| 146 |
;; |
| 147 |
*) |
| 148 |
;; |
| 149 |
esac |
| 150 |
fi |
| 151 |
$SUDO apt-get install -y "$module" |
| 152 |
} |
| 153 |
|
| 132 |
for module in $ALLMODULES; do |
154 |
for module in $ALLMODULES; do |
| 133 |
module_pkgname=kernel-modules-$module |
155 |
module_pkgname=kernel-modules-$module |
| 134 |
if rpm -q $module_pkgname-"$modules_kernel_flavour" &>/dev/null; then |
156 |
if rpm -q $module_pkgname-"$modules_kernel_flavour" &>/dev/null; then |
| 135 |
message "$module_pkgname is installed, trying to update..." |
157 |
message "$module_pkgname is installed, trying to update..." |
| 136 |
$SUDO apt-get install -y "$module_pkgname-$newkernel_ver_flav_rel" |
158 |
module_install "$module_pkgname-$newkernel_ver_flav_rel" $interactive |
|
|
159 |
# $SUDO apt-get install -y "$module_pkgname-$newkernel_ver_flav_rel" |
| 160 |
else |
| 161 |
if [ $all == 1 ]; then |
| 162 |
message "$module_pkgname is not istalled, trying to install..." |
| 163 |
module_install "$module_pkgname-$newkernel_ver_flav_rel" $interactive |
| 164 |
# $SUDO apt-get install -y "$module_pkgname-$newkernel_ver_flav_rel" |
| 165 |
fi |
| 137 |
fi |
166 |
fi |
| 138 |
done |
167 |
done |
| 139 |
|
168 |
|