public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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 --]

  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