From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Upgrading packages with substitutes only (bug #26608) Date: Mon, 19 Jun 2017 14:02:13 +0200 Message-ID: <87vansw5h6.fsf@gnu.org> References: <1497641285.3576580.1011852760.32CE7351@webmail.messagingengine.com> <8737ay9rb7.fsf@gnu.org> <87injt7hzu.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59042) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMvNu-0005Zb-Di for guix-devel@gnu.org; Mon, 19 Jun 2017 08:02:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMvNo-0003rk-Mk for guix-devel@gnu.org; Mon, 19 Jun 2017 08:02:22 -0400 In-Reply-To: <87injt7hzu.fsf@elephly.net> (Ricardo Wurmus's message of "Sun, 18 Jun 2017 11:38:45 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel@gnu.org Ricardo Wurmus skribis: > Ludovic Court=C3=A8s writes: > >> BTW, should --only-substitutes filter out packages without a substitute, >> or should it simply stop and report the list of missing substitutes >> (after which the user could use --do-not-upgrade)? > > In my opinion =E2=80=9C--only-substitutes=E2=80=9D should stop and report= a list. > If it continued without complaining there could be problems: > > * partial upgrades could leave the profile in an unusable state > > * an attacker could use this to trick a user into thinking that they > have all available updates Agreed. > On the other hand, it would make =E2=80=9C--only-substitutes=E2=80=9D les= s usable, > because to actually perform work one would have to deal with the failure > case. IMO that=E2=80=99s OK. =E2=80=9C--only-substitutes=E2=80=9D would typicall= y be for interactive use, when you=E2=80=99re in a hurry and you Understand The Risks (click on = the checkbox ;-)). For unattended upgrades, I think one would want to upgrade no matter what (assuming of course the build farm is not completely broken, meaning that most substitutes are available.) WDYT? In the future I was also thinking that the build farm could tag Git commits that it has fully built, and thus =E2=80=98guix pull=E2=80=99 could= be told to pull to the latest fully-built commit. Ludo=E2=80=99.