[devel] Задание зависимостезависимостей в RPM

Ivan Zakharyaschev =?iso-8859-1?q?imz_=CE=C1_altlinux=2Eru?=
Чт Дек 12 16:35:18 MSK 2002


	Hello!

On Thu, 12 Dec 2002, Anton V. Boyarshinov wrote:

> On Thu, 12 Dec 2002 14:29:57 +0300 Алексей Любимов
>  wrote:
>
> > > > Ситуация: Словари Myspell используются в ОО и Мозилле.
> > > > Хочется сделать так, чтобы пакеты с этими файлами
> > > > устанавливались если в системе есть одно из приложений или
> > > > оба, но не в отсутствие ОО с мозиллой. Механизм их
> > > > автоматического подключения к обоим чудищам есть.
> > >
> > > В ОО и Мозилле поставить
> > > Requires: slovar-1,slovar-2
> > >
> > > В  словарях поставить
> > > Provides: slovar-1
> > > или
> > > Provides: slovar-2
> > Правильно, но это не то. Словари нужны только если есть ОО или
> > Мозилла, но обратное неверно.
>
> Это тоже не верно. Нельзя ставить зависимости на пакеты, от
> которых пакет не зависит. Я уже писал, что то, что пакет сейчас
> может использоваться только с двумя пакетами ещё не значит, что
> так будет всегда.

По-моему, средств rpm не хватае, чтобы чисто описать то, что хочется.
Мне приходят в голову два кое-каких решения:

1. Пусть Mozilla и OO зависит от хотя бы одного словаря:

Requires: any-myspell-dictionary

а каждый словарь предоставлеят any-myspell-dictionary. Администратор
может установить те словари, которые нравятся, а при удалении Mozilla
или OO  с помощью apt-get -D remove mozilla удалятся и все словари, т.к.
от них никто больше зависеть не будет. (Про -D я читал только на
http://moin.conectiva.com.br/AptRpm).

2. Пусть словари требуют некоего myspell-dictionary-consumer:

Requires: myspell-dictionary-consumer

, а все, кто их использует, предоставляют:

Provides: myspell-dictionary-consumer

Такие "антизависимости" (они тут употреблены в необычном значении)
гарантируют, что словари не будут стоять, если только они кем-то не
используются.

> > Для ОО и тем более для Мозиллы словари суть
> > дополнительный сервис, который может быть излишним. Более того,
> > заранее неизвестно, какими языками пользуется хозяин машины и
> > какие словари захочет использовать. Пока что я сделал словари
> > без зависимостей вовсе(поскольку однозначное Requires тут
> > невозможно),
>
> И это правильно, так как сами словари не зависят от наличия
> Mozila | OO.
>
> > а подключение
> > происходит скриптами officespell-update и officespell-clean
> > наподобие menu.
>
> Главное, чтоб они корректно отрабатывали без ОО и Mozilla.

Мысль о том, что не хватает средств rpm, может быть продолджена дальше:
не хватает возможностей, предоставляемых системой, где установка пакетов
может совершаться только администратором. Во многих случаях
администратор не может предугадать, какие модули потребуются
пользователям, а все доступные ставить не хочется. Например, словари или
модули для Emacs (modes), предназначенные для редактирования текстов
какого-то вида. Было бы удобно, если бы такого рода пакеты пользователи
могди доставлять по своей воле без обращения к администратору. Сейчас у
них два выхода:

- обратиться к администратору
- скачать tar-ball, скомпилировать и поставить себе в ~/. При этом нужно
во многом разбираться обыкновенному пользователю. Возможность
использовать подготовленный для этого дистрибутива пакет сильно
облегчило бы его работу.

-- 
С наилучшими пожеланиями,
Иван Захарьящев, Москва




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