summaryrefslogtreecommitdiff
path: root/gnu/build
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/activation.scm16
-rw-r--r--gnu/build/chromium-extension.scm12
-rw-r--r--gnu/build/cross-toolchain.scm12
-rw-r--r--gnu/build/file-systems.scm14
-rw-r--r--gnu/build/hurd-boot.scm13
-rw-r--r--gnu/build/install.scm18
-rw-r--r--gnu/build/linux-boot.scm18
-rw-r--r--gnu/build/linux-initrd.scm16
-rw-r--r--gnu/build/linux-modules.scm12
-rw-r--r--gnu/build/marionette.scm22
-rw-r--r--gnu/build/secret-service.scm18
-rw-r--r--gnu/build/shepherd.scm14
12 files changed, 93 insertions, 92 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index dbe35f41b88..516f9d86bbe 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -28,6 +28,14 @@
28;;; You should have received a copy of the GNU General Public License 28;;; You should have received a copy of the GNU General Public License
29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 29;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
30 30
31;;; Commentary:
32;;;
33;;; This module provides "activation" helpers. Activation is the process that
34;;; consists in setting up system-wide files and directories so that an
35;;; 'operating-system' configuration becomes active.
36;;;
37;;; Code:
38
31(define-module (gnu build activation) 39(define-module (gnu build activation)
32 #:use-module (gnu system accounts) 40 #:use-module (gnu system accounts)
33 #:use-module (gnu system privilege) 41 #:use-module (gnu system privilege)
@@ -53,14 +61,6 @@
53 activate-current-system 61 activate-current-system
54 mkdir-p/perms)) 62 mkdir-p/perms))
55 63
56;;; Commentary:
57;;;
58;;; This module provides "activation" helpers. Activation is the process that
59;;; consists in setting up system-wide files and directories so that an
60;;; 'operating-system' configuration becomes active.
61;;;
62;;; Code:
63
64(define %skeleton-directory 64(define %skeleton-directory
65 ;; Directory containing skeleton files for new accounts. 65 ;; Directory containing skeleton files for new accounts.
66 ;; Note: keep the trailing '/' so that 'scandir' enters it. 66 ;; Note: keep the trailing '/' so that 'scandir' enters it.
diff --git a/gnu/build/chromium-extension.scm b/gnu/build/chromium-extension.scm
index 8171c727341..881cbbbcbc7 100644
--- a/gnu/build/chromium-extension.scm
+++ b/gnu/build/chromium-extension.scm
@@ -17,6 +17,12 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Tools to deal with Chromium extensions.
23;;;
24;;; Code:
25
20(define-module (gnu build chromium-extension) 26(define-module (gnu build chromium-extension)
21 #:use-module (guix gexp) 27 #:use-module (guix gexp)
22 #:use-module (guix packages) 28 #:use-module (guix packages)
@@ -26,12 +32,6 @@
26 #:use-module (guix build-system trivial) 32 #:use-module (guix build-system trivial)
27 #:export (make-chromium-extension)) 33 #:export (make-chromium-extension))
28 34
29;;; Commentary:
30;;;
31;;; Tools to deal with Chromium extensions.
32;;;
33;;; Code:
34
35(define (make-signing-key seed) 35(define (make-signing-key seed)
36 "Return a derivation for a deterministic PKCS #8 private key using SEED." 36 "Return a derivation for a deterministic PKCS #8 private key using SEED."
37 (computed-file 37 (computed-file
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm
index da9016488f7..2246f45519d 100644
--- a/gnu/build/cross-toolchain.scm
+++ b/gnu/build/cross-toolchain.scm
@@ -21,6 +21,12 @@
21;;; You should have received a copy of the GNU General Public License 21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23 23
24;;; Commentary:
25;;;
26;;; This module provides tools to build a cross-compiler.
27;;;
28;;; Code:
29
24(define-module (gnu build cross-toolchain) 30(define-module (gnu build cross-toolchain)
25 #:use-module (guix build utils) 31 #:use-module (guix build utils)
26 #:use-module (guix build gnu-build-system) 32 #:use-module (guix build gnu-build-system)
@@ -30,12 +36,6 @@
30 #:use-module (ice-9 ftw) 36 #:use-module (ice-9 ftw)
31 #:export (cross-gcc-build-phases)) 37 #:export (cross-gcc-build-phases))
32 38
33;;; Commentary:
34;;;
35;;; This module provides tools to build a cross-compiler.
36;;;
37;;; Code:
38
39(define %gcc-include-paths 39(define %gcc-include-paths
40 ;; Environment variables for header search paths. 40 ;; Environment variables for header search paths.
41 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. 41 ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index f236efd9250..d7831767b45 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -26,6 +26,13 @@
26;;; You should have received a copy of the GNU General Public License 26;;; You should have received a copy of the GNU General Public License
27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 27;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
28 28
29;;; Commentary:
30;;;
31;;; This modules provides tools to deal with disk partitions, and to mount and
32;;; check file systems.
33;;;
34;;; Code:
35
29(define-module (gnu build file-systems) 36(define-module (gnu build file-systems)
30 #:use-module (gnu system uuid) 37 #:use-module (gnu system uuid)
31 #:use-module (gnu system file-systems) 38 #:use-module (gnu system file-systems)
@@ -80,13 +87,6 @@
80 87
81 swap-space->flags-bit-mask)) 88 swap-space->flags-bit-mask))
82 89
83;;; Commentary:
84;;;
85;;; This modules provides tools to deal with disk partitions, and to mount and
86;;; check file systems.
87;;;
88;;; Code:
89
90(define (system*/console program . args) 90(define (system*/console program . args)
91 "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is 91 "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is
92as for 'system*'." 92as for 'system*'."
diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm
index 67975bfa647..7de9f0ec63a 100644
--- a/gnu/build/hurd-boot.scm
+++ b/gnu/build/hurd-boot.scm
@@ -17,6 +17,13 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; This modules provides tools to deal with disk partitions, and to mount and
23;;; check file systems.
24;;;
25;;; Code:
26
20(define-module (gnu build hurd-boot) 27(define-module (gnu build hurd-boot)
21 #:use-module (system repl error-handling) 28 #:use-module (system repl error-handling)
22 #:autoload (system repl repl) (start-repl) 29 #:autoload (system repl repl) (start-repl)
@@ -29,12 +36,6 @@
29 #:export (make-hurd-device-nodes 36 #:export (make-hurd-device-nodes
30 boot-hurd-system)) 37 boot-hurd-system))
31 38
32;;; Commentary:
33;;;
34;;; Utility procedures useful to boot a Hurd system.
35;;;
36;;; Code:
37
38;; XXX FIXME c&p from linux-boot.scm 39;; XXX FIXME c&p from linux-boot.scm
39(define (find-long-option option arguments) 40(define (find-long-option option arguments)
40 "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\". 41 "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index 58ee77d1831..df9befe058a 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -19,6 +19,15 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module supports the installation of the GNU system on a hard disk.
25;;; It is meant to be used both in a build environment (in derivations that
26;;; build VM images), and on the bare metal (when really installing the
27;;; system.)
28;;;
29;;; Code:
30
22(define-module (gnu build install) 31(define-module (gnu build install)
23 #:use-module (guix build syscalls) 32 #:use-module (guix build syscalls)
24 #:use-module (guix build utils) 33 #:use-module (guix build utils)
@@ -33,15 +42,6 @@
33 mount-cow-store 42 mount-cow-store
34 unmount-cow-store)) 43 unmount-cow-store))
35 44
36;;; Commentary:
37;;;
38;;; This module supports the installation of the GNU system on a hard disk.
39;;; It is meant to be used both in a build environment (in derivations that
40;;; build VM images), and on the bare metal (when really installing the
41;;; system.)
42;;;
43;;; Code:
44
45(define (install-boot-config bootcfg bootcfg-location mount-point) 45(define (install-boot-config bootcfg bootcfg-location mount-point)
46 "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note 46 "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note
47that the caller must make sure that BOOTCFG is registered as a GC root so 47that the caller must make sure that BOOTCFG is registered as a GC root so
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index e0743eae55a..c1a294db18c 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -20,6 +20,15 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that
26;;; many of these use procedures not yet available in vanilla Guile (`mount',
27;;; `load-linux-module', etc.); these are provided by a Guile patch used in
28;;; the GNU distribution.
29;;;
30;;; Code:
31
23(define-module (gnu build linux-boot) 32(define-module (gnu build linux-boot)
24 #:use-module (rnrs io ports) 33 #:use-module (rnrs io ports)
25 #:use-module (system repl error-handling) 34 #:use-module (system repl error-handling)
@@ -67,15 +76,6 @@
67 76
68 read-linux-consoles)) 77 read-linux-consoles))
69 78
70;;; Commentary:
71;;;
72;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that
73;;; many of these use procedures not yet available in vanilla Guile (`mount',
74;;; `load-linux-module', etc.); these are provided by a Guile patch used in
75;;; the GNU distribution.
76;;;
77;;; Code:
78
79(define* (mount-essential-file-systems #:key (root "/")) 79(define* (mount-essential-file-systems #:key (root "/"))
80 "Mount /dev, /proc, and /sys under ROOT." 80 "Mount /dev, /proc, and /sys under ROOT."
81 (define (scope dir) 81 (define (scope dir)
diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm
index bb2ed0db0c7..559f02fc2a0 100644
--- a/gnu/build/linux-initrd.scm
+++ b/gnu/build/linux-initrd.scm
@@ -16,6 +16,14 @@
16;;; You should have received a copy of the GNU General Public License 16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18 18
19;;; Commentary:
20;;;
21;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are
22;;; essentially gzipped cpio archives, with a '/init' executable that the
23;;; kernel runs at boot time.
24;;;
25;;; Code:
26
19(define-module (gnu build linux-initrd) 27(define-module (gnu build linux-initrd)
20 #:use-module ((guix cpio) #:prefix cpio:) 28 #:use-module ((guix cpio) #:prefix cpio:)
21 #:use-module (guix build utils) 29 #:use-module (guix build utils)
@@ -27,14 +35,6 @@
27 #:export (write-cpio-archive 35 #:export (write-cpio-archive
28 build-initrd)) 36 build-initrd))
29 37
30;;; Commentary:
31;;;
32;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are
33;;; essentially gzipped cpio archives, with a '/init' executable that the
34;;; kernel runs at boot time.
35;;;
36;;; Code:
37
38(define* (write-cpio-archive output directory 38(define* (write-cpio-archive output directory
39 #:key 39 #:key
40 (compress? #t) 40 (compress? #t)
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 6bf71100e49..ae0137e1c12 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -20,6 +20,12 @@
20;;; You should have received a copy of the GNU General Public License 20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22 22
23;;; Commentary:
24;;;
25;;; Tools to deal with Linux kernel modules.
26;;;
27;;; Code:
28
23(define-module (gnu build linux-modules) 29(define-module (gnu build linux-modules)
24 #:use-module (guix elf) 30 #:use-module (guix elf)
25 #:use-module (guix glob) 31 #:use-module (guix glob)
@@ -78,12 +84,6 @@
78 84
79 make-linux-module-directory)) 85 make-linux-module-directory))
80 86
81;;; Commentary:
82;;;
83;;; Tools to deal with Linux kernel modules.
84;;;
85;;; Code:
86
87(define current-module-debugging-port 87(define current-module-debugging-port
88 (make-parameter (%make-void-port "w"))) 88 (make-parameter (%make-void-port "w")))
89 89
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index 015fc8a98b7..b6d4ec0de9c 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -19,6 +19,17 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is
25;;; essentially a VM (a QEMU instance) with its monitor connected to a
26;;; Unix-domain socket, and with a REPL inside the guest listening on a
27;;; virtual console, which is itself connected to the host via a Unix-domain
28;;; socket--these are the marionette's strings, connecting it to the almighty
29;;; puppeteer.
30;;;
31;;; Code:
32
22(define-module (gnu build marionette) 33(define-module (gnu build marionette)
23 #:use-module (srfi srfi-9) 34 #:use-module (srfi srfi-9)
24 #:use-module (srfi srfi-26) 35 #:use-module (srfi srfi-26)
@@ -44,17 +55,6 @@
44 system-test-runner 55 system-test-runner
45 qemu-command)) 56 qemu-command))
46 57
47;;; Commentary:
48;;;
49;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is
50;;; essentially a VM (a QEMU instance) with its monitor connected to a
51;;; Unix-domain socket, and with a REPL inside the guest listening on a
52;;; virtual console, which is itself connected to the host via a Unix-domain
53;;; socket--these are the marionette's strings, connecting it to the almighty
54;;; puppeteer.
55;;;
56;;; Code:
57
58(define-record-type <marionette> 58(define-record-type <marionette>
59 (marionette command pid monitor repl) 59 (marionette command pid monitor repl)
60 marionette? 60 marionette?
diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm
index 5447563cd94..0c8a0c7677b 100644
--- a/gnu/build/secret-service.scm
+++ b/gnu/build/secret-service.scm
@@ -17,6 +17,15 @@
17;;; You should have received a copy of the GNU General Public License 17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19 19
20;;; Commentary:
21;;;
22;;; Utility procedures for copying secrets into a VM.
23;;;
24;;; Note: This code runs within the 'shepherd' process, hence the use of
25;;; Fibers.
26;;;
27;;; Code:
28
20(define-module (gnu build secret-service) 29(define-module (gnu build secret-service)
21 #:autoload (fibers io-wakeup) (wait-until-port-readable-operation) 30 #:autoload (fibers io-wakeup) (wait-until-port-readable-operation)
22 #:autoload (fibers operations) (perform-operation 31 #:autoload (fibers operations) (perform-operation
@@ -33,15 +42,6 @@
33 #:export (secret-service-receive-secrets 42 #:export (secret-service-receive-secrets
34 secret-service-send-secrets)) 43 secret-service-send-secrets))
35 44
36;;; Commentary:
37;;;
38;;; Utility procedures for copying secrets into a VM.
39;;;
40;;; Note: This code runs within the 'shepherd' process, hence the use of
41;;; Fibers.
42;;;
43;;; Code:
44
45(define-syntax log 45(define-syntax log
46 (lambda (s) 46 (lambda (s)
47 "Log the given message." 47 "Log the given message."
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm
index 4ead27be0be..26f75e5d533 100644
--- a/gnu/build/shepherd.scm
+++ b/gnu/build/shepherd.scm
@@ -19,6 +19,13 @@
19;;; You should have received a copy of the GNU General Public License 19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21 21
22;;; Commentary:
23;;;
24;;; This module provides extensions to the GNU Shepherd. In particular, it
25;;; provides a helper to start services in a container.
26;;;
27;;; Code:
28
22(define-module (gnu build shepherd) 29(define-module (gnu build shepherd)
23 #:use-module (gnu system file-systems) 30 #:use-module (gnu system file-systems)
24 #:use-module (gnu build linux-container) 31 #:use-module (gnu build linux-container)
@@ -35,13 +42,6 @@
35 #:export (default-mounts 42 #:export (default-mounts
36 fork+exec-command/container)) 43 fork+exec-command/container))
37 44
38;;; Commentary:
39;;;
40;;; This module provides extensions to the GNU Shepherd. In particular, it
41;;; provides a helper to start services in a container.
42;;;
43;;; Code:
44
45(define (clean-up file) 45(define (clean-up file)
46 (when file 46 (when file
47 (catch 'system-error 47 (catch 'system-error