summary refs log tree commit diff
path: root/gnu/packages/grub.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-09-11 22:36:50 +0200
committerLudovic Courtès <ludo@gnu.org>2013-09-11 22:36:50 +0200
commit0ded70f37d47579ca058f2f4ca27335129a96e25 (patch)
tree87f4be8fc34201c75aebe6fb4e335e0078a0fffc /gnu/packages/grub.scm
parentaedb72fbe07b82da00f6c7a397794d465c217135 (diff)
downloadguix-0ded70f37d47579ca058f2f4ca27335129a96e25.tar.gz
gnu: Move helper code to (gnu system …) modules.
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move
  to...
* gnu/system/grub.scm: ... here.  New file.
* gnu/packages/linux.scm (<pam-service>, <pam-entry>,
  pam-service->configuration, pam-service->directory,
  %pam-other-services, unix-pam-service): Move to...
* gnu/system/linux.scm: ... here.  New file.
* gnu/system/vm.scm (passwd-file): Move to...
* gnu/system/shadow.scm: ... here.  New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add
  gnu/system/{grub,linux,shadow}.scm.
Diffstat (limited to 'gnu/packages/grub.scm')
-rw-r--r--gnu/packages/grub.scm62
1 files changed, 1 insertions, 61 deletions
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 71c4fad781..8c981bf88d 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -19,9 +19,6 @@
 (define-module (gnu packages grub)
   #:use-module (guix download)
   #:use-module (guix packages)
-  #:use-module (guix records)
-  #:use-module (guix store)
-  #:use-module (guix derivations)
   #:use-module ((guix licenses) #:select (gpl3+))
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
@@ -33,11 +30,7 @@
   #:use-module (gnu packages qemu)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages cdrom)
-  #:use-module (srfi srfi-1)
-  #:use-module (ice-9 match)
-  #:export (menu-entry
-            menu-entry?
-            grub-configuration-file))
+  #:use-module (srfi srfi-1))
 
 (define qemu-for-tests
   ;; Newer QEMU versions, such as 1.5.1, no longer support the 'shutdown'
@@ -117,56 +110,3 @@ computer starts.  It is responsible for loading and transferring control to
 the operating system kernel software (such as the Hurd or the Linux).  The
 kernel, in turn, initializes the rest of the operating system (e.g., GNU).")
     (license gpl3+)))
-
-
-;;;
-;;; Configuration.
-;;;
-
-(define-record-type* <menu-entry>
-  menu-entry make-menu-entry
-  menu-entry?
-  (label           menu-entry-label)
-  (linux           menu-entry-linux)
-  (linux-arguments menu-entry-linux-arguments
-                   (default '()))
-  (initrd          menu-entry-initrd))
-
-(define* (grub-configuration-file store entries
-                                  #:key (default-entry 1) (timeout 5)
-                                  (system (%current-system)))
-  "Return the GRUB configuration file in STORE for ENTRIES, a list of
-<menu-entry> objects, defaulting to DEFAULT-ENTRY and with the given TIMEOUT."
-  (define prologue
-    (format #f "
-set default=~a
-set timeout=~a
-search.file ~a~%"
-            default-entry timeout
-            (any (match-lambda
-                  (($ <menu-entry> _ linux)
-                   (let* ((drv (package-derivation store linux system))
-                          (out (derivation-path->output-path drv)))
-                     (string-append out "/bzImage"))))
-                 entries)))
-
-  (define entry->text
-    (match-lambda
-     (($ <menu-entry> label linux arguments initrd)
-      (let ((linux-drv  (package-derivation store linux system))
-            (initrd-drv (package-derivation store initrd system)))
-        ;; XXX: Assume that INITRD is a directory containing an 'initrd' file.
-        (format #f "menuentry ~s {
-  linux ~a/bzImage ~a
-  initrd ~a/initrd
-}~%"
-                label
-                (derivation-path->output-path linux-drv)
-                (string-join arguments)
-                (derivation-path->output-path initrd-drv))))))
-
-  (add-text-to-store store "grub.cfg"
-                     (string-append prologue
-                                    (string-concatenate
-                                     (map entry->text entries)))
-                     '()))