public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Sergey Popov <pinkbyte@gentoo.org>
To: Tom Wijsman <TomWij@gentoo.org>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Dependencies default to accept any slot value acceptable (:*), can we default to :0 instead?
Date: Mon, 09 Dec 2013 10:52:15 +0400	[thread overview]
Message-ID: <52A5689F.1040402@gentoo.org> (raw)
In-Reply-To: <20131208175438.100112a0@TOMWIJ-GENTOO>

[-- Attachment #1: Type: text/plain, Size: 3392 bytes --]

08.12.2013 20:54, Tom Wijsman пишет:
> Hello fellow developers
> 
> == Situation ==
> 
> When specifying a dependency like cat/pkg it will default to cat/pkg:*
> which is defined in `man 5 ebuild` as:
> 
>     * Indicates  that  any  slot value is acceptable. In addition,
>       for runtime dependencies, indicates that the package will not
>       break if the matched package is uninstalled and replaced by a
>       different matching package in a different slot.
> 
> This default reflects different behavior than what we use slots for,
> besides allowing side-by-side installations we rather use it to
> specifically depend on a new major version. (eg. dev-libs/glib).
> 
> Let's say I want to a add a new major version of cat/pkg to the Portage
> tree, introducing it in the same SLOT="0" isn't an option. This gives
> us two options, one is SLOT="2", the other is to create cat/pkg2 or so.
> 
> Creating a new SLOT is the most sane thing going forward; but, as the
> default (:*) depends on any SLOT, this needs a half thousand commits to
> fix up reverse dependencies. Thus, instead a new package is made. [1]
> 
> When our defaults force us down such path, that can't be good and it
> affects the quality of our Portage tree; so, this makes me wonder, can
> we change the default from :* to :0? What do you think?
> 
>  [1] https://bugs.gentoo.org/show_bug.cgi?id=493652
>      "media-libs/libsdl2: should be a SLOT=2 of media-libs/libsdl"
> 
> == Task ==
> 
> If we agree we do this; in order to change :* to :0, we need to change
> the PMS to cover this change and implement it in the package managers.
> 
> Before we do that, we need to evaluate how practical this is to apply.
> While we are trying to fix the default behavior, what would changing
> the default from :* to :0 break?
> 
> One thing that directly comes to mind is that dependencies that have no
> SLOT="0" ebuild present would need us to manually specify a specific
> SLOT; given that this is a not so common situation, the amount of
> commits needed here is low.
> 
> Another thing that comes to mind is that we need to check what to do
> with packages were the highest available version does not belong to
> SLOT="0"; technically, restricting these to SLOT="0" will not cause
> breakage, it might however cause some blockers. We'll have to look
> closer into how we can alleviate this result.
> 
> Is there anything else we need to take into account?
> 
> == Summary ==
> 
> Situation:
> 
>     Defaulting to :* on SLOT-less dependencies makes it hard to add a
>     new SLOT to a package, using :0 instead would not make this a
>     problem and not require to fix up all reverse dependencies.
> 
> Task:
> 
>     Check results, correct some exceptions, update PMS, implement it.
> 
> Thank you in advance for participating in this discussion.
> 

In short - please do NOT do this. More complicated answer - you break
the whole idea of slots. When user types 'emerge cat/foo' it means now -
"i want cat/foo, whatever versions it will be(depending on mask,
keywords, etc, etc)". Your proposal changes this behaviour drastically,
and reasons for such changes are not worth it.

-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Qt project lead
Gentoo Proxy maintainers project lead


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 555 bytes --]

  parent reply	other threads:[~2013-12-09  6:53 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 [this message]
2013-12-09 10:55   ` Tom Wijsman
2013-12-09 16:06     ` Rich Freeman
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=52A5689F.1040402@gentoo.org \
    --to=pinkbyte@gentoo.org \
    --cc=TomWij@gentoo.org \
    --cc=gentoo-dev@lists.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