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 C742513877A for ; Mon, 28 Jul 2014 05:06:43 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 96BAAE0CE3; Mon, 28 Jul 2014 05:06:38 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9941DE0C6F for ; Mon, 28 Jul 2014 05:06:37 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id B574733FF98 for ; Mon, 28 Jul 2014 05:06:36 +0000 (UTC) X-Virus-Scanned: by amavisd-new using ClamAV at gentoo.org X-Spam-Flag: NO X-Spam-Score: -0.913 X-Spam-Level: X-Spam-Status: No, score=-0.913 tagged_above=-999 required=5.5 tests=[AWL=0.457, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.668, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=unavailable Received: from smtp.gentoo.org ([IPv6:::ffff:127.0.0.1]) by localhost (smtp.gentoo.org [IPv6:::ffff:127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qiJQPnRbISHr for ; Mon, 28 Jul 2014 05:06:27 +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 smtp.gentoo.org (Postfix) with ESMTPS id 5DF5033FF4D for ; Mon, 28 Jul 2014 05:06:26 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XBd8f-0000ds-Ow for gentoo-dev@gentoo.org; Mon, 28 Jul 2014 07:06:21 +0200 Received: from epidot.math.uni-rostock.de ([139.30.30.47]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 28 Jul 2014 07:06:21 +0200 Received: from martin by epidot.math.uni-rostock.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 28 Jul 2014 07:06:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-dev@lists.gentoo.org From: Martin Vaeth Subject: [gentoo-dev] Re: don't rely on dynamic deps Date: Mon, 28 Jul 2014 05:06:08 +0000 (UTC) Message-ID: References: <53CD6BED.10603@gentoo.org> <53CD8BBA.2010605@gentoo.org> <53D5072E.3030305@gentoo.org> <20140727222429.3febdefa@pomiot.lan> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-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: epidot.math.uni-rostock.de User-Agent: slrn/pre1.0.0-18 (Linux) X-Archives-Salt: 4d01c56a-9fdf-4ec7-b555-c1f22ff6b659 X-Archives-Hash: 519d54a07e1f566278d9ad6369f0d6d7 Michał Górny wrote: > > Consider the following: > > 1. A depends on B, both are installed, > > 2. dependency on B is removed, emerge --depclean uninstalls B thanks > to dynamic-deps, > > 3. B is treecleaned (nothing depends on it), > > 4. old version of A is removed (user doesn't update it yet), therefore > dependency on B is restored from vdb. > > So, now user has package A installed which has unsatisfied dependency > on non-available package. And this is per se not a bad situation: The version of A which the user has installed is obsolete and needs to be upgraded. This happens with emerge -NDu @world which should be the first (portage-related) action the user does after syncing (certainly before removing packages with emerge depclean, as he is already instructed clearly). When he does not, it is a user error. When he insists on not updating A, he should have a very valid reason for this and take responsibility for the situation by maintaining A in his overlay: As already mentioned several times, it is impossible to handle unmaintained packages/versions correctly in all situations. Whenever a package is removed or all available versions of a package[:slot] are masked and no update happens, portage *must* print a big fat warning, since this is a situation which can always lead to problematic situations - completely independent of whether dynamic deps or static deps are used.