~ruther/guix-local

ref: 223ecaba7f17f59cdca8dc6531478d7cf30f29d3 guix-local/gnu/build d---------
de1c158f — Ludovic Courtès 11 years ago
system: Add support for boot-time mapped devices.

* gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and
  honor it.
* gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices
  parameter.  Add 'device-mapping-commands' variable, and use it to
  build the #:pre-mount argument of 'boot-system'.
* gnu/system.scm (mapped-device-user,
  operating-system-user-mapped-devices,
  operating-system-boot-mapped-devices): New procedures.
  (device-mapping-services): Use 'operating-system-user-mapped-devices'
  instead of 'operating-system-mapped-devices'.
  (operating-system-initrd-file): Call the initrd with #:mapped-devices.
e2b464b7 — Ludovic Courtès 11 years ago
activation: Ensure existing user accounts have the right settings.

* gnu/build/activation.scm (modify-user, ensure-user): New procedures.
  (activate-users+groups): Systematically call 'ensure-user'.
4359378a — Ludovic Courtès 11 years ago
linux-boot: Ask fsck for a progress bar.

* gnu/build/file-systems.scm (check-file-system): Pass '-C 0' to FSCK.
  Suggested by Mark H. Weaver.
6c1df081 — Ludovic Courtès 11 years ago
linux-initrd: Remove now obsolete #:guile-modules-in-chroot? parameter.

* gnu/build/linux-boot.scm (boot-system): Remove
  #:guile-modules-in-chroot? and related code.
* gnu/system/linux-initrd.scm (base-initrd): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove
  #:guile-modules-in-chroot? argument in 'base-initrd' call.
9fac9e3b — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu-system.am
6d49355d — Ludovic Courtès 11 years ago
activation: Honor $GUIX_NEW_SYSTEM for use by 'guix system reconfigure'.

* gnu/build/activation.scm (activate-current-system): Honor
  $GUIX_NEW_SYSTEM by default.
* guix/scripts/system.scm (switch-to-system): Set $GUIX_NEW_SYSTEM
  before loading SCRIPT.
66ea98e3 — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates

Conflicts:
	gnu/packages/image.scm
ee7bae3b — Ludovic Courtès 11 years ago
activation: Set the permissions of /etc/sudoers to 440.

* gnu/build/activation.scm (activate-etc): Move 'rm-f' to a local
  'define'.  When TARGET is "sudoers", make it 440.
ee248b6a — Ludovic Courtès 11 years ago
activation: Make the /bin/sh symlink at activation time.

* gnu/build/install.scm (directives): Remove "/bin/sh".
* gnu/build/activation.scm (activate-/bin/sh): New procedure.
* gnu/system.scm (operating-system-activation-script): Use it.
c6a0536d — Ludovic Courtès 11 years ago
activation: Make sure /etc/sudoers & co. are regular files.

Before that, 'sudo' would exit with:

  sudo: /etc/sudoers is not a regular file
  sudo: no valid sudoers sources found, quitting

* gnu/build/activation.scm (activate-etc): Check if SOURCE matches
  'file-is-directory?'.  If not, use 'copy-file' instead of 'symlink'.
286cacad — Ludovic Courtès 11 years ago
activation: Remove outdated comment.

* gnu/build/activation.scm (activate-etc): Remove outdated comment.
095f4deb — Ludovic Courtès 11 years ago
activation: Factorize the link-or-copy trick.

* gnu/build/activation.scm (link-or-copy): New procedure.
  (activate-setuid-programs): Use it.
a4888e2e — Ludovic Courtès 11 years ago
install: Gracefully handle corner cases with 'guix system init foo /'.

* gnu/build/install.scm (evaluate-populate-directive): Wrap body in
  "catch 'system-error", and report clear errors.  In the symlink case,
  retry up EEXIST.
  (populate-root-file-system): Remove /var/guix/profiles/system-1-link
  before attempting to create it.
42d10464 — Ludovic Courtès 11 years ago
linux-initrd: Store Linux modules in a normal store directory.

* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and
  #:linux-modules parameters.  Remove call to
  'float-linux-module-directory'.
  (base-initrd): Add call to 'float-linux-module-directory'.  Use it in
  #:linux-modules argument in the gexp.  Remove #:linux and
  #:linux-modules arguments to 'expression->initrd'.
* gnu/build/linux-initrd.scm (build-initrd): Remove
  #:linux-module-directory parameter.  Don't create 'modules'
  sub-directory.
* gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a
  list of absolute file names.  Don't prepend "/modules/" to
  LINUX-MODULES.
* doc/guix.texi (Initial RAM Disk): Adjust accordingly.
1621cf97 — Ludovic Courtès 11 years ago
linux-initrd: Move initrd creation code to (guix build linux-initrd).

* gnu/build/linux-initrd.scm (cache-compiled-file-name,
  compile-to-cache, build-initrd): New procedures.
* gnu/system/linux-initrd.scm (expression->initrd)[builder]: Remove code
  now moved above.  Use 'build-initrd'.
70608adb — Ludovic Courtès 11 years ago
linux-initrd: Copy all the script's closure to the initrd.

* gnu/system/linux-initrd.scm (expression->initrd): Remove calls to
  'imported-modules' and 'compiled-modules'.  Use 'gexp->script' with
  EXP.  Add the result to TO-COPY.  Make /init a symlink to that script,
  and copy its closure into the "contents" directory.  Add fake
  /proc/self/exe symlink.
* gnu/build/linux-boot.scm (load-linux-module*): Add comment about mmap.
* gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "-m
  256".  This turns out to be needed for initrds containing things like
  e2fsck and several modules; with the default of 128 MiB, loading
  libahci.ko may fail with -1.
e759c0a3 — Mark H Weaver 11 years ago
Merge branch 'master' into core-updates
84da4ad4 — Ludovic Courtès 11 years ago
linux-initrd: Build cpio archives without '--no-absolute-filenames'.

* gnu/build/linux-initrd.scm (write-cpio-archive): Remove
  '--no-absolute-filenames'.
6fd1a796 — Ludovic Courtès 11 years ago
vm: Move store copy handling to (guix build store-copy).

* gnu/build/vm.scm (read-reference-graph, populate-store): Move to...
* guix/build/store-copy.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust default
  #:modules values accordingly.
* tests/gexp.scm ("gexp->derivation, store copy"): New test.
fbb35558 — Ludovic Courtès 11 years ago
linux-initrd: Factorize cpio archive creation.

* gnu/build/linux-initrd.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/system/linux-initrd.scm (expression->initrd): Use (gnu build
  linux-initrd) and 'write-cpio-archive' instead of the inlined code.
Next