Browse Source

store: Remove 'register-path'.

* guix/store.scm (register-path): Remove.
* guix/nar.scm: Use (guix store database).
* guix/scripts/system.scm: Likewise.
* tests/store-database.scm: Remove #:hide (register-path).
* tests/store.scm ("register-path"): Remove.
gn-latest-20200428
Ludovic Courtès 2 years ago
parent
commit
df2f6400b1
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
5 changed files with 5 additions and 52 deletions
  1. +2
    -1
      guix/nar.scm
  2. +1
    -0
      guix/scripts/system.scm
  3. +0
    -29
      guix/store.scm
  4. +1
    -1
      tests/store-database.scm
  5. +1
    -21
      tests/store.scm

+ 2
- 1
guix/nar.scm View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@@ -23,6 +23,7 @@
#:use-module ((guix build utils)
#:select (delete-file-recursively with-directory-excursion))
#:use-module (guix store)
#:use-module (guix store database)
#:use-module (guix ui) ; for '_'
#:use-module (guix hash)
#:use-module (guix pki)


+ 1
- 0
guix/scripts/system.scm View File

@@ -23,6 +23,7 @@
#:use-module (guix config)
#:use-module (guix ui)
#:use-module (guix store)
#:autoload (guix store database) (register-path)
#:use-module (guix grafts)
#:use-module (guix gexp)
#:use-module (guix derivations)


+ 0
- 29
guix/store.scm View File

@@ -122,8 +122,6 @@

current-build-output-port

register-path

%store-monad
store-bind
store-return
@@ -1301,33 +1299,6 @@ The result is always the empty list unless the daemon was started with
This makes sense only when the daemon was started with '--cache-failures'."
boolean)

(define* (register-path path
#:key (references '()) deriver prefix
state-directory)
"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
not #f, it must be the name of the directory containing the new store to
initialize; if STATE-DIRECTORY is not #f, it must be a string containing the
absolute file name to the state directory of the store being initialized.
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."
;; Currently this is implemented by calling out to the fine C++ blob.
(let ((pipe (apply open-pipe* OPEN_WRITE %guix-register-program
`(,@(if prefix
`("--prefix" ,prefix)
'())
,@(if state-directory
`("--state-directory" ,state-directory)
'())))))
(and pipe
(begin
(format pipe "~a~%~a~%~a~%"
path (or deriver "") (length references))
(for-each (cut format pipe "~a~%" <>) references)
(zero? (close-pipe pipe))))))

;;;
;;; Store monad.


+ 1
- 1
tests/store-database.scm View File

@@ -18,7 +18,7 @@

(define-module (test-store-database)
#:use-module (guix tests)
#:use-module ((guix store) #:hide (register-path))
#:use-module (guix store)
#:use-module (guix store database)
#:use-module ((guix utils) #:select (call-with-temporary-output-file))
#:use-module (srfi srfi-26)


+ 1
- 21
tests/store.scm View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -777,26 +777,6 @@
(pk 'corrupt-imported imported)
#f)))))

(test-assert "register-path"
(let ((file (string-append (%store-prefix) "/" (make-string 32 #\f)
"-fake")))
(when (valid-path? %store file)
(delete-paths %store (list file)))
(false-if-exception (delete-file file))

(let ((ref (add-text-to-store %store "ref-of-fake" (random-text)))
(drv (string-append file ".drv")))
(call-with-output-file file
(cut display "This is a fake store item.\n" <>))
(register-path file
#:references (list ref)
#:deriver drv)

(and (valid-path? %store file)
(equal? (references %store file) (list ref))
(null? (valid-derivers %store file))
(null? (referrers %store file))))))

(test-assert "verify-store"
(let* ((text (random-text))
(file1 (add-text-to-store %store "foo" text))


Loading…
Cancel
Save