~ruther/guix-local

ref: f4e92db3cb25d44ca3db96e960790f856c2887f1 guix-local/gnu/build d---------
0334ef2a — Ludovic Courtès 10 years ago
linux-initrd: Compress cpio archives deterministically.

* gnu/build/linux-initrd.scm (write-cpio-archive): Use '--no-name'.
ee78d024 — David Thompson 10 years ago
build: container: Use the same clone flags as fork(3).

The intent is to make 'clone' behave a lot more like 'primitive-fork', which
calls clone(2) with SIGCHLD, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID
flags.  Notably, running 'clone' at the REPL without these flags would break
the REPL beyond repair.

* guix/build/syscalls.scm (CLONE_CHILD_CLEARTID, CLONE_CHILD_SETTID): New
  variables.
* gnu/build/linux-container.scm (namespaces->bit-mask): Add
  CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID to bit mask.
4949ada9 — David Thompson 10 years ago
build: container: Setup /dev/console.

* gnu/build/linux-container.scm (mount-file-systems): Bind mount the
  controlling terminal as /dev/console.
831bc146 — David Thompson 10 years ago
build: container: Add #:host-uids argument to call-with-container.

It's not always possible to map 65536 uids when creating a container as the
root user within another user namespace.  This is true when building Guix
within the build daemon's container.  By using a uid range of 1 by default,
even as the root user, the tests now pass.

* gnu/build/linux-container.scm (initialize-user-namespace, run-container):
  Add 'host-uids' argument.
  (call-with-container): Add #:host-uids keyword argument.
* tests/containers.scm ("container-excursion"): Update 'run-container' call.
8c812f2a — David Thompson 10 years ago
build: file-systems: Allow for bind mounting regular files.

* gnu/build/file-systems.scm (regular-file?): New procedure.
  (mount-file-system): Create a regular file instead of a directory when bind
  mounting a regular file.
72b891e5 — Ludovic Courtès 10 years ago
vm: Make the list of partitions to build a parameter.

* gnu/build/vm.scm (<partition>): New record type.
  (fold2): New procedure.
  (initialize-partition-table): Remove #:bootable? and
  'partition-size' parameters.  Add 'partitions' parameter.  Invoke 'parted'
  with '--script'.
  (initialize-root-partition): Remove.
  (initialize-partition, root-partition-initializer): New procedures.
  (initialize-hard-disk): Remove #:system-directory, #:disk-image-size,
  #:file-system-type, #:file-system-label, #:closures, #:copy-closures?,
  #:bootable?, and #:register-closures? parameters.  Add #:partitions.
  Rewrite to use 'initialize-partition' for each item of PARTITIONS.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix records)
  to #:modules default value.
  (qemu-image): Adjust accordingly.
ec2406ef — Ludovic Courtès 10 years ago
vm: Use the 'umount' procedure instead of util-linux's 'umount' command.

* gnu/build/vm.scm (initialize-root-partition, initialize-hard-disk): Use the
  'umount' procedure instead of invoking the 'umount' command.
* gnu/system/vm.scm (qemu-image): Remove UTIL-LINUX from INPUTS.
35995769 — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
0ec5ee94 — Ludovic Courtès 10 years ago
file-systems: Implement partition lookup by UUID.

* gnu/build/file-systems.scm (read-ext2-superblock*, partition-predicate): New
  procedures.
  (partition-label-predicate): Rewrite in terms of 'partition-predicate'.
  (partition-uuid-predicate, find-partition-by-uuid, uuid->string): New
  procedures.
  (%network-byte-order): New macro.
  (canonicalize-device-spec)[canonical-title]: Check whether SPEC is a string.
  [resolve]: New procedure.
  Add 'uuid' case and use it.
2de3cd89 — Ludovic Courtès 10 years ago
file-systems: Use (guix build syscalls) at build time if needed.

* gnu/build/file-systems.scm: Wrap 'module-use!' statement in 'eval-when'.
c1f6a0c2 — David Thompson 10 years ago
gnu: build: Add Linux container module.

* gnu/build/linux-container.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* .dir-locals.el: Add Scheme indent rules for 'call-with-container', and
  'container-excursion'.
* tests/containers.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
85c3127f — David Thompson 10 years ago
build: file-systems: Import (guix build syscalls) for non-static Guiles.

* gnu/build/file-systems.scm: Import (guix build syscalls) when 'mount' is not
  defined.
* gnu/system.scm (operating-system-activation-script): Include (guix build
  syscalls) module in derivation.
eae5b3ff — Ludovic Courtès 10 years ago
linux-initrd: Produce cpio archives with zeroed timestamps, etc.

* guix/cpio.scm (file->cpio-header*): New procedure.
* gnu/build/linux-initrd.scm (write-cpio-archive): Add #:file->header argument
  to 'cpio:write-cpio-archive'.
583323ca — Ludovic Courtès 10 years ago
linux-initrd: Populate cpio archives in a deterministic order.

* gnu/build/linux-initrd.scm (write-cpio-archive)[files]: Use 'sort' instead
  of 'reverse'.
e8277f90 — Ludovic Courtès 10 years ago
linux-initrd: Use (guix cpio) instead of GNU cpio.

* gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and
  related calls.  Compute list of files in 'files' variable.  Use
  'cpio:write-cpio-archive'.  Remove #:cpio parameter.
  (build-initrd): Remove #:cpio parameter.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust
  BUILDER accordingly.  Add (guix cpio) to #:modules.
bf76d987 — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
5fd77f3f — David Thompson 10 years ago
gnu: Make 'mount' interface in static Guile consistent with Guix API.

Rather than expecting a pointer, the version of 'mount' in
guile-static-stripped now takes a string for the 'options' argument, just like
the 'mount' procedure in (guix build syscalls).

* gnu/packages/patches/guile-linux-syscalls.patch (mount): Expect a string or
  #f for 'options' argument.
* gnu/build/file-systems.scm (mount-file-system): Use new 'mount' interface.
2abf6786 — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
08fa7613 — Ludovic Courtès 10 years ago
install: Turn off deduplication for the binary tarball.

* gnu/build/install.scm (register-closure): Add #:deduplicate? parameter and
  honor it.
  (populate-single-profile-directory): Likewise.
* gnu/system/install.scm (self-contained-tarball): Pass #:deduplicate? #f.
  Invoke tar with --check-links.
14928016 — Mark H Weaver 10 years ago
Merge branch 'master' into core-updates
Next