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 ) 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 ; Mon, 2 Jan 2012 21:11:16 +0000 (UTC) Received: by wgbds1 with SMTP id ds1so24711820wgb.10 for ; 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 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> <4F00DA99.8050502@orlitzky.com> <4F00DEC5.5090500@gmail.com> <4F00E741.6050002@orlitzky.com> <4F01CED2.5090806@libertytrek.org> <4F01D6A2.9000002@orlitzky.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: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail 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 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