Info Policy
Материал из ALT Linux Wiki
(Различия между версиями)
(Создана новая страница размером {{span|font-size: 180%|}} {{DraftPolicy |responsible=Igor Vlasenko }} == Полиси по упаковке Info файлов == <pre> ...) |
SirRaorn (обсуждение | вклад) м (переименовал «InfoPolicy» в «Info Policy») |
||
(5 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
{{span|font-size: 180%|}} | {{span|font-size: 180%|}} | ||
- | {{ | + | {{Policy |
+ | |since_branch=5.1 | ||
+ | |metabug=sisyphus_check | ||
|responsible=Igor Vlasenko | |responsible=Igor Vlasenko | ||
}} | }} | ||
Строка 6: | Строка 8: | ||
== Полиси по упаковке Info файлов == | == Полиси по упаковке 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. | ||
+ | |||
+ | === Пояснения === | ||
<pre> | <pre> | ||
В новой сборке пакета texinfo (точнее говоря, info-install) реализован | В новой сборке пакета texinfo (точнее говоря, info-install) реализован | ||
Строка 40: | Строка 54: | ||
> они носили с собой внутри? | > они носили с собой внутри? | ||
- | Да, только патчить | + | Да, только если есть 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 | ||
+ | отдельно. | ||
</pre> | </pre> |
Текущая версия на 06:29, 21 июля 2010
Полиси по упаковке 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 отдельно.