From: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
To: gentoo-project@lists.gentoo.org
Subject: Re: [gentoo-project] Re: Call for agenda items - Council meeting 2014-08-12
Date: Fri, 1 Aug 2014 14:37:41 +0100 [thread overview]
Message-ID: <20140801143741.1ebf8df6@googlemail.com> (raw)
In-Reply-To: <CAGfcS_kJYrVaOjUEoJ5wDmm=Y+DE7opjhv7nP3QGPq9AUk9x6A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3221 bytes --]
On Fri, 1 Aug 2014 09:24:46 -0400
Rich Freeman <rich0@gentoo.org> wrote:
> The thing is, with @preserved-rebuild I don't have to run
> revdep-rebuild for the packages that either can't be or simply aren't
> migrated to slot operator deps. That is a huge win. Also, random
> things aren't broken during the time that I'm rebuilding, so I don't
> end up chrooting into my system from a rescue CD when I forget to run
> revdep-rebuild. I'll be happy when the day comes when we can get rid
> of it, but that day is not yet here.
Unfortunately, like dynamic dependencies, there's a vicious feedback
cycle of increasingly ugly hacks with preserved-rebuild. People start
to use it, and it sometimes doesn't work, so another hack is added in
to work around one thing at the expense of three others, so people
carry on using it, so another hack is added in, and so on. It's not a
sustainable development model, and it's not something that will be
fixed by letting users and developers continue with a short-term view.
> Generally speaking portage has favored usability over beauty of
> design. That has made it harder to maintain, but far more popular.
Portage favours usability in the case that nothing goes wrong, and it
does it by making it ever more likely that something will go horribly
wrong to the point that you have to give up and reinstall everything.
Paludis tries hard to make sure everything is correct, at the expense
that you have to invest smaller amounts of time as you go along fixing
errors. The key point is, this investment would be much smaller if the
quality of inputs was higher. This would be good for users, but also
for developers: wouldn't you like to replace all your horrible
complicated eclasses that generate perverse dependency strings with
something much simpler?
> And what I'm really asking for here is for somebody to actually
> explain what is actually wrong with dynamic dependencies.
The big issues are:
* They suddenly stop working if an ebuild is removed.
* They can make a 'sync' break a user's system.
* They don't work with binary packages.
* They don't work with overlays.
* They don't work with "resurrecting" packages in overlays.
* They're utterly incompatible with subslot deps.
* Someone adds selinux support to foo. Then a new bar starts requiring
foo[selinux]. The user hasn't rebuilt their foo to get selinux
support, but the dependency is still met, thanks to dynamic
dependencies.
* The ruby-config example (details from memory, probably inaccurate,
but the idea is right): Ruby ebuilds used to dep upon something like
ruby-config, and they used it in pkg_prerm. The ebuilds were changed
to use eselect-ruby instead. Users would replace ruby-config with
eselect-ruby, and then be unable to uninstall or upgrade old ebuilds,
because "dynamic" dependencies incorrectly changed the dependency
without changing the pkg_prerm function.
But most fundamentally, the idea that a thing in VDB is somehow always
associated with exactly one ebuild in the tree, and that changes to
that ebuild are reflected in VDB, just doesn't work except in trivial
cases.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2014-08-01 13:37 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-29 9:18 [gentoo-project] Call for agenda items - Council meeting 2014-08-12 Ulrich Mueller
2014-07-29 12:06 ` Pacho Ramos
2014-07-29 19:22 ` Michał Górny
2014-08-02 9:23 ` Pacho Ramos
2014-08-03 4:18 ` Samuli Suominen
2014-08-03 6:45 ` Michał Górny
2014-08-03 8:55 ` Ulrich Mueller
2014-08-03 10:04 ` Samuli Suominen
2014-08-03 10:11 ` Ulrich Mueller
2014-08-03 10:35 ` Samuli Suominen
2014-08-05 3:29 ` William Hubbs
2014-08-03 10:46 ` Michał Górny
2014-07-29 22:59 ` [gentoo-project] Re: [gentoo-dev-announce] " Patrick McLean
2014-07-30 10:35 ` Ulrich Mueller
2014-07-30 13:47 ` hasufell
2014-07-30 13:50 ` hasufell
2014-07-30 7:26 ` [gentoo-project] " Michał Górny
2014-07-30 10:28 ` Alexander Berntsen
2014-07-30 11:44 ` Andrew Savchenko
2014-07-30 13:48 ` Michał Górny
2014-07-30 13:48 ` Alexander Berntsen
2014-07-31 7:36 ` Andrew Savchenko
2014-08-02 10:01 ` Michał Górny
2014-08-02 11:53 ` hasufell
2014-07-30 16:23 ` Andreas K. Huettel
2014-07-31 7:21 ` Andrew Savchenko
2014-07-31 9:41 ` Patrick Lauer
2014-07-30 11:04 ` Andreas K. Huettel
[not found] ` <CA+rTEUPff5TOCuF=W5KQmD_Nq44ksEb=zKD8G3k2h72T4uUBAA@mail.gmail.com>
2014-07-30 18:15 ` Andreas K. Huettel
2014-07-31 10:53 ` Rich Freeman
2014-07-31 11:40 ` [gentoo-project] " Michael Palimaka
2014-07-31 11:49 ` [gentoo-project] " hasufell
2014-08-01 0:29 ` Rich Freeman
2014-07-31 18:03 ` Re: " Denis Dupeyron
2014-07-31 18:17 ` Seemant Kulleen
2014-07-31 18:43 ` Denis Dupeyron
2014-07-31 18:47 ` [gentoo-project] " Michael Palimaka
2014-07-31 18:51 ` [gentoo-project] " hasufell
2014-07-31 18:57 ` Denis Dupeyron
2014-07-31 19:03 ` hasufell
2014-08-02 11:24 ` Michał Górny
2014-07-31 14:40 ` [gentoo-project] " Michael Palimaka
2014-07-31 14:59 ` Samuli Suominen
2014-07-31 15:26 ` Ciaran McCreesh
2014-07-31 15:55 ` hasufell
2014-07-31 15:25 ` Ciaran McCreesh
2014-07-31 16:07 ` Alexander Berntsen
2014-08-01 0:34 ` Rich Freeman
2014-08-01 11:51 ` Alexander Berntsen
2014-08-01 12:44 ` Rich Freeman
2014-08-01 12:57 ` Ciaran McCreesh
2014-08-01 13:03 ` hasufell
2014-08-01 13:24 ` Rich Freeman
2014-08-01 13:33 ` Seemant Kulleen
2014-08-01 13:39 ` Rich Freeman
2014-08-01 13:37 ` Ciaran McCreesh [this message]
2014-08-01 14:00 ` Rich Freeman
2014-08-01 14:35 ` hasufell
2014-08-01 15:05 ` Rich Freeman
2014-08-02 12:05 ` hasufell
2014-08-01 16:23 ` Michael Palimaka
2014-08-01 16:42 ` hasufell
2014-08-02 15:04 ` Ciaran McCreesh
2014-07-31 19:12 ` Michał Górny
2014-07-31 19:32 ` Samuli Suominen
2014-07-31 19:36 ` Ciaran McCreesh
2014-08-01 2:17 ` Rich Freeman
2014-08-01 6:51 ` Michał Górny
2014-08-01 9:31 ` Rich Freeman
2014-08-01 20:55 ` Michał Górny
2014-08-01 16:54 ` Michael Palimaka
2014-08-01 17:03 ` hasufell
2014-08-01 17:23 ` Michael Palimaka
2014-08-01 17:37 ` hasufell
2014-08-01 18:09 ` Michael Palimaka
2014-08-01 18:27 ` Samuli Suominen
2014-08-13 9:15 ` Tom Wijsman
2014-08-01 19:40 ` Michael Palimaka
2014-08-01 19:47 ` Michał Górny
2014-08-05 8:49 ` [gentoo-project] " Michał Górny
2014-08-05 10:25 ` Ulrich Mueller
2014-08-05 20:51 ` Michał Górny
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=20140801143741.1ebf8df6@googlemail.com \
--to=ciaran.mccreesh@googlemail.com \
--cc=gentoo-project@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