Y
Y
Yuri Syrovetsky2012-01-17 18:20:41
Electronic commerce
Yuri Syrovetsky, 2012-01-17 18:20:41

Are there package managers with reverse and conditional dependencies?

I didn’t find such, so I’ll write right away why it is needed so that you are surprised at their absence with me or tell me where I’m wrong.

Let there be a hypothetical text editor Alef and an imaginary file format-language Bet. If the user works only in Alef and does not touch Bet in any way, then he does not need highlighting support for the Bet language. Developers of tools for working with Bet have little interest in all sorts of different editors, as well as their plugins that provide highlighting for their format. Therefore, neither the alef package nor the bet package will depend on alef-highlight-bet. They are also unlikely to recommend or offer, because in addition to those indicated, there are still hundreds of text editors and hundreds of formats in the repositories.

But people who have both alef and bet installed are more likely to use both, which means they need alef-highlight-bet as well. But how do they know about its existence? And in general, why would they need to know about it, if it can be installed automatically? And for this you need only the implementation of reverse and conditional dependencies. For example, symbolically this can be written like this (possible extension of the Debian control rules):

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


Here's another example. We have Apache, Nginx, Lighttpd, and some other web servers. There is also a web app called Gimel, for example. If the Gimel package carries scripts and configuration files with it to install and run itself under all possible web servers, it seems to me that /etc/ will be littered with garbage. They could be moved to separate packages gimel-config-apache, gimel-config-apache2, etc.

Package: gimel
Depends: gimel-config-apache if apache, gimel-config-apache2 if apache2

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Andrey Burov, 2012-01-17
@BuriK666

Welcome to the world of Gentoo. here, of course, not quite so, but USE flags are made specifically for this.

K
Konstantin Kitmanov, 2012-01-17
@k12th

Here's what I'm doing:

sudo apt-get install wine1.3
…
…
The following extra packages will be installed:                                                                                                                                                           
  binfmt-support cabextract …
Recommended packages:                                                                                                                                                                                     
  ttf-umefont 

How does this differ from the first of the use-cases you mentioned?

A
Andrey Burov, 2012-01-18
@BuriK666

You need to negotiate not with software developers, but with ebuild developers.
What role are you playing? developer alef, bet or someone else?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question