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 туда точно вносить не надо. > 4) Наличие Requires(postun): kernel-image-%flavour = %kversion-%krelease в > src.rpm Это можно добавить. > 5) Наличие ExclusiveArch (+ там не должно быть левых архитектур типа > athlon или pentium4) + ExclusiveOS: Linux Если в пакете есть конфиг для athlon или pentium4, то зачем запрещать эту архитектуру в ExclusiveArch? Что касается "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 есть что-то похожее на переключатель модулей. -- ldv