From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-dev+bounces-66985-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id D773C13877A for <garchives@archives.gentoo.org>; Sun, 27 Jul 2014 14:42:26 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B36A0E0C52; Sun, 27 Jul 2014 14:42:21 +0000 (UTC) Received: from mail-vc0-f177.google.com (mail-vc0-f177.google.com [209.85.220.177]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D0EABE0C2A for <gentoo-dev@lists.gentoo.org>; Sun, 27 Jul 2014 14:42:20 +0000 (UTC) Received: by mail-vc0-f177.google.com with SMTP id hy4so9705015vcb.22 for <gentoo-dev@lists.gentoo.org>; Sun, 27 Jul 2014 07:42:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=q03bzIg6Zvi4yEPZtn1uI1VGaq3ocMbN+BdV4Ux3J4U=; b=hYsFwNfW7iMyeAWque/Eootjn5WYvUqgdfptJegTUysiCVu6j9TBJ6PYMrSzGkY75a ij1fts52+28vrob9iHehyRZaW8wA01TqF3qerOMkPjzvQEUsPyr6NOH77WcwhXPnVGjt gxmjGgekYjpl6GE0+vYrTArf076d46A5wOUfMpwHcY9CNR/toawQqzmBCxam6+lYcI2Q 2VxsiW8lUREcsRRrqJaWfAD5h7gku8sFnbOPT4Mri+h22dRqxrwrXE/muMVYONGuzcfK qBPDJb9HamdK8u/2g1kwAeLgjPYVvsJOb6bup2O9yHZTheJie6nutbsn2H8aK/pSld4k VGQA== Precedence: bulk List-Post: <mailto:gentoo-dev@lists.gentoo.org> List-Help: <mailto:gentoo-dev+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org> X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 X-Received: by 10.52.38.105 with SMTP id f9mr30052225vdk.17.1406472139970; Sun, 27 Jul 2014 07:42:19 -0700 (PDT) Sender: freemanrich@gmail.com Received: by 10.52.8.229 with HTTP; Sun, 27 Jul 2014 07:42:19 -0700 (PDT) In-Reply-To: <53D5072E.3030305@gentoo.org> References: <53CD6BED.10603@gentoo.org> <53CD8BBA.2010605@gentoo.org> <53D5072E.3030305@gentoo.org> Date: Sun, 27 Jul 2014 10:42:19 -0400 X-Google-Sender-Auth: cFibPhNcN8TtBG5BGcVIhF_ftPU Message-ID: <CAGfcS_k7gYpC6DnF3TJLKXb9fa0f2ix4Eap5V2BADRZWUD=0uw@mail.gmail.com> Subject: Re: [gentoo-dev] don't rely on dynamic deps From: Rich Freeman <rich0@gentoo.org> To: gentoo-dev <gentoo-dev@lists.gentoo.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: aaa376c6-9f6a-42f5-8d43-ca9e4634104b X-Archives-Hash: a377e1dd27cac23107d25e3e5ab9096f On Sun, Jul 27, 2014 at 10:05 AM, "Pawe=C5=82 Hajdan, Jr." <phajdan.jr@gentoo.org> wrote: > On 7/21/14, 11:52 PM, Alexander Berntsen wrote: >> Micha=C5=82 has documented the shortcomings of dynamic deps in our wiki[= 0]. >> (Thank you!) [...] >> [0] <https://wiki.gentoo.org/wiki/Project:Portage/Dynamic_dependencies> > > There's one more thing I'd like to ask about: > > For "Minor linking change w/ dependency change (unnecessary linking > removed)" the "dynamic deps" cell is red with "revbump + mostly > unnecessary rebuild", and "static deps" says "applied after rebuild". > > Arguably with dynamic deps one could also skip the revbump, and the > update would similarly be applied after rebuild. With dynamic deps you'd need to revbump if there is a linking change. Otherwise portage would just allow the dependency to be removed, and then linking will break, since the executable is unnecessarily linked to the dependency (in that scenario). If you wanted to apply the change after rebuild then you'd need to have a way to communicate to portage whether a dependency removal can be applied immediately (extraneous unlinked dependency) or only after rebuild (extraneous linked dependency). The table speaks mostly to portage as-is without additions like those posted in this thread. I think that USE changes basically involve potentially-unnecessary rebuilds no mater what in most real-life cases. Most people use the --newuse option when updating their system, so even if static dependencies don't require rebuilds they're going to get them anyway. Not using --newuse can cause different issues. One thing I would question in that table is "applied immediately (but can break hard when dynamic-deps stop working))." How can dynamically removing an "unused dependency" cause something to break, setting aside bugs in the package manager? If removing a dependency causes something to break, how can it be "unused?" Rich