public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Rich Freeman <rich0@gentoo.org>
To: gentoo-dev <gentoo-dev@lists.gentoo.org>
Cc: Sergey Popov <pinkbyte@gentoo.org>
Subject: Re: [gentoo-dev] Dependencies default to accept any slot value acceptable (:*), can we default to :0 instead?
Date: Mon, 9 Dec 2013 11:06:05 -0500	[thread overview]
Message-ID: <CAGfcS_=Pmd98b8fu1SmO9WNkhHsyJ5hEgjWNDOsvu18uWR2w5A@mail.gmail.com> (raw)
In-Reply-To: <20131209115527.4ef48b36@TOMWIJ-GENTOO>

On Mon, Dec 9, 2013 at 5:55 AM, Tom Wijsman <TomWij@gentoo.org> wrote:
> For the dependency syntax, having :* as a default breaks things or
> causes a lot of work. If explicit slots (or :0) were the default, it
> works and you spare out dealing with lots of reverse dependencies when
> you introduce a new slot.

I was giving this some more thought and here is another way of looking at this.

Let A be the set of all situations where it makes sense to create a
new slot for a package that has reverse dependencies.

Let B be the subset of A where it makes sense for those reverse
dependencies to automatically use the new slot without any
intervention by the reverse dep maintainers.

If |B| >> |A \ B| then the current default makes sense.  (That is, if
the number of elements in B is much larger than the number of elements
in A that aren't in B.)

If |B| << |A \ B| then it would make sense to require all slot
dependencies to be explicit, and the ":*" dependency to be frowned
upon in general.

I think that the above just makes sense if you think about it, so I'll
use that as my initial premise for what follows.  By all means
challenge this.

So, what I'm going to do now is speculate that B = ∅ (that is B is the
empty set).  Therefore, it makes sense to get rid of the current
default and require all slot deps to be explicit.

If you think that B isn't the empty set, it is trivial for you to
demonstrate that this is the case.  Simply give me a single example of
a situation where:
1.  It makes sense for a dep to use a new slot.
2.  It makes sense for all of its reverse deps to automatically use
the new slot without any further intervention by the individual
reverse dep maintainers.

I can't think of any, and I'm all ears if somebody else can.  It seems
to me that our current default optimizes for a situation that is
dubious from a QA standpoint.  Its main virtue is that you don't have
to go look up what the current slot is for slot-less packages, but
honestly if you just stuck a :0 on every line of your ebuild chances
are it would work on the first install and at least the behavior would
be consistent for anybody else who uses it.

Rich


  reply	other threads:[~2013-12-09 16:06 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-08 16:54 [gentoo-dev] Dependencies default to accept any slot value acceptable (:*), can we default to :0 instead? Tom Wijsman
2013-12-08 23:57 ` Patrick Lauer
2013-12-09  0:12   ` Tom Wijsman
2013-12-09  0:21   ` Rich Freeman
2013-12-09  6:52 ` Sergey Popov
2013-12-09 10:55   ` Tom Wijsman
2013-12-09 16:06     ` Rich Freeman [this message]
2013-12-09 16:19       ` Ulrich Mueller
2013-12-10  0:31         ` Tom Wijsman
2013-12-10  8:11           ` [gentoo-dev] " Martin Vaeth
2013-12-10  8:24             ` Ulrich Mueller
  -- strict thread matches above, loose matches on Subject: below --
2013-12-08 16:56 [gentoo-dev] " Tom Wijsman
2013-12-08 17:16 ` Michał Górny
2013-12-08 17:19 ` Andreas K. Huettel
2013-12-08 17:26   ` Pacho Ramos
2013-12-08 17:46     ` Tom Wijsman
2013-12-08 18:56       ` Rich Freeman
2013-12-08 19:14   ` Ulrich Mueller
2013-12-08 19:39     ` Rich Freeman
2013-12-08 19:48       ` Ciaran McCreesh
2013-12-08 20:01       ` Ulrich Mueller
2013-12-08 20:17         ` Rich Freeman
2013-12-09  2:37           ` heroxbd
2013-12-09  2:55             ` Rich Freeman
2013-12-09  3:19               ` heroxbd
2013-12-08 20:21         ` Tom Wijsman
2013-12-08 20:25           ` Ciaran McCreesh
2013-12-10 21:06           ` Ian Stakenvicius
2013-12-10 23:35             ` Tom Wijsman
2013-12-08 20:04     ` Tom Wijsman
2013-12-08 20:21       ` Ulrich Mueller
2013-12-08 20:26         ` Ciaran McCreesh
2013-12-08 20:31           ` Ulrich Mueller
2013-12-08 21:54           ` Michał Górny
2013-12-08 22:02             ` Ciaran McCreesh
2013-12-08 20:28         ` Tom Wijsman
2013-12-08 20:30         ` Tom Wijsman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAGfcS_=Pmd98b8fu1SmO9WNkhHsyJ5hEgjWNDOsvu18uWR2w5A@mail.gmail.com' \
    --to=rich0@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=pinkbyte@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox