From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 37E0413888F for ; Wed, 21 Oct 2015 01:51:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E00FAE0818; Wed, 21 Oct 2015 01:51:45 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 46A4CE0814 for ; Wed, 21 Oct 2015 01:51:45 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZoiZ5-0002ol-EO for gentoo-portage-dev@lists.gentoo.org; Wed, 21 Oct 2015 03:51:43 +0200 Received: from ip98-167-165-199.ph.ph.cox.net ([98.167.165.199]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 21 Oct 2015 03:51:43 +0200 Received: from 1i5t5.duncan by ip98-167-165-199.ph.ph.cox.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 21 Oct 2015 03:51:43 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-portage-dev@lists.gentoo.org From: Duncan <1i5t5.duncan@cox.net> Subject: [gentoo-portage-dev] Re: [PATCH] emerge(1): document --oneshot caveats (bug 563482) Date: Wed, 21 Oct 2015 01:51:33 +0000 (UTC) Message-ID: References: <1445369394-24758-1-git-send-email-zmedico@gentoo.org> <562699BA.4010901@gentoo.org> <20151021003737.GA12188@fraenk> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ip98-167-165-199.ph.ph.cox.net User-Agent: Pan/0.140 (Chocolate Salty Balls; GIT c9c83f3) X-Archives-Salt: 33c5b851-b721-46c7-8f10-52c154c1879d X-Archives-Hash: 8814e98721adfbca97b33056d4ad4534 Rob Wortman posted on Tue, 20 Oct 2015 17:37:37 -0700 as excerpted: > On 2015-10-20 at 21:44:58 +0200, bernalex@gentoo.org wrote: >> (since it's describing somewhat complicated functionality) > > So, I'm curious what's actually going on there. If I emerge packages > with --oneshot, does that create the possibility of broken dependencies > for world-reachable packages, or does updating @world create the > possiblity of broken dependencies for oneshot'ed packages? AFAIK, the latter. @world's dep-calc doesn't take into account anything beyond what's in @world (which by definition includes @system and, where appropriate, @profile). So @world should be safe, but packages not in it or deps of what's in it aren't accounted for and both won't be updated, and could be unmerged if the depgraph that portage calculates for @world works most directly by doing so. They won't be unmerged unless they're simple-blockers to something, however; that's what depclean is for. It's just that portage doesn't account for them in the depgraph, either, and thus might "accidentally" unmerge them. Meanwhile, the suggestion that --update --deep avoids the problem is most interesting to me, since all my normally used update-everything scripts have included --deep for nigh on a decade, now, while my normally used named-merge scripts have included --oneshot, since back in the day I didn't want to inadvertently pollute my world file with manually merged deps, and these days I don't even have an @world file, only a world_sets file, which names the various sets I've grouped the contents of both my former @world file and my former @system set (which is nullified, no @system packages at all, here, with everything I decided I actually needed in @world). Plus, I reasonably commonly use merged but not assigned to a set packages as a sort of temporary package purgatory, for testing until I've decided I either like the package enough to keep, in which case I add it to the appropriate set as named in @world_sets, or I don't, in which case I simply run depclean and it cleans up both the package and any deps that only it pulled in, without cleaning up anything else, since I always run depclean in --ask mode after an update, simply to keep my system free of any detritus. But I'm not sure of the avoidance mechanism, since for all I knew, without @world pinning them in, portage's depgraph didn't include them and that was that, --deep or not. So the connection between --deep and --oneshot is new to me, and I'd love to know more about the implications. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman