[devel] Q: missing dependencies on scrollkeeper & yelp?

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Вт Июн 29 19:34:12 MSD 2004


Hi!

Достаточно давно я обнаружил вот такую ошибку в anjuta: в меню
"Справка" нет никакой реакции на выбор подпунктов со значком
спасательного круга ("Anjuta Manual", "Anjuta Tutorial",
"Anjuta Advanced Tutorial", "Anjuta Faqs").

От регистрации ошибки в BTS меня удержало то, что моё сообщение
будет малоинформативно без указания "steps to reproduce" aka
"шагов по воспроизведению".

Результат вчерашнего "погружения" в проблему оказался
неожиданным. Потому привожу "steps to reproduce" ход мыслей,
приведший к пониманию, что реальная ошибка - не совсем и не
только в пакете anjuta и заключается в отсутствии зависимости от
scrollkeeper & yelp.

Итак:

1. Исходя из предположения, что у мантейнера anjuta ошибка не
возникает, интуитивно прихожу к соображению: так может быть
потому, что а) anjuta - программа с интерфейсом, построенным на
GTK2 и, как следствие, б) anjuta может иметь незафиксированные в
RPM зависимости от компонентов GNOME Desktop Environment. А
GNOME2 в моей инсталляции Sisyphus, восходящей к ALT Linux
Compact 2.3, не было с самого начала и нет сейчас.

2. Считая, что для исправления поведения anjuta ставить GNOME2
даже в минимальной конфигурации - это overkill, начинаю искать
"более минимальную" конфигурацию. Снова интуитивно выполняю
следующие команды:

  - rpm -q --scripts anjuta
  - apt-cache search scrollkeeper
  - rpm -qv scrollkeeper (результат, как вы уже догадались,
отрицательный - у anjuta отсутствует зависимость от scrollkeeper)
  - apt-cache show scrollkeeper
  - apt-cache show yelp

Описания, полученные последними двумя командами, уже без
привлечения домыслов и интуиции говорят: надо ставить
scrollkeeper & yelp, чтоб решилась проблема со справкой в anjuta.
Bingo!

3. Полчаса изысканий и два интуитивно верных соображения
заставляют задуматься, что другие пользователи ALT не обязаны
иметь столько времени и такое чутьё ;-) Начинаю анализировать
ситуацию в более общем случае, чем anjuta.

Вывод apt-cache showpkg scrollkeeper свидетельствует, что
некоторые пакеты всё-таки объявляют зависимость от scrollkeeper.
Правда, после просмотра gnumeric.spec становится ясно, что
указание PreReq: scrollkeeper >= 0.3.12 скорее преследовало
другие цели.

Вывод apt-cache showpkg yelp, apt-cache show gnome-desktop и
apt-cache show gnome-minimal-sisyphus доказывает, что anjuta,
gnumeric и другие программы, использующие формат OMF в основе
справочной системы, будут иметь свою справочную систему
сломанной, если и только если были установлены в отсутствие
GNOME2.

---++

Собственно, теперь вопрос к devel@ и, наверное, aris@:

Предполагая, что связка scrollkeeper & yelp неразрывна (т.е.
yelp - единственный браузер справочной информации в формате OMF),
не логично ли всем пакетам, содержащим в %post вызов макроса
%update_scrollkeeper, всё-таки явно зависеть от scrollkeeper &
yelp? Не знаю, правда, насколько технически сложно реализовать
автоматическую установку зависимостей вида PreReq: scrollkeeper,
Requires: yelp или чего-нибудь эквивалентного по результату.

P.S. BTW, спасибо mike@ за ресурс [
http://altlinux.org.ua/devel/RPM/SPECS/ Sisyphus SPECs ] на
сервере украинской команды разработчиков ALT.

-- 
// AB1002-UANIC



Подробная информация о списке рассылки Devel