cblp
@cblp
говорящий с машинами

Существуют ли пакетные менеджеры с обратными и условными зависимостями?

Я такие не нашёл, поэтому напишу сразу, зачем оно нужно, чтобы вы удивились их отсутствию вместе со мной или подсказали, где я не прав.

Пусть есть гипотетический текстовый редактор Alef и воображаемый файловый формат-язык Bet. Если пользователь работает только в Alef и никак не касается Bet, то ему не нужна и поддержка подсветки для языка Bet. Разработчикам инструментов для работы с Bet малоинтересны всякие разнообразные редакторы, как и их плагины, обеспечивающие подсветку для их формата. Следовательно, ни пакет alef, ни пакет bet не будут зависеть от alef-highlight-bet. Рекомендовать или предлагать тоже вряд ли будут, потому что кроме указанных, в репозиториях есть ещё стопицот текстовых редакторов и стошисот форматов.

Но люди, у которых установлены и alef, и bet, с большой вероятностью пользуются и тем, и другим, значит, им нужен и alef-highlight-bet. Но как они узнают о его существовании? И вообще, зачем им узнавать об этом, если его можно установить автоматически? А для этого нужна всего лишь реализация обратных и условных зависимостей. Например, символически это можно записать так (возможное расширение правил Debian control):

Package: alef-highlight-bet
Reverse-Recommends: alef & bet


Вот ещё пример. Есть у нас веб-серверы Apache, Nginx, Lighttpd и ещё какие-нибудь. Есть также веб-приложение с названием, например, Gimel. Если пакет Gimel будет нести с собой скрипты и конфигурационные файлы для установки и запуска себя под все возможные веб-серверы, будет, как мне кажется, захламляться мусором /etc/. Их можно бы вынести в отдельные пакеты gimel-config-apache, gimel-config-apache2 и т. д.

Package: gimel
Depends: gimel-config-apache if apache, gimel-config-apache2 if apache2
  • Вопрос задан
  • 2368 просмотров
Пригласить эксперта
Ответы на вопрос 3
BuriK666
@BuriK666
Компьютерный псих
Добро пожаловать в мир Gentoo. тут конечно не совсем так, но USE флаги специально для этого и сделаны.
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Я вот у себя делаю:
sudo apt-get install wine1.3
…
…
The following extra packages will be installed:                                                                                                                                                           
  binfmt-support cabextract …
Recommended packages:                                                                                                                                                                                     
  ttf-umefont 

Чем это отличается от первого из указанных вами use-case'ов?
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
Договариваться нужно не с разработчиками ПО, а разработчиками ebuild'ов.

Вы в какой роли выступаете? разработчик alef, bet или еще кого?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы