Info Policy
Версия от 09:29, 21 июля 2010; SirRaorn (обсуждение | вклад) (переименовал «InfoPolicy» в «Info Policy»)
Полиси по упаковке Info файлов
Нормативная часть
1. Пакеты, содержащие info файлы, не должны устанавливать их с помощью install-info или устаревших макросов %install_info, %uninstall_info и %__install_info.
2. Зависимости Requires(post,posun) на install-info запрещены.
3. info файлы должны иметь INFO-DIR-SECTION и START-INFO-DIR-ENTRY.
Пояснения
В новой сборке пакета texinfo (точнее говоря, info-install) реализован файлтриггер, который теперь следит за тем, чтобы info index был всегда в актуальном состоянии. Мантейнерам спек-файлов больше не нужно следить за корректностью вызовов %install_info, %uninstall_info и %__install_info. Более того, теперь лучше все такие устаревшие вызовы из спек-файлов убрать. Для напоминания я расставил вывод предупреждений как на стадии вычисления устаревших макросов, так и в самих вызываемых утилитах. -- ldv > > Так же по новой схеме важно, чтобы у info файлов были заполнены > > INFO-DIR-SECTION и > > START-INFO-DIR-ENTRY. > > > > У нас нашелся всего один пакет без INFO-DIR-SECTION с явными > > --entry= --section=, > > ./ucblogo-6.0-alt1.src.spec:/sbin/install-info %_infodir/ucblogo.info +--entry="* UCBLogo: (ucblogo). Berkeley Logo User Manual." +--section="Programming Languages" %_infodir/dir 2>/dev/null || : Все прямые и косвенные вызовы install-info из спек-файлов теперь игнорируются. > Правильно ли я понимаю, что теперь, чтобы > избежать замусоривания %_infodir/dir, нам надо запретить > такие фокусы с --section= и --entry=", > и вместо этого явно патчить .info файлы, тобы > корректные INFO-DIR-SECTION и START-INFO-DIR-ENTRY > они носили с собой внутри? Да, только если есть texinfo-исходники (.texi) то патчить лучше texinfo-файлы. см. $ info texinfo 'Installing Dir Entries' Пример патча: ---------------------------- --- edb.texi 2009-08-25 15:51:51 +0000 +++ edb.texi 2009-08-25 15:54:13 +0000 @@ -7,6 +7,11 @@ @syncodeindex tp cp +@dircategory Emacs +@direntry + * EDB: (edb). The Emacs Database +@end direntry + @include version.texi @titlepage ---------------------------- > > И получается, по хорошему еще нужна проверка > > brp-verify-info на наличие INFO-DIR-SECTION и START-INFO-DIR-ENTRY. rpm-build-4.0.4-alt98.10 уже проверяет info-файлы. По умолчанию наличие неправильных info-файлов является ошибкой. Изменить умолчание можно с помощью %set_verify_info_method relaxed > > Тогда надо подправить update-info-dir, > > чтобы он был совместим с %_xemacs_installinfo. > > Иначе сейчас это ломает справку xemacs. texinfo-4.13-alt4 уже обучен обрабатывать каждый каталог в /usr/share/info отдельно.