From: Brian Harring <ferringb@gmail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] RFC about another *DEPEND variable
Date: Sat, 23 Sep 2006 06:14:12 -0700 [thread overview]
Message-ID: <20060923131411.GA12282@seldon> (raw)
In-Reply-To: <200609230620.44422.vapier@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 3152 bytes --]
On Sat, Sep 23, 2006 at 06:20:44AM -0400, Mike Frysinger wrote:
> On Thursday 21 September 2006 11:08, Brian Harring wrote:
> > On Thu, Sep 21, 2006 at 10:43:11AM -0400, Mike Frysinger wrote:
> > > i'm referring to the specific file of course, not anything else in the
> > > package ... so integrating the hack eutils.eclass:preserve_old_lib() into
> > > portage so it isnt a hack (not a knock against the current implementation
> > > here; it's always going to be a hack until portage manages proper
> > > unmerging of the ABI library)
> >
> > The reason folks aren't talking about using NEEDED is that NEEDED data
> > is generated _after_ building;
>
> as well it should be ... trying to enumerate the linking ABI possibilities
> before hand is not doable and not worth wasting the time of maintainers when
> it can be automated
>
> > getting the info into the resolver
> > up front allows for a helluva lot more options, and makes stuff like
> > ensuring you have all sources required downloaded *prior* actually
> > simple to do, rather then inserting recalculating hacks into the
> > resolver.
>
> rather than integrating it all into the resolver in a one-pass system, a two
> pass system would work:
> - build all the packages requested
> - after each package, if an ABI library is being removed, check to see if it
> is needed by any other package. if it is needed, record it and preserve it
> and move on
You're assuming that after the merge of the pkg that breaks
compatibility, building is actually _still_ possible for the depends.
We don't classify our deps as actual build depends vs link depends; as
such trying to (essentially) "patch things up after" allow for the
scenario where merging breaks the toolchain, thus building isn't
possible.
Because we don't classify the type of build time dep, that means each
DEPEND match must have it's run time depends (RDEPEND) satisfied prior
to being usable as a DEPEND; that right there punches a whole in the
"delay till the end" approach, and is a good example of what I mean
when I say "this is unbounded resolution"; the only way to solve it is
to redo the resolution between finished building and merging the pkg
to determine if it will break any required DEPENDS for later steps.
> - once all the packages requested have been merged, you start the second
> phase and calculate everything that needs to be rebuilt. as ABI libs are no
> longer needed on a system, portage can scrub them out
"as ABI libs are no longer needed on a system", phrasing of that
implies you're suggesting that portage should leave the older package
in place till it's updated all revdeps, then wipe it.
Which is fairly nasty, especially if you factor in the user potential
of ctrl+c'ing it. Finally, if I'm interpretting your statement there
correctly, still isn't guranteed to work- just having the lib around
doesn't mean that the older package is left in a working state with
the new partially merged over it, only way that would work is if the
two were slotted (indicating they could coexist on disk).
~harring
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-09-23 13:20 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-21 10:35 [gentoo-dev] RFC about another *DEPEND variable Alin Nastac
2006-09-21 11:38 ` Luca Barbato
2006-09-21 11:59 ` Brian Harring
2006-09-21 13:52 ` Mike Frysinger
2006-09-21 14:04 ` Brian Harring
2006-09-21 14:43 ` Mike Frysinger
2006-09-21 15:08 ` Brian Harring
2006-09-23 10:20 ` Mike Frysinger
2006-09-23 13:14 ` Brian Harring [this message]
2006-09-23 13:50 ` Mike Frysinger
2006-09-23 13:59 ` Mike Frysinger
2006-09-23 14:30 ` Brian Harring
2006-09-24 3:31 ` Mike Frysinger
2006-09-25 18:16 ` Brian Harring
2006-09-27 6:24 ` Mike Frysinger
2006-09-27 7:54 ` Brian Harring
2006-09-30 18:01 ` Mike Frysinger
2006-09-30 19:34 ` Brian Harring
2006-10-02 12:53 ` Mike Frysinger
2006-09-21 14:14 ` Donnie Berkholz
2006-09-21 14:40 ` Mike Frysinger
2006-09-21 14:54 ` Donnie Berkholz
2006-09-21 15:01 ` Mike Frysinger
2006-09-24 2:36 ` Ciaran McCreesh
2006-09-24 3:13 ` Mike Frysinger
2006-09-21 14:56 ` Duncan Coutts
2006-09-21 15:10 ` Simon Stelling
2006-09-21 15:11 ` Mike Frysinger
2006-09-21 15:41 ` Duncan Coutts
2006-09-21 18:27 ` Luca Barbato
2006-09-21 21:34 ` Duncan Coutts
2006-09-21 23:25 ` Luca Barbato
2006-09-23 10:13 ` Mike Frysinger
2006-09-23 10:35 ` Duncan Coutts
2006-09-23 10:52 ` Mike Frysinger
2006-09-21 14:38 ` Alin Nastac
2006-09-21 14:46 ` Mike Frysinger
2006-09-21 17:24 ` Alin Nastac
2006-09-21 14:51 ` Brian Harring
2006-09-21 17:15 ` Alin Nastac
2006-09-21 19:51 ` Brian Harring
2006-09-23 10:05 ` Mike Frysinger
2006-09-23 14:24 ` Alin Nastac
2006-09-23 14:34 ` Mike Frysinger
2006-09-23 14:53 ` Brian Harring
2006-09-23 15:07 ` Mike Frysinger
2006-09-21 12:05 ` Alin Nastac
2006-09-21 13:50 ` Mike Frysinger
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=20060923131411.GA12282@seldon \
--to=ferringb@gmail.com \
--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