On Sun, May 22, 2005 at 05:13:12PM +0400, Konstantin A. Lepikhov wrote: [...] > а скриптик для получения kcode будет выглядеть вот так: > > #!/bin/sh > # Small script to get the kernel version code > # Made by LAKostis for ALTLinux kernel-build-tools package. > # Based on the kernelversion_major script > # from modutils package made by Dmitry V. Levin. > > pick1() { > eval 'echo $'"$pick_index" > } > pick() { > local OLD_IFS="$IFS" > local delimiter="$1" > shift > pick_index="$1" > shift > IFS=" "$delimiter > pick1 $* > IFS="$OLD_IFS" > unset pick_index > } > > release="$1" > [ ! $release ] && release=$(uname -r) > kver=$(pick - 1 $release) > version=$(pick . 1 $kver) > patchlevel=$(pick . 2 $kver) > sublevel=$(pick . 3 $kver) Вся эта химия была нужна для того, чтобы программа, запущенная из-под программы modprobe, которую может запускать ядро, не запускала других программ. > # from kernel Makefile > echo `expr $version \\* 65536 + $patchlevel \\* 256 + $sublevel` Если запускается expr, то код может и должен быть проще. > Данный скрипт можно положить либо в modutils, но мне кажется лучше в > kernel-build-tools, поскольку нужен он только сборщикам, обычные > пользователи могут этот CODE из хидеров вытащить. Точно не в modutils. -- ldv