[sisyphus] RFC: posttrans warnings (was: alsa и udev)

Michael Shigorin mike на osdn.org.ua
Сб Сен 4 16:17:06 UTC 2010


On Sat, Sep 04, 2010 at 07:16:41PM +0400, Кокарев Константин wrote:
> >Новый пакет udev совместим только с ядрами >= 2.6.31
> Спасибо. Сам бы не догадался.

А кто какие грабли видит в добавлении ещё одного типа
posttrans-триггера на e.g. /usr/share/changes/*.sh, которые тогда
будет смысл делать тестами, которые раскладывать по некритичным в
общем пакетам, которые могут при подобных изменениях терять часть
функциональности?

--- /usr/share/changes/udev.sh
#!/bin/sh
# test running kernel version for being higher
# than minimally reasonable one for current udev

MIN="2.6.31"

kernel_version_code()
{
        local release="$1" && shift

        local kver="$(printf %s "$release" | cut -d- -f1)"
        local version="$(printf %s "$kver" | cut -d. -f1)"
        local patchlevel="$(printf %s "$kver" | cut -d. -f2)"
        local sublevel="$(printf %s "$kver" | cut -d. -f3)"

        # from kernel Makefile
        expr "$version" \* 65536 + "$patchlevel" \* 256 + "$sublevel"
}

[ $(kernel_version_code "`uname -r`") -ge ($kernel_version_code "$MIN") ] || {
	echo "WARNING: `uname -r` is too old kernel for this udev" >&2
}
---

Разве что спамить может -- если окажется багом, а не фичем,
можно сделать библиотечку для работы с таймстампами и версиями
"уже отчитавшихся" где-нить в /var/lib/changes/.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки Sisyphus