From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id WGVHABGM01+2DgAA0tVLHw (envelope-from ) for ; Fri, 11 Dec 2020 15:11:13 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id CMOsNxCM01+qFAAAB5/wlQ (envelope-from ) for ; Fri, 11 Dec 2020 15:11:12 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9ABAA9403CA for ; Fri, 11 Dec 2020 15:11:12 +0000 (UTC) Received: from localhost ([::1]:33776 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knk4d-0005jr-Hr for larch@yhetil.org; Fri, 11 Dec 2020 10:11:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1knk4U-0005hY-5r for bug-guix@gnu.org; Fri, 11 Dec 2020 10:11:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:59307) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1knk4T-0001At-Uf for bug-guix@gnu.org; Fri, 11 Dec 2020 10:11:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1knk4T-0007nI-Qr for bug-guix@gnu.org; Fri, 11 Dec 2020 10:11:01 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#44760: [PATCH 11/15] database: Remove #:deduplicate? and #:reset-timestamps? from 'register-path'. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Fri, 11 Dec 2020 15:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44760 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 44760@debbugs.gnu.org Received: via spool by 44760-submit@debbugs.gnu.org id=B44760.160769941329825 (code B ref 44760); Fri, 11 Dec 2020 15:11:01 +0000 Received: (at 44760) by debbugs.gnu.org; 11 Dec 2020 15:10:13 +0000 Received: from localhost ([127.0.0.1]:42600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knk3g-0007ky-TS for submit@debbugs.gnu.org; Fri, 11 Dec 2020 10:10:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knk3e-0007kD-8t for 44760@debbugs.gnu.org; Fri, 11 Dec 2020 10:10:11 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47542) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knk3Z-0000eM-3s; Fri, 11 Dec 2020 10:10:05 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=59326 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knk3Y-0004Vl-LA; Fri, 11 Dec 2020 10:10:04 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Fri, 11 Dec 2020 16:09:47 +0100 Message-Id: <20201211150951.18508-2-ludo@gnu.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201211150951.18508-1-ludo@gnu.org> References: <87h7pkffzy.fsf@inria.fr> <20201211150951.18508-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: 2.20 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Queue-Id: 9ABAA9403CA X-Spam-Score: 2.20 X-Migadu-Scanner: scn1.migadu.com X-TUID: YLf1HrSBLUJi * guix/store/database.scm (register-path): Remove #:deduplicate? and #:reset-timestamps?. * guix/scripts/system.scm (copy-item): Adjust accordingly. * tests/store-database.scm ("register-path") ("register-path, directory"): Call 'reset-timestamps'. --- guix/scripts/system.scm | 6 +----- guix/store/database.scm | 17 ++--------------- tests/store-database.scm | 5 +++-- 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index c08929066b..0e543d9460 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -158,11 +158,7 @@ REFERENCES as its set of references." (unless (register-path item #:prefix target #:state-directory state - #:references references - - ;; Those are taken care of by 'copy-store-item'. - #:reset-timestamps? #f - #:deduplicate? #f) + #:references references) (leave (G_ "failed to register '~a' under '~a'~%") item target)))) diff --git a/guix/store/database.scm b/guix/store/database.scm index 31ea9add78..c0010b72b9 100644 --- a/guix/store/database.scm +++ b/guix/store/database.scm @@ -384,16 +384,14 @@ is true." (define* (register-path path #:key (references '()) deriver prefix - state-directory (deduplicate? #t) - (reset-timestamps? #t) + state-directory (schema (sql-schema))) "Register PATH as a valid store file, with REFERENCES as its list of references, and DERIVER as its deriver (.drv that led to it.) If PREFIX is given, it must be the name of the directory containing the new store to initialize; if STATE-DIRECTORY is given, it must be a string containing the absolute file name to the state directory of the store being initialized. -Return #t on success. As a side effect, reset timestamps on PATH, unless -RESET-TIMESTAMPS? is false. +Return #t on success. Use with care as it directly modifies the store! This is primarily meant to be used internally by the daemon's build hook. @@ -404,17 +402,6 @@ by adding it as a temp-root." (store-database-file #:prefix prefix #:state-directory state-directory)) - (define real-file-name - (string-append (or prefix "") path)) - - (when deduplicate? - (deduplicate real-file-name (nar-sha256 real-file-name) - #:store (string-append (or prefix "") - %store-directory))) - - (when reset-timestamps? - (reset-timestamps real-file-name)) - (parameterize ((sql-schema schema)) (with-database db-file db (register-items db (list (store-info path deriver references)) diff --git a/tests/store-database.scm b/tests/store-database.scm index 3b4ef43f6d..33fd6cfbad 100644 --- a/tests/store-database.scm +++ b/tests/store-database.scm @@ -34,8 +34,7 @@ (test-begin "store-database") -(test-equal "register-path" - '(1 1) +(test-assert "register-path" (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) "-fake"))) (when (valid-path? %store file) @@ -46,6 +45,7 @@ (drv (string-append file ".drv"))) (call-with-output-file file (cut display "This is a fake store item.\n" <>)) + (reset-timestamps file) (register-path file #:references (list ref) #:deriver drv) @@ -69,6 +69,7 @@ (mkdir-p (string-append file "/a")) (call-with-output-file (string-append file "/a/b") (const #t)) + (reset-timestamps file) (register-path file #:deriver drv) (and (valid-path? %store file) -- 2.29.2