From patchwork Mon Jul 6 08:37:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 23072 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1927827BBE1; Mon, 6 Jul 2020 09:39:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 43CE527BBE3 for ; Mon, 6 Jul 2020 09:39:09 +0100 (BST) Received: from localhost ([::1]:45384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsMea-0007wI-PK for patchwork@mira.cbaines.net; Mon, 06 Jul 2020 04:39:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35946) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsMeV-0007s8-0N for guix-patches@gnu.org; Mon, 06 Jul 2020 04:39:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50227) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jsMeU-0007zw-N9 for guix-patches@gnu.org; Mon, 06 Jul 2020 04:39:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jsMeU-0005fr-Kh for guix-patches@gnu.org; Mon, 06 Jul 2020 04:39:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42225] [PATCH 0/5] Add 'guix git-authenticate' command Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 06 Jul 2020 08:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 42225 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 42225@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159402468921736 (code B ref -1); Mon, 06 Jul 2020 08:39:02 +0000 Received: (at submit) by debbugs.gnu.org; 6 Jul 2020 08:38:09 +0000 Received: from localhost ([127.0.0.1]:33540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jsMdc-0005eV-NB for submit@debbugs.gnu.org; Mon, 06 Jul 2020 04:38:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:41674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jsMdb-0005eO-5G for submit@debbugs.gnu.org; Mon, 06 Jul 2020 04:38:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35622) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsMda-0006kW-UT for guix-patches@gnu.org; Mon, 06 Jul 2020 04:38:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50315) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsMda-0007tI-JU; Mon, 06 Jul 2020 04:38:06 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=50188 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jsMda-0000Fq-3L; Mon, 06 Jul 2020 04:38:06 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Mon, 6 Jul 2020 10:37:55 +0200 Message-Id: <20200706083755.11778-1-ludo@gnu.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hello Guix! This patch series factorizes Git repo authentication and adds a ‘guix git-authenticate’ command that’s essentially an interface to (guix git-authenticate). Not surprisingly I guess. The nice thing is that people will be able to use it for external channels (otherwise they would have to use ‘guix pull’ to check that everything’s alright). And we’ll be able to use it for other Git repositories as well, such as maintenance.git, but really any Git repo. I put the “Invoking” node under “Development”, not sure if that’s the best place. Also, I considered doing a ‘guix git’ command, of which ‘authenticate’ would be one sub-command and maybe ‘clone’ another one. But for ‘clone’ I thought that ‘guix download’ would be a better fit. So I concluded that ‘guix git-authenticate’ was a good choice in the end. Feedback welcome! Ludo’. Ludovic Courtès (5): git-authenticate: Factorize 'authenticate-repository'. Add 'etc/historical-authorizations'. git: Add 'with-git-error-handling'. Add 'guix git-authenticate'. maint: Remove 'build-aux/git-authenticate.scm'. Makefile.am | 15 +- build-aux/git-authenticate.scm | 322 ------------------------------ doc/guix.texi | 83 +++++++- etc/historical-authorizations | 179 +++++++++++++++++ guix/channels.scm | 118 +++-------- guix/git-authenticate.scm | 101 +++++++++- guix/git.scm | 19 ++ guix/scripts/git-authenticate.scm | 176 ++++++++++++++++ guix/scripts/pull.scm | 18 -- guix/scripts/time-machine.scm | 4 +- po/guix/POTFILES.in | 1 + tests/guix-git-authenticate.sh | 56 ++++++ 12 files changed, 655 insertions(+), 437 deletions(-) delete mode 100644 build-aux/git-authenticate.scm create mode 100644 etc/historical-authorizations create mode 100644 guix/scripts/git-authenticate.scm create mode 100644 tests/guix-git-authenticate.sh