[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: idea: generalized soft dependencies


Thank you for comments.

2013-05-09 18:44, David Kalnischkies:
> On Wed, May 8, 2013 at 8:51 PM, Eugene V. Lyubimkin <jackyf@debian.org> wrote:
> > Soft-Depends: a {90%}, b (>= 1.2) {20%}, c (>= 4) {99%}, c (>= 6) {70%}
> If we assume its already hard to decide "recommends" or "suggests" it will
> be impossible to choose a number between 0 and 100. Basically we are rating
> likelihood of usage here and while the one provided by "a" will be a
> common one for many, I am not up to the task of deciding if it will be
> used by 90%, 80% or "just" 70% so naturally numbers will be assigned at
> "random", which in turn means as a user I can't say: hey, install if
> >= 70/80/90 as it means something different for everyone.

Interesting view. I saw it from exactly opposite direction: one
maintainer sees Recommends as '>95%' and another as '>60%'. I as
maintainer would have much easier time with writing percents or other
attribute criteries than putting all different stuff into two
categories, YMMV. 70% and 80% are close to each other, true, but 90% and
99% are two different things, and using current rules I'd put both to
Recommends. Many maintainers put "99%"-stuff" to Depends because users
cannot command "disable '<90%'-Recommends" so they command "disable all
Recommends". This is (part of) what I am trying to solve.

tl;dr: I would want to be able to differentiate between, for example,

- "install this or your system will break (unless you did special things so it does not)";
- "install this unless you know you'll never need this feature";
- "this things is worth installing by default".

> > Soft-Depends: iceweasel {50%,tag:desktop}, curl {95%,if_not_installed:wget}
> So supposedly on 50% of all desktops iceweasel is installed which can
> in turn be used by the software having this dependency. Great, but I still
> have no idea why 50% installed it and 50% don't.

It was an example of maintainer guessing that half of users of some
software will want also iceweasel installed, provided the computer "is

> Which 50% group I am part of? The tag desktop might give a hint, but
> such tags need to be defined and carry a meaning. A tag like "laptop"
> tells me that it will help with powersaving (which would probably be the
> better tag name, as I will like want to install it on my phone too),
> "printing" is useless if I don't have a printer, "online" and "streaming"
> might not be the best ideas if I have no internet connection at all …
> That's a lot harder of course, but caries way more useful information as
> I have no idea how many people don't have their own nuclear power plant,
> highspeed internet or a printer. 30, 50 or 90% ? I might be able to answer
> that in my area (and I would probably still be wrong), but not on a global
> scale.

I don't propose any specific attribute. I propose to have an ability to later
discuss and standardize these attributes.

> > Soft-Depends: debdelta {10%,text:"to enable automatic delta downloading"}
> While this solves the why, we have a new problem: Translations
> And these texts are quickly written in a way a user can't use:
> What the hell is a "delta"? -> debian-l10n-english to the rescue!?

You speak about problems of a specific example attribute. We might use
text: attribute, we might not use is. Unless your point is say that
(all) attributes don't help (and therefore the proposal doesn't make the
situation better), this is not what proposal is about.

> Of course, this doesn't work if wget is used instead of debdelta in the
> example as wget is used by a lot of stuff, but always for the same task:
> So annotating all dependencies on wget with the tag use:downloading just
> feels wrong. And the package wget is already tagged with use:downloading,
> we just don't make proper use of this so far.

Sounds like I had not enough good example if you feel this was about
'use:downloading'. The idea of this example was not to repeat packages
descriptions, but say how the soft dependency will help exactly this
package in question. This one should illustrate better:

libcupt2-0: Soft-Depends: ed (text:"to enable downloading PDiffs")

> [...] we should really use the current information we
> already have much more [...]

I kind of disagree here. Currently we have zero dependency-specific
information apart of a) what group of Depends/Recommends/Suggests the
maintainer put the dependency to b) possible free-form explanations in
long descriptions or other package documentation.

Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++ GNU/Linux userspace developer, Debian Developer

Reply to: