From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-user+bounces-133199-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1RhpC1-000202-BR
	for garchives@archives.gentoo.org; Mon, 02 Jan 2012 21:13:17 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id CB474E0616;
	Mon,  2 Jan 2012 21:12:58 +0000 (UTC)
Received: from mail-ww0-f53.google.com (mail-ww0-f53.google.com [74.125.82.53])
	by pigeon.gentoo.org (Postfix) with ESMTP id C6EE521C087
	for <gentoo-user@lists.gentoo.org>; Mon,  2 Jan 2012 21:11:16 +0000 (UTC)
Received: by wgbds1 with SMTP id ds1so24711820wgb.10
        for <gentoo-user@lists.gentoo.org>; Mon, 02 Jan 2012 13:11:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=date:from:to:subject:message-id:in-reply-to:references:organization
         :x-mailer:mime-version:content-type:content-transfer-encoding;
        bh=8JCtc419Ml1Mj3omy6ClenaceQoLelWcCdU0zBubhM0=;
        b=mO7oXAAIsy12Y7YbJuT04nryIcq57xvlJVJNHU1dmdEAhoO277ajeopI3UlfnNaRLc
         Gq4D6OZiQ3gIc6i0gGqAGru8QVYg449aFXVYjIeZJHHr6v4y5sh3HdVxo15wAmlaSAG5
         T5Lqe8YcD7Ppun4tC5QLg/4O4FzGgNMPAzN60=
Received: by 10.227.203.84 with SMTP id fh20mr49367848wbb.27.1325538676058;
        Mon, 02 Jan 2012 13:11:16 -0800 (PST)
Received: from rohan.example.com (196-215-2-107.dynamic.isadsl.co.za. [196.215.2.107])
        by mx.google.com with ESMTPS id em4sm52048621wbb.20.2012.01.02.13.11.12
        (version=SSLv3 cipher=OTHER);
        Mon, 02 Jan 2012 13:11:15 -0800 (PST)
Date: Mon, 2 Jan 2012 23:11:03 +0200
From: Alan McKinnon <alan.mckinnon@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] emerge --update behavior
Message-ID: <20120102231103.58da25d5@rohan.example.com>
In-Reply-To: <4F01DC67.7070305@orlitzky.com>
References: <4F00D521.1030702@orlitzky.com>
	<CA+czFiBM3sJhw0h7RgfiehUyVjZMNX8dYosZrbL4AGUrh931JA@mail.gmail.com>
	<4F00DA99.8050502@orlitzky.com>
	<4F00DEC5.5090500@gmail.com>
	<CAK2H+eeLmuDsPtDWe7tH3wKfCzHcf=vErNogiFcj2yoBOSJD6g@mail.gmail.com>
	<4F00E741.6050002@orlitzky.com>
	<CAK2H+ee5x4FdrbHa17i-TzV+N2=w6fvsD+VjFWN6acBROui4ug@mail.gmail.com>
	<4F01CED2.5090806@libertytrek.org>
	<CAK2H+ecz2A-kAN81w9PMU56Mqb5i1e4sEEHMOvjQ58tbKSRPeg@mail.gmail.com>
	<4F01D6A2.9000002@orlitzky.com>
	<CA+czFiCyDpgi+2VtoB_=tyuJDHXe7-ty3ZrkSfY_omRKn7HhxA@mail.gmail.com>
	<4F01DC67.7070305@orlitzky.com>
Organization: Internet Solutions
X-Mailer: Claws Mail 3.7.8 (GTK+ 2.24.4; x86_64-pc-linux-gnu)
Precedence: bulk
List-Post: <mailto:gentoo-user@lists.gentoo.org>
List-Help: <mailto:gentoo-user+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-user+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-user+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-user.gentoo.org>
X-BeenThere: gentoo-user@lists.gentoo.org
Reply-to: gentoo-user@lists.gentoo.org
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Archives-Salt: 2b55a5ab-2824-4472-9ced-e7165c67d9d4
X-Archives-Hash: e88c1a4891a08fa8dc86b44f378b420e

On Mon, 02 Jan 2012 11:33:43 -0500
Michael Orlitzky <michael@orlitzky.com> wrote:

> On 01/02/2012 11:16 AM, Michael Mol wrote:
> >>
> >> Fine for your home PC, doesn't cut it on servers. I have the
> >> following in one of my world files:
> >>
> >>   dev-php/PEAR-Mail
> >>   dev-php/PEAR-Mail_Mime
> >>   dev-php/PEAR-PEAR
> >>   dev-php/PEAR-Structures_Graph
> >>
> >> which of those do I want? At least one of them was installed to
> >> support a customer's custom PHP application. Maybe all of them
> >> were and they all belong in world. No one knows, this server is
> >> older than the current --update behavior.
> >>
> >> So which ones can I remove?
> >>
> >> Solutions involving time travel and/or losing customers will be
> >> disqualified.
> >
> > Make a backup copy of your world file.
> >
> > 1a. Remove those four lines.
> > 2a. emerge -p --depclean
> > 3a. Did any of those show up in the to-be-removed set? Add them
> > back.
> >
> > Alternately:
> > 1b. emerge -pev --tree --with-bdeps=y @world
> > 2b Find those packages in the output. The tree form of the display
> > will help you see if anything is depending on them.
> > 3b. If anything is depending on them, you should be able to safely
> > remove them from your world file. I'd follow up with the 1a, 2a, 3a
> > solution to be sure.
> >
> 
> Sorry, but these won't work.
> 
> Let's say that dev-php/PEAR-Mail_Mime has a dependency on 
> dev-php/PEAR-Mail, but I have a customer who needs dev-php/PEAR-Mail
> for a contact form.
> 
> Following your process, I would remove dev-php/PEAR-Mail from my
> world file. If I ever remove dev-php/PEAR-Mail_Mime, depclean will
> remove PEAR-Mail and break the guy's site.
> 
cocktail
Neil's suggestion of sets sounds like what you want here. Unfortunately
it only works smoothly on first emerge (later on you have to dig
through dep graphs to find the full dep list):

First run emerge -p to find all the packages that will be pulled in,
and add the whole lot to a set with a clear name that indicates it's
function. Then emerge that set. As you discover further deps you can
manually add them to the set

It's quite a lot of extra work and you have to remember to do it, but
it has the benefit of being somewhat self-documenting, at least in
terms of having a record of what set pulled a package in initially.

-- 
Alan McKinnnon
alan.mckinnon@gmail.com