From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 16:43:40 2018 Received: (at submit) by debbugs.gnu.org; 26 Nov 2018 21:43:40 +0000 Received: from localhost ([127.0.0.1]:50195 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROfM-0004hb-1s for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:43:40 -0500 Received: from eggs.gnu.org ([208.118.235.92]:45199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROfK-0004hO-As for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:43:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROfD-0003Ox-Of for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:43:32 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:33306) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gROfD-0003Oo-M5 for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:43:31 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROfC-0003hA-Jj for guix-patches@gnu.org; Mon, 26 Nov 2018 16:43:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROfB-0003O5-Db for guix-patches@gnu.org; Mon, 26 Nov 2018 16:43:30 -0500 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58039) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROf8-0003Mu-Nf; Mon, 26 Nov 2018 16:43:26 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53672 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gROf8-0000eg-G0; Mon, 26 Nov 2018 16:43:26 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/4] Reporting grafts in the user interface Date: Mon, 26 Nov 2018 22:43:06 +0100 Message-Id: <20181126214306.27587-1-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: rekado@elephly.net, =?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: -6.0 (------) Hello Guix! These patches add UI hints so that grafting derivations can be distinguished from more expensive derivations, as suggested by Ricardo a while back. The end result is something like this: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix package -i libreoffice The following package will be upgraded: libreoffice 6.1.3.2 → 6.1.3.2 /gnu/store/665s4yzjdih5hfyqj25hflxf838ddvhn-libreoffice-6.1.3.2 substitute: updating substitutes from 'https://berlin.guixsd.org'... 100.0% substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/4007l9zq7aaagh3na9w9674z6mdsba0x-profile.drv /gnu/store/zlkrnrp83zn8zqm9zblx1a4dhqszp2p2-info-dir.drv /gnu/store/yrji9qkrsijvc8r67i0zqrjsgq0w7y61-glib-schemas.drv /gnu/store/ym5yani65vhq46mbnh09v4nj3xp6g9jz-xdg-desktop-database.drv /gnu/store/wrqgnm8ys59g5darnscx452vgj79hk7g-ca-certificate-bundle.drv /gnu/store/srxlcgzhilgy7gf08cdm05r3sbg7fhb8-gtk-icon-themes.drv /gnu/store/mh9lli57ji66k4vs9hspw59pfkjd12x8-fonts-dir.drv /gnu/store/fwg6dbirzpcpyn6vridb6acf7h8v8llx-gtk-im-modules.drv /gnu/store/29240dgzra7fgllk76jixafbzfzkaqh1-xdg-mime-database.drv /gnu/store/ag493qzyl9gghmpc1v24zx7f377qnara-manual-database.drv 129.4 MB will be downloaded: /gnu/store/y97qqcmkizk3vc9jfi52yn6r4x2s88nc-libreoffice-6.1.3.2 The following grafts will be made: /gnu/store/aa9fn1r87jq7j56nh5jpj94g81bsavzx-texinfo-6.5.drv /gnu/store/7s9q5h53j6jiig2z39xp3304z3fpfvk4-glib-2.56.0.drv /gnu/store/38a90nvqqvgwj44a7ygrc05f9rspnk5q-gtk+-3.22.30.drv […] /gnu/store/yz11x1glpgigflw0rwy6g1z1fk7lamx0-orcus-0.13.4.drv /gnu/store/4vysnvfh5010b91mvc30m81izg2x1vrr-libreoffice-6.1.3.2.drv applying 1 graft for /gnu/store/7s9q5h53j6jiig2z39xp3304z3fpfvk4-glib-2.56.0.drv... downloading from https://berlin.guixsd.org/nar/gzip/y97qqcmkizk3vc9jfi52yn6r4x2s88nc-libreoffice-6.1.3.2... libreoffice-6.1.3.2 123.4MiB 33.3MiB/s 00:04 [##################] 100.0% applying 1 graft for /gnu/store/1w75n56p6sz9rlpqi7wdp4f6mzdxxscq-cyrus-sasl-2.1.26.drv... applying 1 graft for /gnu/store/cckw8wfjgx78ppmxki8f9hsqyb9rljwi-dbus-glib-0.108.drv... applying 1 graft for /gnu/store/habjnpc834xjmrjzzahld703cg6sxnf4-hunspell-1.6.2.drv... applying 2 grafts for /gnu/store/68cldhib78yrw2az4jmbflpx8vkk95rd-gconf-3.2.6.drv... applying 1 graft for /gnu/store/x2v583bsp0d2mp7bgc37amb0ga2am3bc-hyphen-2.8.8.drv... applying 1 graft for /gnu/store/7albjprbwf9gynspvwy7caq6rmmvvg27-libcdr-0.1.4.drv... applying 1 graft for /gnu/store/mkvhlm3663yanyzyl4xcx9kpmnaxi6x2-libfreehand-0.1.2.drv... applying 1 graft for /gnu/store/6mk42x7awyyldpb05i4bpjl9pmyqjxfi-libwpg-0.3.2.drv... applying 1 graft for /gnu/store/qgiqzsf6mw6cr302sbw5y0lz3vskcfwc-libxkbcommon-0.8.0.drv... applying 3 grafts for /gnu/store/q0wcsn269hv5lc7fmr9wcc0b1z46zzhx-libxtst-1.2.3.drv... applying 2 grafts for /gnu/store/9k2ppp34g4gagfqwnvrnc1w28qrvxnz2-libxv-1.0.11.drv... applying 5 grafts for /gnu/store/dxzsf8k6dhpz88x18afxgfgr5y85ljq9-at-spi2-core-2.26.2.drv... applying 6 grafts for /gnu/store/7q39bgqm87xikd5bjbp8zd99hf4mdm13-gst-plugins-base-1.14.2.drv... applying 6 grafts for /gnu/store/xf7cnfzx6mm9qic3rnzabiif1c5q0wr1-at-spi2-atk-2.26.1.drv... […] --8<---------------cut here---------------end--------------->8--- Overall this makes operations more transparent. Advanced users will know what this means, and hopefully others will notice that grafting is a relatively fast operation and discover that it has to do with security updates. Thoughts? Ludo’. Ludovic Courtès (4): derivations: Add properties. grafts: Record metadata as derivation properties. status: Report grafting derivations specially. ui: 'show-what-to-build' reports grafts separately. doc/guix.texi | 8 ++++++-- guix/derivations.scm | 30 +++++++++++++++++++++++++----- guix/gexp.scm | 4 +++- guix/grafts.scm | 7 ++++++- guix/status.scm | 14 +++++++++++++- guix/ui.scm | 26 +++++++++++++++++++++++--- tests/derivations.scm | 10 ++++++++++ tests/gexp.scm | 10 +++++++++- tests/grafts.scm | 13 ++++++++----- 9 files changed, 103 insertions(+), 19 deletions(-) -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 16:47:30 2018 Received: (at 33519) by debbugs.gnu.org; 26 Nov 2018 21:47:30 +0000 Received: from localhost ([127.0.0.1]:50203 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj3-0004oE-OY for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj1-0004ni-RK for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROiv-00057Z-RN for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58122) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROit-00056Y-IE; Mon, 26 Nov 2018 16:47:19 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53792 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gROit-0000yM-97; Mon, 26 Nov 2018 16:47:19 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33519@debbugs.gnu.org Subject: [PATCH 3/4] status: Report grafting derivations specially. Date: Mon, 26 Nov 2018 22:47:08 +0100 Message-Id: <20181126214709.27856-3-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181126214709.27856-1-ludo@gnu.org> References: <20181126214709.27856-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, =?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: -6.0 (------) * guix/status.scm (print-build-event): In 'build-started' event handler, check the properties of DRV and handle 'graft' derivations specially. --- guix/status.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/guix/status.scm b/guix/status.scm index 2ceb56788a..868bfdca21 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -325,7 +325,19 @@ addition to build events." (display "\r" port)) ;erase the spinner (match event (('build-started drv . _) - (format port (info (G_ "building ~a...")) drv) + (let ((properties (derivation-properties + (read-derivation-from-file drv)))) + (match (assq-ref properties 'type) + ('graft + (let ((count (match (assq-ref properties 'graft) + (#f 0) + (lst (or (assq-ref lst 'count) 0))))) + (format port (info (N_ "applying ~a graft for ~a..." + "applying ~a grafts for ~a..." + count)) + count drv))) + (_ + (format port (info (G_ "building ~a...")) drv)))) (newline port)) (('build-succeeded drv . _) (when (or print-log? (not (extended-build-trace-supported?))) -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 16:47:30 2018 Received: (at 33519) by debbugs.gnu.org; 26 Nov 2018 21:47:30 +0000 Received: from localhost ([127.0.0.1]:50205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj4-0004oH-0k for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:30 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46255) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj1-0004nj-Rf for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROiv-00057U-Qz for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58121) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROis-00056F-Rt; Mon, 26 Nov 2018 16:47:18 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53792 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gROis-0000yM-KU; Mon, 26 Nov 2018 16:47:18 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33519@debbugs.gnu.org Subject: [PATCH 2/4] grafts: Record metadata as derivation properties. Date: Mon, 26 Nov 2018 22:47:07 +0100 Message-Id: <20181126214709.27856-2-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181126214709.27856-1-ludo@gnu.org> References: <20181126214709.27856-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, =?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: -6.0 (------) * guix/grafts.scm (graft-derivation/shallow): Pass #:properties to 'build-expression->derivation'. * tests/grafts.scm ("graft-derivation, grafted item is a direct dependency"): Check the value returned by 'derivation-properties'. --- guix/grafts.scm | 7 ++++++- tests/grafts.scm | 13 ++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/guix/grafts.scm b/guix/grafts.scm index 01e245d8eb..63f384555b 100644 --- a/guix/grafts.scm +++ b/guix/grafts.scm @@ -123,6 +123,10 @@ are not recursively applied to dependencies of DRV." (define add-label (cut cons "x" <>)) + (define properties + `((type . graft) + (graft (count . ,(length grafts))))) + (match grafts ((($ sources source-outputs targets target-outputs) ...) (let ((sources (zip sources source-outputs)) @@ -140,7 +144,8 @@ are not recursively applied to dependencies of DRV." ,@(append (map add-label sources) (map add-label targets))) #:outputs outputs - #:local-build? #t))))) + #:local-build? #t + #:properties properties))))) (define (item->deriver store item) "Return two values: the derivation that led to ITEM (a store item), and the name of the output of that derivation ITEM corresponds to (for example diff --git a/tests/grafts.scm b/tests/grafts.scm index abb074d628..f85f3c6913 100644 --- a/tests/grafts.scm +++ b/tests/grafts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +51,8 @@ (test-begin "grafts") -(test-assert "graft-derivation, grafted item is a direct dependency" +(test-equal "graft-derivation, grafted item is a direct dependency" + '((type . graft) (graft (count . 2))) (let* ((build `(begin (mkdir %output) (chdir %output) @@ -76,14 +77,16 @@ (origin %mkdir) (replacement two)))))) (and (build-derivations %store (list grafted)) - (let ((two (derivation->output-path two)) - (grafted (derivation->output-path grafted))) + (let ((properties (derivation-properties grafted)) + (two (derivation->output-path two)) + (grafted (derivation->output-path grafted))) (and (string=? (format #f "foo/~a/bar" two) (call-with-input-file (string-append grafted "/text") get-string-all)) (string=? (readlink (string-append grafted "/sh")) one) (string=? (readlink (string-append grafted "/self")) - grafted)))))) + grafted) + properties))))) (test-assert "graft-derivation, grafted item uses a different name" (let* ((build `(begin -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 16:47:30 2018 Received: (at 33519) by debbugs.gnu.org; 26 Nov 2018 21:47:30 +0000 Received: from localhost ([127.0.0.1]:50207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj4-0004oO-CH for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:30 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46260) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj2-0004nm-6H for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROiw-00057g-39 for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:23 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROiu-00056n-6i; Mon, 26 Nov 2018 16:47:20 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53792 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gROit-0000yM-Vb; Mon, 26 Nov 2018 16:47:20 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33519@debbugs.gnu.org Subject: [PATCH 4/4] ui: 'show-what-to-build' reports grafts separately. Date: Mon, 26 Nov 2018 22:47:09 +0100 Message-Id: <20181126214709.27856-4-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181126214709.27856-1-ludo@gnu.org> References: <20181126214709.27856-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, =?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: -6.0 (------) * guix/ui.scm (graft-derivation?): New procedure. (show-what-to-build): Distinguish among BUILD derivations that match 'graft-derivation?'. Report them separately. --- guix/ui.scm | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 96f403acf5..60636edac0 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -816,6 +816,12 @@ warning." (warning (G_ "at least ~,1h MB needed but only ~,1h MB available in ~a~%") (/ need 1e6) (/ free 1e6) directory)))) +(define (graft-derivation? drv) + "Return true if DRV is definitely a graft derivation, false otherwise." + (match (assq-ref (derivation-properties drv) 'type) + ('graft #t) + (_ #f))) + (define* (show-what-to-build store drv #:key dry-run? (use-substitutes? #t) (mode (build-mode normal))) @@ -865,7 +871,11 @@ report what is prerequisites are available for download." (append-map substitutable-references download)))) - download))) + download)) + ((graft build) + (partition (compose graft-derivation? + read-derivation-from-file) + build))) (define installed-size (reduce + 0 (map substitutable-nar-size download))) @@ -898,7 +908,12 @@ report what is prerequisites are available for download." "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" (length download)) (null? download) - (map substitutable-path download)))) + (map substitutable-path download))) + (format (current-error-port) + (N_ "~:[The following graft would be made:~%~{ ~a~%~}~;~]" + "~:[The following grafts would be made:~%~{ ~a~%~}~;~]" + (length graft)) + (null? graft) graft)) (begin (format (current-error-port) (N_ "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" @@ -918,7 +933,12 @@ report what is prerequisites are available for download." "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" (length download)) (null? download) - (map substitutable-path download))))) + (map substitutable-path download))) + (format (current-error-port) + (N_ "~:[The following graft will be made:~%~{ ~a~%~}~;~]" + "~:[The following grafts will be made:~%~{ ~a~%~}~;~]" + (length graft)) + (null? graft) graft))) (check-available-space installed-size) -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 26 16:47:31 2018 Received: (at 33519) by debbugs.gnu.org; 26 Nov 2018 21:47:31 +0000 Received: from localhost ([127.0.0.1]:50209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj4-0004oV-Na for submit@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:31 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46259) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gROj2-0004nl-53 for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gROiv-00057P-Pq for 33519@debbugs.gnu.org; Mon, 26 Nov 2018 16:47:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58120) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gROis-000560-7A; Mon, 26 Nov 2018 16:47:18 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53792 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gROir-0000yM-T0; Mon, 26 Nov 2018 16:47:18 -0500 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 33519@debbugs.gnu.org Subject: [PATCH 1/4] derivations: Add properties. Date: Mon, 26 Nov 2018 22:47:06 +0100 Message-Id: <20181126214709.27856-1-ludo@gnu.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, =?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: -6.0 (------) * guix/derivations.scm (derivation): Add #:properties parameter. [user+system-env-vars]: Honor it. (derivation-properties): New procedure. (build-expression->derivation): Add #:properties and pass it to 'derivation'. * guix/gexp.scm (gexp->derivation): Likewise. * tests/derivations.scm ("derivation-properties"): New test. * tests/gexp.scm ("gexp->derivation properties"): New test. * doc/guix.texi (Derivations, G-Expressions): Adjust accordingly. --- doc/guix.texi | 8 ++++++-- guix/derivations.scm | 30 +++++++++++++++++++++++++----- guix/gexp.scm | 4 +++- tests/derivations.scm | 10 ++++++++++ tests/gexp.scm | 10 +++++++++- 5 files changed, 53 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 917a3e9d57..c040a8531a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5060,7 +5060,7 @@ a derivation is the @code{derivation} procedure: [#:system (%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ - [#:substitutable? #t] + [#:substitutable? #t] [#:properties '()] Build a derivation with the given arguments, and return the resulting @code{} object. @@ -5097,6 +5097,9 @@ When @var{substitutable?} is false, declare that substitutes of the derivation's output should not be used (@pxref{Substitutes}). This is useful, for instance, when building packages that capture details of the host CPU instruction set. + +@var{properties} must be an association list describing ``properties'' of the +derivation. It is kept as-is, uninterpreted, in the derivation. @end deffn @noindent @@ -5790,7 +5793,8 @@ information about monads.) [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} "-builder")] @ [#:deprecation-warnings #f] @ - [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] + [#:local-build? #f] [#:substitutable? #t] @ + [#:properties '()] [#:guile-for-build #f] Return a derivation @var{name} that runs @var{exp} (a gexp) with @var{guile-for-build} (a derivation) on @var{system}; @var{exp} is stored in a file called @var{script-name}. When @var{target} is true, diff --git a/guix/derivations.scm b/guix/derivations.scm index 7afecb10cc..f6176a78fd 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -80,6 +80,7 @@ substitutable-derivation? substitution-oracle derivation-hash + derivation-properties read-derivation read-derivation-from-file @@ -681,7 +682,8 @@ name of each input with that input's hash." references-graphs allowed-references disallowed-references leaked-env-vars local-build? - (substitutable? #t)) + (substitutable? #t) + (properties '())) "Build a derivation with the given arguments, and return the resulting object. When HASH and HASH-ALGO are given, a fixed-output derivation is created---i.e., one whose result is known in @@ -708,7 +710,10 @@ for offloading and should rather be built locally. This is the case for small derivations where the costs of data transfers would outweigh the benefits. When SUBSTITUTABLE? is false, declare that substitutes of the derivation's -output should not be used." +output should not be used. + +PROPERTIES must be an association list describing \"properties\" of the +derivation. It is kept as-is, uninterpreted, in the derivation." (define (add-output-paths drv) ;; Return DRV with an actual store path for each of its output and the ;; corresponding environment variable. @@ -763,6 +768,10 @@ output should not be used." `(("impureEnvVars" . ,(string-join leaked-env-vars))) '()) + ,@(match properties + (() '()) + (lst `(("guix properties" + . ,(object->string properties))))) ,@env-vars))) (match references-graphs (((file . path) ...) @@ -851,6 +860,14 @@ long-running processes that know what they're doing. Use with care!" (invalidate-memoization! derivation-path->base16-hash) (hash-clear! %derivation-cache)) +(define derivation-properties + (mlambdaq (drv) + "Return the property alist associated with DRV." + (match (assoc "guix properties" + (derivation-builder-environment-vars drv)) + ((_ . str) (call-with-input-string str read)) + (#f '())))) + (define* (map-derivation store drv mapping #:key (system (%current-system))) "Given MAPPING, a list of pairs of derivations, return a derivation based on @@ -1129,7 +1146,8 @@ they can refer to each other." references-graphs allowed-references disallowed-references - local-build? (substitutable? #t)) + local-build? (substitutable? #t) + (properties '())) "Return a derivation that executes Scheme expression EXP as a builder for derivation NAME. INPUTS must be a list of (NAME DRV-PATH SUB-DRV) tuples; when SUB-DRV is omitted, \"out\" is assumed. MODULES is a list @@ -1149,7 +1167,8 @@ EXP is built using GUILE-FOR-BUILD (a derivation). When GUILE-FOR-BUILD is omitted or is #f, the value of the `%guile-for-build' fluid is used instead. See the `derivation' procedure for the meaning of REFERENCES-GRAPHS, -ALLOWED-REFERENCES, DISALLOWED-REFERENCES, LOCAL-BUILD?, and SUBSTITUTABLE?." +ALLOWED-REFERENCES, DISALLOWED-REFERENCES, LOCAL-BUILD?, SUBSTITUTABLE?, +and PROPERTIES." (define guile-drv (or guile-for-build (%guile-for-build))) @@ -1277,7 +1296,8 @@ ALLOWED-REFERENCES, DISALLOWED-REFERENCES, LOCAL-BUILD?, and SUBSTITUTABLE?." #:allowed-references allowed-references #:disallowed-references disallowed-references #:local-build? local-build? - #:substitutable? substitutable?))) + #:substitutable? substitutable? + #:properties properties))) ;;; diff --git a/guix/gexp.scm b/guix/gexp.scm index f33fb198e4..786e378308 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -631,6 +631,7 @@ names and file names suitable for the #:allowed-references argument to allowed-references disallowed-references leaked-env-vars local-build? (substitutable? #t) + (properties '()) ;; TODO: This parameter is transitional; it's here ;; to avoid a full rebuild. Remove it on the next @@ -800,7 +801,8 @@ The other arguments are as for 'derivation'." #:disallowed-references disallowed #:leaked-env-vars leaked-env-vars #:local-build? local-build? - #:substitutable? substitutable?)))) + #:substitutable? substitutable? + #:properties properties)))) (define* (gexp-inputs exp #:key native?) "Return the input list for EXP. When NATIVE? is true, return only native diff --git a/tests/derivations.scm b/tests/derivations.scm index 159a6971b3..5f294c1827 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -1132,6 +1132,16 @@ ((p2 . _) (stringderivation %store "bar" + '(mkdir %output))) + (drv2 (build-expression->derivation %store "foo" + '(mkdir %output) + #:properties '((type . test))))) + (list (derivation-properties drv1) + (derivation-properties drv2)))) + (test-equal "map-derivation" "hello" (let* ((joke (package-derivation %store guile-1.8)) diff --git a/tests/gexp.scm b/tests/gexp.scm index ab60bdab68..7ae9201c81 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -476,7 +476,15 @@ (return (and (string=? (readlink (string-append out "/foo")) guile) (string=? (readlink out2) file) (equal? refs (list (dirname (dirname guile)))) - (equal? refs2 (list file)))))) + (equal? refs2 (list file)) + (null? (derivation-properties drv)))))) + +(test-assertm "gexp->derivation properties" + (mlet %store-monad ((drv (gexp->derivation "foo" + #~(mkdir #$output) + #:properties '((type . test))))) + (return (equal? '((type . test)) + (derivation-properties drv))))) (test-assertm "gexp->derivation vs. grafts" (mlet* %store-monad ((graft? (set-grafting #f)) -- 2.19.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 27 02:51:01 2018 Received: (at 33519) by debbugs.gnu.org; 27 Nov 2018 07:51:01 +0000 Received: from localhost ([127.0.0.1]:50380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRY96-0006nv-Pp for submit@debbugs.gnu.org; Tue, 27 Nov 2018 02:51:00 -0500 Received: from mail.lassieur.org ([83.152.10.219]:40958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRY94-0006nk-NH for 33519@debbugs.gnu.org; Tue, 27 Nov 2018 02:50:59 -0500 Received: from rodion (88.191.118.83 [88.191.118.83]) by mail.lassieur.org (OpenSMTPD) with ESMTPSA id 7f9c25ac (TLSv1.2:ECDHE-RSA-CHACHA20-POLY1305:256:NO); Tue, 27 Nov 2018 07:50:57 +0000 (UTC) References: <20181126214306.27587-1-ludo@gnu.org> User-agent: mu4e 1.0; emacs 26.1 From: =?utf-8?Q?Cl=C3=A9ment?= Lassieur To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#33519] [PATCH 0/4] Reporting grafts in the user interface In-reply-to: <20181126214306.27587-1-ludo@gnu.org> Date: Tue, 27 Nov 2018 08:50:56 +0100 Message-ID: <87in0jc61r.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, 33519@debbugs.gnu.org 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: -1.0 (-) Ludovic Court=C3=A8s writes: > Hello Guix! > > These patches add UI hints so that grafting derivations can be > distinguished from more expensive derivations, as suggested by > Ricardo a while back. [...] > Overall this makes operations more transparent. Advanced users > will know what this means, and hopefully others will notice that > grafting is a relatively fast operation and discover that it has to > do with security updates. > > Thoughts? This is awesome! And I imagine it will allow to distinguish packages and tests in Cuirass :-) From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 27 03:28:04 2018 Received: (at 33519) by debbugs.gnu.org; 27 Nov 2018 08:28:04 +0000 Received: from localhost ([127.0.0.1]:50407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRYiy-0007my-6M for submit@debbugs.gnu.org; Tue, 27 Nov 2018 03:28:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49164) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRYiw-0007mU-8t for 33519@debbugs.gnu.org; Tue, 27 Nov 2018 03:28:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRYip-0004Uc-Tk for 33519@debbugs.gnu.org; Tue, 27 Nov 2018 03:27:57 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRYiY-0004Fm-U8; Tue, 27 Nov 2018 03:27:39 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=60320 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gRYiW-000580-K1; Tue, 27 Nov 2018 03:27:37 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur Subject: Re: [bug#33519] [PATCH 0/4] Reporting grafts in the user interface References: <20181126214306.27587-1-ludo@gnu.org> <87in0jc61r.fsf@lassieur.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 7 Frimaire an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 27 Nov 2018 09:27:34 +0100 In-Reply-To: <87in0jc61r.fsf@lassieur.org> (=?utf-8?Q?=22Cl=C3=A9ment?= Lassieur"'s message of "Tue, 27 Nov 2018 08:50:56 +0100") Message-ID: <87woozaps9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: rekado@elephly.net, 33519@debbugs.gnu.org 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: -6.0 (------) Cl=C3=A9ment Lassieur skribis: > Ludovic Court=C3=A8s writes: > >> Hello Guix! >> >> These patches add UI hints so that grafting derivations can be >> distinguished from more expensive derivations, as suggested by >> Ricardo a while back. > > [...] > >> Overall this makes operations more transparent. Advanced users >> will know what this means, and hopefully others will notice that >> grafting is a relatively fast operation and discover that it has to >> do with security updates. >> >> Thoughts? > > This is awesome! Glad you like it. :-) > And I imagine it will allow to distinguish packages and tests in > Cuirass :-) It=E2=80=99s tempting to use properties for all sorts of things (like we co= uld distinguish profile hooks, too), so yes, we could do more of that, but I feel we should not go too far either. :-) Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 27 03:51:58 2018 Received: (at 33519) by debbugs.gnu.org; 27 Nov 2018 08:51:58 +0000 Received: from localhost ([127.0.0.1]:50417 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRZ65-0008Pr-MS for submit@debbugs.gnu.org; Tue, 27 Nov 2018 03:51:57 -0500 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRZ63-0008Pg-OY for 33519@debbugs.gnu.org; Tue, 27 Nov 2018 03:51:56 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1543305960; cv=none; d=zoho.com; s=zohoarc; b=SKUviA5stZP6noPGZ9/gZJKTHFraYEKHf8QHCI73FKZjkFcat990dr5EAs+8yNcGnqcSflSsIywiC0ucJ3U8S4zWVp5yP2GNBxpc/JUjO67UqkMrU05ytpH/hb/BdToLzGCPAqpG0hw0iotO0azruzoxggFuN6VCpJ62l0KIjAo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1543305960; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=DEOcrsxs8xXZ6QBC/PPK6MOSAefxAwyqA+sO+dWOGaQ=; b=ayyUPD36nzY9KBNnAHfw5rSQ4fYJk5RGevqeoijTUlDcr90feYV7RD7yyydkakw7nBq4eobnl07a81aWvNX7gGjk+q5Bzrowa9ftO/mW2efeK4xMsGYHURAklPNY8o8IXk1rB2aNW3hAqD3Z5glwsxrvnbUXblRNhIE0I79hYfA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1543305960; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:To:Cc:Subject:In-reply-to:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding; l=739; bh=DEOcrsxs8xXZ6QBC/PPK6MOSAefxAwyqA+sO+dWOGaQ=; b=d/7PhpYgnVYPnkpEnqGDdHV07B1JZwQ/1MOT1oU9Tel9zk49m7APgjkftec7Bjl1 07SguKnb51PPRKG0skRpmndOPR2ggx1f9YnsPBo0SqbHEfuMlEy6eb/Ag9IPHqa3xpK PcMF/9i6K8rPlBOjpbAAbCxy25q1IFheMa2R6Z2Y= Received: from localhost (p578E7EB3.dip0.t-ipconnect.de [87.142.126.179]) by mx.zohomail.com with SMTPS id 1543305957950846.8814850674752; Tue, 27 Nov 2018 00:05:57 -0800 (PST) References: <20181126214306.27587-1-ludo@gnu.org> <87in0jc61r.fsf@lassieur.org> User-agent: mu4e 1.0; emacs 26.1 From: Ricardo Wurmus To: =?utf-8?Q?Cl=C3=A9ment?= Lassieur Subject: Re: [bug#33519] [PATCH 0/4] Reporting grafts in the user interface In-reply-to: <87in0jc61r.fsf@lassieur.org> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Tue, 27 Nov 2018 09:05:53 +0100 Message-ID: <87ftvn3py6.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 33519 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 33519@debbugs.gnu.org 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: -1.0 (-) Cl=C3=A9ment Lassieur writes: > Ludovic Court=C3=A8s writes: > >> Hello Guix! >> >> These patches add UI hints so that grafting derivations can be >> distinguished from more expensive derivations, as suggested by >> Ricardo a while back. > > [...] > >> Overall this makes operations more transparent. Advanced users >> will know what this means, and hopefully others will notice that >> grafting is a relatively fast operation and discover that it has to >> do with security updates. >> >> Thoughts? > > This is awesome! I agree! This looks great. > And I imagine it will allow to distinguish packages > and tests in Cuirass :-) How would that work? --=20 Ricardo From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 28 04:41:31 2018 Received: (at 33519) by debbugs.gnu.org; 28 Nov 2018 09:41:32 +0000 Received: from localhost ([127.0.0.1]:52865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRwLb-00034o-MO for submit@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:31 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56967) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRwLY-00034a-Hd for 33519@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRwLS-0007xY-OU for 33519@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:23 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57655) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRwLS-0007xJ-Kd; Wed, 28 Nov 2018 04:41:22 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51620 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gRwLS-0002Y8-DC; Wed, 28 Nov 2018 04:41:22 -0500 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Ricardo Wurmus Subject: Re: [bug#33519] [PATCH 0/4] Reporting grafts in the user interface References: <20181126214306.27587-1-ludo@gnu.org> <87in0jc61r.fsf@lassieur.org> <87ftvn3py6.fsf@elephly.net> Date: Wed, 28 Nov 2018 10:41:20 +0100 In-Reply-To: <87ftvn3py6.fsf@elephly.net> (Ricardo Wurmus's message of "Tue, 27 Nov 2018 09:05:53 +0100") Message-ID: <87k1kx7d4v.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 33519 Cc: 33519@debbugs.gnu.org, =?utf-8?Q?Cl=C3=A9ment?= Lassieur 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: -6.0 (------) Pushed! d4aa147eec ui: 'show-what-to-build' reports grafts separately. af1f1c38fb status: Report grafting derivations specially. 64fd1c01bc grafts: Record metadata as derivation properties. 8856f409d1 derivations: Add properties. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 28 04:41:36 2018 Received: (at control) by debbugs.gnu.org; 28 Nov 2018 09:41:36 +0000 Received: from localhost ([127.0.0.1]:52868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRwLf-000356-VS for submit@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:36 -0500 Received: from eggs.gnu.org ([208.118.235.92]:57013) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRwLe-00034f-3K for control@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRwLY-00083K-FU for control@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:28 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRwLY-00083C-Cq for control@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:28 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=53688 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gRwLY-0002Yk-47 for control@debbugs.gnu.org; Wed, 28 Nov 2018 04:41:28 -0500 Date: Wed, 28 Nov 2018 10:41:27 +0100 Message-Id: <87in0h7d4o.fsf@gnu.org> To: control@debbugs.gnu.org From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: control message for bug #33519 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control 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: -6.0 (------) tags 33519 fixed close 33519 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 30 06:56:18 2018 Received: (at 33519) by debbugs.gnu.org; 30 Nov 2018 11:56:18 +0000 Received: from localhost ([127.0.0.1]:55595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gShP7-0007Ly-Q8 for submit@debbugs.gnu.org; Fri, 30 Nov 2018 06:56:17 -0500 Received: from mail.lassieur.org ([83.152.10.219]:54886) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gShP6-0007Lp-OY for 33519@debbugs.gnu.org; Fri, 30 Nov 2018 06:56:17 -0500 Received: from rodion (88.191.118.83 [88.191.118.83]) by mail.lassieur.org (OpenSMTPD) with ESMTPSA id 58b74822 (TLSv1.2:ECDHE-RSA-CHACHA20-POLY1305:256:NO); Fri, 30 Nov 2018 11:56:14 +0000 (UTC) References: <20181126214306.27587-1-ludo@gnu.org> <87in0jc61r.fsf@lassieur.org> <87ftvn3py6.fsf@elephly.net> User-agent: mu4e 1.0; emacs 26.1 From: =?utf-8?Q?Cl=C3=A9ment?= Lassieur To: Ricardo Wurmus Subject: Re: [bug#33519] [PATCH 0/4] Reporting grafts in the user interface In-reply-to: <87ftvn3py6.fsf@elephly.net> Date: Fri, 30 Nov 2018 12:56:14 +0100 Message-ID: <87d0qmhj8h.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 33519 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , 33519@debbugs.gnu.org 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: -1.0 (-) Ricardo Wurmus writes: > Cl=C3=A9ment Lassieur writes: > >> Ludovic Court=C3=A8s writes: >> >>> Hello Guix! >>> >>> These patches add UI hints so that grafting derivations can be >>> distinguished from more expensive derivations, as suggested by >>> Ricardo a while back. >> >> [...] >> >>> Overall this makes operations more transparent. Advanced users >>> will know what this means, and hopefully others will notice that >>> grafting is a relatively fast operation and discover that it has to >>> do with security updates. >>> >>> Thoughts? >> >> This is awesome! > > I agree! This looks great. > >> And I imagine it will allow to distinguish packages >> and tests in Cuirass :-) > > How would that work? As a way to link Cuirass packages to tools like hpcguix-web. It's not a priority though. From unknown Mon Aug 18 02:36:41 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 28 Dec 2018 12:24:04 +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