On Mon, Dec 9, 2013 at 5:55 AM, Tom Wijsman <tom...@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