Hi Dmitry! Wednesday 01, at 06:09:54 PM you wrote: > On Wed, Oct 01, 2008 at 04:13:48PM +0400, Konstantin A. Lepikhov wrote: > [...] > > Кстати, насчет проверок. Есть мысль закрутить гайки совсем, т.е. > > обеспечить возможность непропускания пакетов, не собранных из kernel > > module template + ядер, собранных непонятно-как. > > > > Проверки для модулей (в дополнение к текущим) > > > > 1) Наличие build-requires(pre): rpm-build-kernel (для src.rpm). > > К сожалению, в src.rpm buildrequires(pre) ничем не отличается от > buildrequires, а sisyphus_check работает именно с rpm-пакетами, а не со > spec-файлами. Так что максимум, что можно здесь проверить -- это наличие > зависимости src.rpm-пакета от rpm-build-kernel. хотя бы так. > > > 2) Наличие в src.rpm > > Provides: kernel-modules-%module_name-%kversion-%flavour-%krelease = > > %version-%release > > Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < > > %version-%release > > Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease > > > %version-%release > > Это можно добавить. > Кстати, кто-нибудь помнит, зачем нужны эти provides/conflicts? Для того, чтобы исключить возможность установки нескольких версией одного и того же модуля для одного ядра. > > > 3) Наличие все дополнительных prereq в src.rpm (coreutils,kernel-image) > > Наш rpm теперь порождает prereq'и сам, coreutils туда точно вносить не > надо. Значит, в templates это можно убирать? > > 5) Наличие ExclusiveArch (+ там не должно быть левых архитектур типа > > athlon или pentium4) + ExclusiveOS: Linux > > Если в пакете есть конфиг для athlon или pentium4, то зачем запрещать эту > архитектуру в ExclusiveArch? в модуле ядра не может быть конфигураций для неподдерживаемых архитектур ядра. Пока ядра у нас собираются на i586 и x86_64 и репозитория для athlon/pentium4 у нас нет. > Что касается "ExclusiveOS: linux", то мне кажется, что от присутствия или > отсутствия этого тэга ничего не изменится. Это защита от дурака, как и предыдущие проверки. > > > 6) Наличие содержимого %post_kernel_modules в %post/%postun. > > Это можно добавить. > > > 7) %defattr(644,root,root,755) для модулей/директорий с модулями > > %defattr сложно проверить; можно проверять права доступа > на сами каталоги с файлами. ага. > > > 8) проверка что модули лежат в > > /lib/modules/%kversion-%flavour-%krelease/%module_name (если они > > собираются отдельно) + там кроме *.ko ничего нет. > > Тут могут возникнуть проблемы. Например, в пакете > kernel-modules-nvidia есть что-то похожее на переключатель модулей. меня давно интересовало, зачем _это_ засовывать в kernel-modules, да еще и в /var/lib -- WBR et al.