From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#32022: bug#22629: =?UTF-8?Q?=E2=80=9CStable=E2=80=9D?= branch Date: Fri, 31 Aug 2018 13:45:29 +0200 Message-ID: <87lg8m2206.fsf@elephly.net> References: <87vb5vsffd.fsf@gnu.org> <87pny2iks2.fsf@gnu.org> <877ekagtg9.fsf@netris.org> <87zhx5msfl.fsf@pompo.co> <87lg8pccys.fsf_-_@netris.org> <87zhx59gh3.fsf@elephly.net> <875zzs9wzl.fsf@netris.org> <874lfcxd2v.fsf_-_@gnu.org> <87wos8lzcj.fsf@pompo.co> <878t4nqzqv.fsf@gnu.org> 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]:60523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvhtI-0005yf-VR for bug-guix@gnu.org; Fri, 31 Aug 2018 07:47:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvhtH-0000U0-Hw for bug-guix@gnu.org; Fri, 31 Aug 2018 07:47:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:34816) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fvhtH-0000Tw-D5 for bug-guix@gnu.org; Fri, 31 Aug 2018 07:47:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fvhtG-0000lf-TD for bug-guix@gnu.org; Fri, 31 Aug 2018 07:47:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <878t4nqzqv.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26608@debbugs.gnu.org, 22629@debbugs.gnu.org, 32022@debbugs.gnu.org Ludovic Court=C3=A8s writes: > I just had a bright idea (yes!): this can be addressed by writing > something like this in ~/.config/guix/channels.scm: > > (map latest-commit-with-substitutes-available > %default-channels) > > The hypothetical =E2=80=98latest-commit-with-substitutes-available=E2=80= =99 would use > (git) and (guix ci) to find the latest commit for which substitutes of > interest are available, and would return: > > (channel > ;; =E2=80=A6 > (commit "cabbag3")) ;the ideal commit > > This has to be done with great care to prevent a downgrade attack and to > make sure the user doesn=E2=80=99t miss out on security updates, but mayb= e we > could provide a procedure that makes reasonable choices. This is a great idea. Any kind of fetch policy could be implemented with this, including one that considers the contents of a manifest. This is another of these instances where having a general purpose programming language underpinning it all really pays off. -- Ricardo