Info Policy

Материал из ALT Linux Wiki
(перенаправлено с «InfoPolicy»)

Stamp90cw.png
Действующая политика Sisyphus

Политика действует, начиная со стабильного бранча 5.1 и выше.

Ответственный за проведение политики в жизнь — Igor Vlasenko.

Нарушения политики отслеживаются: sisyphus_check


Полиси по упаковке 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
отдельно.