From unknown Sun Jun 22 11:31:15 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#73948 <73948@debbugs.gnu.org> To: bug#73948 <73948@debbugs.gnu.org> Subject: Status: [PATCH 0/2] 'derivation-build-plan' returns builds in topological order Reply-To: bug#73948 <73948@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:31:15 +0000 retitle 73948 [PATCH 0/2] 'derivation-build-plan' returns builds in topolog= ical order reassign 73948 guix-patches submitter 73948 Ludovic Court=C3=A8s severity 73948 normal tag 73948 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 22 09:21:44 2024 Received: (at submit) by debbugs.gnu.org; 22 Oct 2024 13:21:44 +0000 Received: from localhost ([127.0.0.1]:55042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3EpT-0002bN-U9 for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:21:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:37292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3EpR-0002bF-41 for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:21:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3Eoy-0002SJ-RH for guix-patches@gnu.org; Tue, 22 Oct 2024 09:21:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3Eox-0006tx-Q2; Tue, 22 Oct 2024 09:21:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=pOXtaeSUt+q/MTyQeIipAlPhlU4RyvT7/pGmvXUMZns=; b=mRxWDNyDyHLG+M 8TPWs2tCChd5toU4LOfOOyWDepDOEuOdhS7M8zPqpy+LlAOeu9YV638uO5xn9SeusmqYMVOvavUni kbl0F8xXAGbc+7McRJgXRKDhsNmobXxKvrmKaWvep10MtMJT437lEGjdD6eE9SEiKrtyyF35pnUCL EIzhUSLXtQb1GyqW5q3IdNkQOMRLbQ5H+2mgcGMxhKk3ZZGZgj6uKdM49AMmx8B2i+QEIjm3BWv9z I0WJALtq8tLB2DXRnS0Qczi00vswfkQ2lJruMALACdJD9fHSktFufmEEl2PuM2xIPAAwhuBvxZGRC 91+/wP10wRQQOiTM+qvw==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/2] 'derivation-build-plan' returns builds in topological order Date: Tue, 22 Oct 2024 15:21:05 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Christopher Baines , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, There’s one situation in ‘cuirass remote-worker’ where I found that it would be more convenient for ‘derivation-build-plan’ to return the list of builds in topological order, so a worker can perform them sequentially in the right order. >From a UI viewpoint, it also seems to make more sense to display the list of things to build in topological order. Thoughts? Ludo’. Ludovic Courtès (2): derivations: ‘derivation-build-plan’ returns builds in topological order. ui: ‘show-what-to-build’ displays builds in topological order. guix/derivations.scm | 74 +++++++++++++++++++++++++------------------ guix/ui.scm | 2 +- tests/derivations.scm | 31 ++++++++++++++++-- 3 files changed, 73 insertions(+), 34 deletions(-) base-commit: 42612e3bdfb201dbd47d6b8ffc75345199a96a80 -- 2.46.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 22 09:25:09 2024 Received: (at 73948) by debbugs.gnu.org; 22 Oct 2024 13:25:09 +0000 Received: from localhost ([127.0.0.1]:55054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Esm-0002ka-Gh for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:25:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Esk-0002hu-Qh for 73948@debbugs.gnu.org; Tue, 22 Oct 2024 09:25:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3Eq6-0006wW-BO; Tue, 22 Oct 2024 09:22:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=qRpQMrJMJvuB1Ddne9oUw/ktsevOErvLmwhuqfaWleM=; b=ERI0yGBUzd3uB5XSSJnv hb8E0a3NbCcUAZaUWR3erZkn8R2AV/s8xMq5aXDDKdqnzo0NJgJXIwHZVrqnWoDAIX2mPCY4anagA IbtGjZABu8r6Q8t4473PQ8g2zxwE5+evwdrPl+8hUf5GSeErCXiJefN7/QmtqS2VkzLn+mxMUWlBf FdilMLiXYL+I7lHlab4Qmk/K48r5qbUrqsgkusnmjKpG/5a5iYu4GgxnqYeUx3rjTdC/CD2SF3ZY7 KpZK7Jnz1pSJhJyKSnFYEQ63fHUGGi9lDLIETVFqhtFe1Xc+wrEO8PAvnJr72LcTHE/8OTKJz0bQ/ GbR7SW/9GkjRrw==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 73948@debbugs.gnu.org Subject: [PATCH 1/2] =?UTF-8?q?derivations:=20=E2=80=98derivation-build-pl?= =?UTF-8?q?an=E2=80=99=20returns=20builds=20in=20topological=20order.?= Date: Tue, 22 Oct 2024 15:22:09 +0200 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Christopher Baines , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73948 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) That makes ‘derivation-build-plan’ directly usable in cases where one wants to sequentially build derivations one by one, or to report builds in the right order in the user interface. * guix/derivations.scm (derivation-build-plan): Wrap ‘loop’ in ‘traverse’. Perform a depth-first traversal. Return the list of builds in topological order. * tests/derivations.scm ("derivation-build-plan, topological ordering"): New test. Change-Id: I7cd9083f42c4381b4213794a40dbb5b234df966d --- guix/derivations.scm | 74 +++++++++++++++++++++++++------------------ tests/derivations.scm | 31 ++++++++++++++++-- 2 files changed, 72 insertions(+), 33 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index a91c1ae984..bef98cd26a 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -401,8 +401,8 @@ (define* (derivation-build-plan store inputs (substitution-oracle store inputs #:mode mode))) "Given INPUTS, a list of derivation-inputs, return two values: the list of -derivations to build, and the list of substitutable items that, together, -allow INPUTS to be realized. +derivations to build, in topological order, and the list of substitutable +items that, together, allow INPUTS to be realized. SUBSTITUTABLE-INFO must be a one-argument procedure similar to that returned by 'substitution-oracle'." @@ -422,36 +422,48 @@ (define* (derivation-build-plan store inputs (and (= (length info) (length items)) info)))) - (let loop ((inputs inputs) ;list of - (build '()) ;list of - (substitute '()) ;list of - (visited (set))) ;set of - (match inputs - (() - (values build substitute)) - ((input rest ...) - (let ((key (derivation-input-key input)) - (deps (derivation-inputs - (derivation-input-derivation input)))) - (cond ((set-contains? visited key) - (loop rest build substitute visited)) - ((input-built? input) - (loop rest build substitute - (set-insert key visited))) - ((input-substitutable-info input) - => - (lambda (substitutables) - (loop (append (dependencies-of-substitutables substitutables + (define (traverse) + ;; Perform a depth-first traversal. + (let loop ((inputs inputs) ;list of + (build '()) ;list of + (substitute '()) ;list of + (visited (set))) ;set of + (match inputs + (() + (values visited build substitute)) + ((input rest ...) + (let ((key (derivation-input-key input)) + (deps (derivation-inputs + (derivation-input-derivation input)))) + (cond ((set-contains? visited key) + (loop rest build substitute visited)) + ((input-built? input) + (loop rest build substitute (set-insert key visited))) + ((input-substitutable-info input) + => + (lambda (substitutables) + (call-with-values + (lambda () + (loop (dependencies-of-substitutables substitutables deps) - rest) - build - (append substitutables substitute) - (set-insert key visited)))) - (else - (loop (append deps rest) - (cons (derivation-input-derivation input) build) - substitute - (set-insert key visited))))))))) + build + (append substitutables substitute) + (set-insert key visited))) + (lambda (visited build substitute) + (loop rest build substitute visited))))) + (else + (call-with-values + (lambda () + (loop deps build substitute (set-insert key visited))) + (lambda (visited build substitute) + (loop rest + (cons (derivation-input-derivation input) build) + substitute + visited)))))))))) + + (call-with-values traverse + (lambda (_ build substitute) + (values (reverse! build) substitute)))) (define-deprecated (derivation-prerequisites-to-build store drv #:rest rest) derivation-build-plan diff --git a/tests/derivations.scm b/tests/derivations.scm index 0e87778981..efcd21f324 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2023 Ludovic Courtès +;;; Copyright © 2012-2024 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +29,8 @@ (define-module (test-derivations) #:use-module (guix tests git) #:use-module (guix tests http) #:use-module ((guix packages) #:select (package-derivation base32)) - #:use-module ((guix build utils) #:select (executable-file?)) + #:use-module ((guix build utils) + #:select (executable-file? strip-store-file-name)) #:use-module ((guix hash) #:select (file-hash*)) #:use-module ((git oid) #:select (oid->string)) #:use-module ((git reference) #:select (reference-name->oid)) @@ -1157,6 +1158,32 @@ (define %coreutils #:mode (build-mode check)) (list drv dep)))))) +(test-equal "derivation-build-plan, topological ordering" + (make-list 5 '("0.drv" "1.drv" "2.drv" "3.drv" "4.drv")) + (with-store store + (define (test _) + (let* ((simple-derivation + (lambda (name . deps) + (build-expression->derivation + store name + `(begin ,(random-text) (mkdir %output)) + #:inputs (map (lambda (n dep) + (list (number->string n) dep)) + (iota (length deps)) + deps)))) + (drv0 (simple-derivation "0")) + (drv1 (simple-derivation "1" drv0)) + (drv2 (simple-derivation "2" drv1)) + (drv3 (simple-derivation "3" drv2 drv0)) + (drv4 (simple-derivation "4" drv3 drv1))) + (map (compose strip-store-file-name derivation-file-name) + (derivation-build-plan store (list (derivation-input drv4)))))) + + ;; This is probabilistic: if the traversal is buggy, it may or may not + ;; produce the wrong ordering, depending on a variety of actors. Thus, + ;; try multiple times. + (map test (iota 5)))) + (test-assert "derivation-input-fold" (let* ((builder (add-text-to-store %store "my-builder.sh" "echo hello, world > \"$out\"\n" -- 2.46.0 From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 22 09:25:13 2024 Received: (at 73948) by debbugs.gnu.org; 22 Oct 2024 13:25:14 +0000 Received: from localhost ([127.0.0.1]:55058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Esr-0002lY-CG for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:25:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Eso-0002j5-O1 for 73948@debbugs.gnu.org; Tue, 22 Oct 2024 09:25:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3Eq7-0006wk-D0; Tue, 22 Oct 2024 09:22:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=pCDl98mnGMAPbVrqa9HnjDDOYIOCiv2XK7X32xIeC3k=; b=VKs/QVeEHBVKx/2VDZOF 05EnDXL+xnWc+4ITGT1VyG38xOsCt/4YeA/S8T0x42Kxi+4UutDbG5Z+6QJUMUMfOWsTdO+6Wipwz hQ76l1hu18iwwaFR0CwzoNRfITLZjkkM1kjSFE7RXXGpu8LAkjmEo9oH8HMdjjrFR2jcDNoBAd70U QBzhMK2JfToQjZ8eh7k7Cs6X10t1jhNBij/eZEz19VdTZKQ6d+WVlH9EJnwPxKFG9EldudGa1JJss 6F3Jz8+mxs2sYb4V63XRDpNPByTv571P+XIK/VdKQ5WTn9iGJxP/nSubK/7ITkyTiiEvWMJyN/QUn JE/pYx2f3N/+sw==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 73948@debbugs.gnu.org Subject: [PATCH 2/2] =?UTF-8?q?ui:=20=E2=80=98show-what-to-build=E2=80=99?= =?UTF-8?q?=20displays=20builds=20in=20topological=20order.?= Date: Tue, 22 Oct 2024 15:22:10 +0200 Message-ID: <3ad164e7e8a4fe9469ef42e2ca4b5cfa77fffa82.1729603127.git.ludo@gnu.org> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Christopher Baines , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73948 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) That gives something like: $ ./pre-inst-env guix build vim --no-grafts --no-substitutes -n The following derivations would be built: /gnu/store/…-tcsh-6.24.01.tar.gz.drv /gnu/store/…-tcsh-6.24.01.tar.zst.drv /gnu/store/…-tcsh-6.24.01.drv /gnu/store/…-vim-9.1.0744-checkout.drv /gnu/store/…-vim-9.1.0744.drv … with the derivation(s) being asked for coming last. * guix/ui.scm (show-what-to-build): Reverse ‘build/full’ before folding it. Change-Id: Ic0da9f4f8a58c7ed5e2d10f6ec2226f0865aed75 --- guix/ui.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/ui.scm b/guix/ui.scm index 966f0611f6..447550635c 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1077,7 +1077,7 @@ (define* (show-what-to-build store drv #:hook ,hook #:build ,(cons file build)))))))) '(#:graft () #:hook () #:build ()) - build/full) + (reverse! build/full)) ;preserve ordering ((#:graft graft #:hook hook #:build build) (values graft hook build))))) (define installed-size -- 2.46.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 06 04:14:12 2024 Received: (at 73948) by debbugs.gnu.org; 6 Nov 2024 09:14:12 +0000 Received: from localhost ([127.0.0.1]:39621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t8c7A-0004wi-Ek for submit@debbugs.gnu.org; Wed, 06 Nov 2024 04:14:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t8c77-0004wV-J9 for 73948@debbugs.gnu.org; Wed, 06 Nov 2024 04:14:10 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t8c4t-0003On-US; Wed, 06 Nov 2024 04:11:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=1Dc94wcW10NYAlt7DFrUipCTf+xCxJwor0pzFRunv+s=; b=DQIJnYmk0FMCXz8cVgph JXpW87bMv06/6C9lTkiyajNiIe+doKDC2g64dp4liP972gEToSGA4n+Z9/AaqSFxNGLA/BxJb7swM 7O7t0CIv8iKlC3gW0MtxStNJ/Gx4BtkhYk0xQbTxsUstPWvf4/0HmHkCttCc+gViHKBKAYEpA6Wja cNX6jW3Bdda5uAQHEQO0syAtsdbZJzgPxIaw3aSFc8v/3jONEVAuxXmxML+Tvex7OduCu5LW8N8HM Q1EtZ/iafUb85wyw5zoI421H++KDtvFh5ngh50whC+lr/XYDalEFE1AKkTyMcIrW1W7v2L+QtHjht cUiiz2W9BK/k/A==; From: To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#73948] [PATCH 0/2] 'derivation-build-plan' returns builds in topological order In-Reply-To: ("Ludovic =?utf-8?Q?Court?= =?utf-8?Q?=C3=A8s=22's?= message of "Tue, 22 Oct 2024 15:21:05 +0200") Organization: AvatarAcademy.nl References: X-Url: http://AvatarAcademy.nl Date: Wed, 06 Nov 2024 10:11:46 +0100 Message-ID: <87r07o3ewd.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73948 Cc: Josselin Poiret , Simon Tournier , Mathieu Othacehe , Tobias Geerinckx-Rice , 73948@debbugs.gnu.org, Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Ludovic Court=C3=A8s writes: Hi, > There=E2=80=99s one situation in =E2=80=98cuirass remote-worker=E2=80=99 = where I found that it > would be more convenient for =E2=80=98derivation-build-plan=E2=80=99 to r= eturn the list of > builds in topological order, so a worker can perform them sequentially > in the right order. > > From a UI viewpoint, it also seems to make more sense to display the > list of things to build in topological order. > > Thoughts? LGTM, and lovely. Having this sorted would be a big help, I'm often trying to figure this out by traversing drvs! --=20 Janneke Nieuwenhuizen | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar=C2=AE https://AvatarAcade= my.com From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 12 18:03:42 2024 Received: (at 73948-done) by debbugs.gnu.org; 12 Nov 2024 23:03:42 +0000 Received: from localhost ([127.0.0.1]:39914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tAzvB-0001fu-TG for submit@debbugs.gnu.org; Tue, 12 Nov 2024 18:03:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tAzv9-0001em-Qm for 73948-done@debbugs.gnu.org; Tue, 12 Nov 2024 18:03:40 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tAzv0-0005Qe-OR; Tue, 12 Nov 2024 18:03:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=3nqYSFffa+imFHOqEYxMs7v6qEgb8ufes3XVu3pzjJk=; b=DWYIDnfPloAUbFfZg1J1 n7Eqsbt5zsi+ci/rAEcMh8gCATdgahj2cHPmfVZuGB5ZjF06+9kAq3Vqfj85rUrEOnh6iCKsTWRHp k/CFZ9Zw1rxPda5IjWrsXLU4K1yHNLEfHq48oZ7k9DvPzWeU7x4OBGY9BYXUqOdj+k3N6gfMfYgXR JUWdqRDFo5K9bH8E5UAlfGf0xrlbXnWWGABUpSiIjdpEANdH9ol15KLfYNNlNu7KoS9TmST3FLVQy irEfgXadmhHEIyDD064drK2xYon0bFqZC8DFpd1KMTroNiaIPwhP9+87SQQNw4420SUMtkAqttgqj DAhUmyN30z5o1g==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Subject: Re: [bug#73948] [PATCH 0/2] 'derivation-build-plan' returns builds in topological order In-Reply-To: <87r07o3ewd.fsf@gnu.org> (janneke@gnu.org's message of "Wed, 06 Nov 2024 10:11:46 +0100") References: <87r07o3ewd.fsf@gnu.org> Date: Wed, 13 Nov 2024 00:03:26 +0100 Message-ID: <87ttccqcld.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73948-done Cc: 73948-done@debbugs.gnu.org, Josselin Poiret , Simon Tournier , Mathieu Othacehe , Tobias Geerinckx-Rice , Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, skribis: > Ludovic Court=C3=A8s writes: > > Hi, > >> There=E2=80=99s one situation in =E2=80=98cuirass remote-worker=E2=80=99= where I found that it >> would be more convenient for =E2=80=98derivation-build-plan=E2=80=99 to = return the list of >> builds in topological order, so a worker can perform them sequentially >> in the right order. >> >> From a UI viewpoint, it also seems to make more sense to display the >> list of things to build in topological order. >> >> Thoughts? > > LGTM, and lovely. > > Having this sorted would be a big help, I'm often trying to figure this > out by traversing drvs! Thanks for your feedback. Pushed as f7a0be4d736a56403fd9bd630dc723f59f348453! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 16 05:58:48 2024 Received: (at 73948-done) by debbugs.gnu.org; 16 Nov 2024 10:58:48 +0000 Received: from localhost ([127.0.0.1]:52228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCGVs-0004HJ-9B for submit@debbugs.gnu.org; Sat, 16 Nov 2024 05:58:48 -0500 Received: from mail-pj1-f43.google.com ([209.85.216.43]:44224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCGVq-0004HB-BF for 73948-done@debbugs.gnu.org; Sat, 16 Nov 2024 05:58:46 -0500 Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-2e3686088c3so2091041a91.0 for <73948-done@debbugs.gnu.org>; Sat, 16 Nov 2024 02:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731754665; x=1732359465; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=87Iy4eV6tBraHcApUhReuNVXlOx0F5a6ez9pE02nOoo=; b=M3+0BhxZA9W80x2jxRqVZnclph4R4JZWDmi66GNmyNoFQt93Q9Qsev3vjiA0edYABi bXffck7uQ6CBhBKBgHmXnRReRF6j914G2Wt0yrE/zB3SKeEZSVRkJtotG8YCVqFxhLRx o5CRXKRN/p/0i9dJsO73y20Lc1igm5CwcejZ5ruRs1CbMvVWjjpR3o4Zgfr2A4w8y79n 2TvPoTBr31EjLcHzegppWJr0R5y5ydKAn+CJI2zmjGT26MXwWgS7SvImmxGE7PlKfNfE LoEb66LQeR41DzBJY0fp16nvXEXcpzlPMKgGuDxf0dR8YYstQ/xSiA5ejb4irGC3a6UW EeBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731754665; x=1732359465; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=87Iy4eV6tBraHcApUhReuNVXlOx0F5a6ez9pE02nOoo=; b=RbcfeLh5uk8Vp2yLlK0znGeqXVk/F6umZwZhFFlj78RhinG2vN1A1uDzzQ9tDURzPX Rk7BlTDl5wMvljVTSL/JQb2y7R/h/0iXd8LIhvUbJ1WBSuMTwvHG/Yu1NRqSraiWwyzN X2CZRzv+nx0NFeomZHmjSRXDCCXyUlYI9UNbAXmxYy+jl5piRRqpmGWy62knnHsh/ffc CeOA7Z4/eYGMrtNTJI+IJrBCNc5LUZvL8FaGxwRC4HarTu2oA9Vpb3KVYkr96oa5HqKz I9vY9aQyzSwmTJmsW5fiwB8QH6fQ2wlolZtLy6yMMC5IG4scgJES2jo7UpYaVPjpWyVJ ah2Q== X-Gm-Message-State: AOJu0Yyh0wDx6csNPv+jjlXpKOZ9O9FAMTgkM70loswt9+s8mBk8aN2/ WUAguNktiWYNRhp319KdmmHpMMFR3UyJpq8/pK17t+D+/B5xlFuj X-Google-Smtp-Source: AGHT+IF2v7Tse9JeauDxoIUx0w9BCnmHl+ciXJ5bGmdk3avsUGmk8J5nt6wRTPVnjJV/3zrTxbVIPQ== X-Received: by 2002:a17:90b:4f4b:b0:2e0:cac6:15f7 with SMTP id 98e67ed59e1d1-2ea1520e95dmr7876009a91.0.1731754665599; Sat, 16 Nov 2024 02:57:45 -0800 (PST) Received: from lili ([147.127.248.1]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-211d0f56e55sm25664345ad.274.2024.11.16.02.57.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 Nov 2024 02:57:45 -0800 (PST) From: Simon Tournier To: Ludovic =?utf-8?Q?Court=C3=A8s?= , janneke@gnu.org Subject: Re: bug#73948: [PATCH 0/2] 'derivation-build-plan' returns builds in topological order In-Reply-To: <87ttccqcld.fsf@gnu.org> References: <87r07o3ewd.fsf@gnu.org> <87ttccqcld.fsf@gnu.org> Date: Sat, 16 Nov 2024 08:18:39 +0100 Message-ID: <87o72fbq9c.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, On Wed, 13 Nov 2024 at 00:03, Ludovic Courtès wrote: > Thanks for your feedback. Pushed as > f7a0be4d736a56403fd9bd630dc723f59f348453! Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zimon.toutoune[at]gmail.com) 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [209.85.216.43 listed in bl.score.senderscore.com] 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [209.85.216.43 listed in sa-trusted.bondedsender.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.216.43 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 1.1 DATE_IN_PAST_03_06 Date: is 3 to 6 hours before Received: date 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.216.43 listed in wl.mailspike.net] 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-Debbugs-Envelope-To: 73948-done Cc: 73948-done@debbugs.gnu.org, Mathieu Othacehe , Josselin Poiret , Tobias Geerinckx-Rice , Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.1 (/) Hi, On Wed, 13 Nov 2024 at 00:03, Ludovic Court=C3=A8s wrote: > Thanks for your feedback. Pushed as > f7a0be4d736a56403fd9bd630dc723f59f348453! Cool! That=E2=80=99s something I had always missed why it was not done. :-) When working about SWH coverage, I was doing as Janneke some boring manual tweaks. Thanks for this simple but helpful modification. Cheers, simon From unknown Sun Jun 22 11:31:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 14 Dec 2024 12:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator