From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 29 Jun 2004 18:34:12 +0300 (EEST) From: Andrei Bulava X-X-Sender: ab@devel.office To: ALT Devel discussion list Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Subject: [devel] Q: missing dependencies on scrollkeeper & yelp? X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jun 2004 15:34:15 -0000 Archived-At: List-Archive: List-Post: 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