~ruther/guix-local

ref: 8a79ec41e8bec04af4f889a4fdf2b25e3641f12c guix-local/guix d---------
1c96c1bb — Ludovic Courtès 12 years ago
linux-initrd: Mount / as a unionfs when asking for a volatile root.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/fuse.
  (boot-system): Add #:unionfs parameter.  Invoke UNIONFS instead of
  copying files over when VOLATILE-ROOT? is true.
* gnu/system/linux-initrd.scm (expression->initrd): Add #:inputs
  parameter.
  [files-to-copy]: New procedure.
  [builder]: Add 'to-copy' parameter; honor it.
  (qemu-initrd)[linux-modules]: Add 'fuse.ko' when VOLATILE-ROOT?.
  Pass UNIONFS-FUSE/STATIC as #:inputs; change builder to pass #:unionfs
  to 'boot-system'.
30ce8012 — Ludovic Courtès 12 years ago
offload: '{send,receive}-files' wait for completion of the transfer.

Fixes situations where the remote 'guix build' is invoked before the
.drv has been completely copied, as reported at
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00174.html>.

In some cases 'send-files' would return before the other end is done
importing the files, and so the subsequent 'guix build' invocation would
just miss the .drv file it refers to.

* guix/utils.scm (call-with-decompressed-port): Don't close PORT.
  (call-with-compressed-output-port): Likewise.
* tests/utils.scm ("compressed-output-port + decompressed-port"): Adjust
  accordingly.
* guix/scripts/offload.scm (send-files): Add explicit (close-pipe pipe)
  call.
  (retrieve-files): Likewise.
66ef5411 — Ludovic Courtès 12 years ago
offload: Better synchronize with remote invocation of 'guix archive --missing'.

* guix/scripts/offload.scm (send-files)[missing-files]: Call 'waitpid'
  after reading all of MISSING.
99e17dc9 — Ludovic Courtès 12 years ago
derivations: Fix 'fixed-output-derivation?'.

Reported by Nikita Karetnikov <nikita@karetnikov.org>.

* guix/derivations.scm (fixed-output-derivation?): Fix pattern.
* tests/derivations.scm ("fixed-output-derivation?"): Add test.
6071b55e — Ludovic Courtès 12 years ago
nar: Really protect the temporary store directory from GC.

Prevents garbage collection of the temporary store directory while
restoring a file set, as it could previously happen:
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>.

* guix/nar.scm (temporary-store-directory): Rename to...
  (temporary-store-file): ... this.  Use 'add-permanent-root' instead of
  'add-indirect-root'.
  (with-temporary-store-file): New macro.
  (restore-one-item): New procedure, with code formerly in
  'restore-file-set'.  Use 'with-temporary-store-file'.
  (restore-file-set): Use it.
a9d2a105 — Ludovic Courtès 12 years ago
store: Add 'add-permanent-root' and 'remove-permanent-root'.

* guix/store.scm (add-indirect-root): Improve docstring.
  (%gc-roots-directory): New variable.
  (add-permanent-root, remove-permanent-root): New procedures.
* tests/store.scm ("permanent root"): New test.
857ecb3d — Ludovic Courtès 12 years ago
packages: Correctly handle patching for inputs with no extension.

Reported by Manolis Ragkousis <manolis837@gmail.com>.

* guix/packages.scm (patch-and-repack)[numeric-extension?]: Handle
  FILE-NAME with no extension.
55651ff2 — Ludovic Courtès 12 years ago
vm: Move image creation to (guix build vm); split into several procedures.

* guix/build/vm.scm (read-reference-graph, initialize-partition-table,
  install-grub, populate-store, evaluate-populate-directive,
  reset-timestamps, initialize-hard-disk): New procedures.
* gnu/system/vm.scm (qemu-image): Change 'builder' to a call to
  'initialize-hard-disk'.
e1a87b90 — Ludovic Courtès 12 years ago
vm: Add (guix build vm) module.

* guix/build/vm.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Use it.
9132b9bd — Ludovic Courtès 12 years ago
nar: 'restore-file-set' registers the temporary result as a GC root.

* guix/nar.scm (temporary-store-directory): Use 'add-indirect-root', not
  'add-temp-root'.  Reported by Andreas Enge <andreas@enge.fr> at
  <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00161.html>.
c865a878 — Ludovic Courtès 12 years ago
gnu: linux-initrd: Mount /dev/pts at boot time.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Remove
  'mount' call for /dev/pts.
  (boot-system): Add it here, after 'chroot' call.
289773c1 — Ludovic Courtès 12 years ago
gnu: linux-initrd: Better populate /dev.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/{ptmx,tty} world-writable.  Build additional character devices.
2e7b5cea — Ludovic Courtès 12 years ago
guix system: Add 'vm-image' action and '--image-size' option.

* guix/scripts/system.scm (%options): Add --image-size.
  (%default-options): Add 'image-size'.
  (guix-system)[parse-options]: Handle the 'vm-image' action.
  Honor them.
  (show-help): Update accordingly.
* doc/guix.texi (Invoking guix system): Add 'vm-image'.
1d6243cf — Ludovic Courtès 12 years ago
ui: Add 'size->number'.

* guix/scripts/gc.scm (size->number): Remove.
* guix/ui.scm (size->number): New procedure.
* tests/ui.scm ("size->number, bytes",
  "size->number, MiB", "size->number, GiB", "size->number, 1.2GiB",
  "size->number, invalid unit"): New tests.
c9501414 — Ludovic Courtès 12 years ago
offload: Remove all the GC roots in case of multiple-output derivations.

* guix/scripts/offload.scm (remove-gc-root): Rename to...
  (remove-gc-roots): ... this.
  [builder]: Use 'scandir' and remove all the files starting with
  %GC-ROOT-FILE.
  (transfer-and-offload): Adjust to renaming; remove
  'false-if-exception' wraps.
a4b42825 — Ludovic Courtès 12 years ago
offload: Bail out when failing to register a GC root on the build machine.

* guix/scripts/offload.scm (register-gc-root): Call 'leave' when
  'close-pipe' returns non-zero.
af4535c5 — Ludovic Courtès 12 years ago
utils: Make 'errno' procedure more robust.

Partially fixes <http://bugs.gnu.org/17212>.

* guix/utils.scm (errno): Move definition of 'bv' outside of the
  procedure.  Use 'bytevector-s32-native-ref' or
  'bytevector-s64-native-ref' instead of 'bytevector-sint-ref'.
d2d8779b — Mark H Weaver 12 years ago
Work around behavior of old 'scandir' in Guile 2.0.5.

Problem reported by John Darrington <john@darrington.wattle.id.au>.

* guix/nar.scm (write-file): Filter out "." and ".." from the result of
  'scandir'.  Previously we did this by passing a suitable predicate.
731b9962 — Ludovic Courtès 12 years ago
hydra: Add 'qemu-image' job.

* build-aux/hydra/demo-os.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): New procedure.
  (hydra-jobs): Use it.
* guix/scripts/system.scm (read-operating-system): Export.
512314d7 — Ludovic Courtès 12 years ago
guix package: Fix indentation of packages to remove.

* guix/scripts/package.scm (show-what-to-remove/install): Add space when
  showing packages to remove.
Next