Age | Commit message (Expand) | Author |
2014-06-13 | pull: Copy and compile gnu.scm....* guix/build/pull.scm (build-guix): Copy gnu.scm to OUT.
| Ludovic Courtès |
2014-06-09 | guix build: Only 'guix build' sets #:print-build-trace....This makes 'guix package' et al. slightly less verbose, by not emitting
"@ substituter-started" lines and similar.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
#:print-build-trace.
(%default-options): Add 'print-build-trace?'.
| Ludovic Courtès |
2014-06-06 | build-system/gnu: Add #:allowed-references....* guix/build-system/gnu.scm (gnu-build): Add #:allowed-references.
[canonicalize-reference]: New procedure.
Pass #:allowed-references to 'build-expression->derivation'.
(gnu-cross-build): Likewise.
| Ludovic Courtès |
2014-06-06 | derivations: 'build-expression->derivation' supports #:allowed-references....* guix/derivations.scm (build-expression->derivation): Add
#:allowed-references and pass it to 'derivation.
* doc/guix.texi (Derivations): Adjust accordingly.
| Ludovic Courtès |
2014-06-06 | services: Use a fixed GID for the build group and use that for the store....This partly reverts commit 185f669 ("services: Make sure the store's
group is the build group.")
* gnu/services/base.scm (guix-service)[activate]: Remove 'chown' call.
Add 'id' field to 'user-group' form.
* guix/build/install.scm (directives): Set the store's GID to 30000.
| Ludovic Courtès |
2014-06-04 | activation: Only create groups that do not exist yet....Before that the effect would be to re-create groups at each boot, and
thus remove any members of the groups.
* guix/build/activation.scm (activate-users+groups): Call 'add-group'
only when (getgrname name) fails.
| Ludovic Courtès |
2014-06-04 | services: Make sure the store's group is the build group....* gnu/services/base.scm (guix-service)[activate]: New variable. Add
'chown' call for (%store-prefix). Set the 'activate' field to
ACTIVATE.
* guix/build/install.scm (directives): Add comment about STORE's group.
| Ludovic Courtès |
2014-06-04 | tests: Skip tests that would hit the shebang length limitation....* tests/gexp.scm (shebang): New variable.
Skip "gexp->script" when SHEBANG is longer than 127 chars.
* guix/gexp.scm (gexp->script): Add comment on the issue.
| Ludovic Courtès |
2014-06-03 | system: File system sources can be marked as labels or devices....* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
operating-system-root-file-system, operating-system-initrd-file):
Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
element of SPEC to be the title.
(boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
'canonicalize-device-spec'.
| Ludovic Courtès |
2014-06-02 | linux-initrd: Wait for devices to appear when resolving a label....* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
parameter. When resolving a label, wait a little and try several
times before bailing out.
| Ludovic Courtès |
2014-06-01 | linux-initrd: Actually create /dev/console....* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
"dev/console".
| Ludovic Courtès |
2014-06-01 | derivations: Add #:allowed-references 'derivation' parameter....* guix/derivations.scm (derivation): Add #:allowed-references
parameter.
[user+system-env-vars]: Honor it.
* tests/derivations.scm ("derivation #:allowed-references, ok",
"derivation #:allowed-references, not allowed",
"derivation #:allowed-references, self allowed",
"derivation #:allowed-references, self not allowed"): New tests.
* doc/guix.texi (Derivations): Document #:allowed-references.
| Ludovic Courtès |
2014-06-01 | linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices....* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
(make-essential-device-nodes): Use it. Make more devices nodes for
SCSI disks and CD-ROM devices.
| Ludovic Courtès |
2014-06-01 | linux-initrd: Gracefully handle missing /dev nodes....* guix/build/linux-initrd.scm (partition-label-predicate): Catch
'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
| Ludovic Courtès |
2014-05-31 | linux-initrd: Gracefully deal with partitions with no label....* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
'ext2-superblock-volume-name' returns #f, and return #f if it does.
| Ludovic Courtès |
2014-05-30 | linux-initrd: Allow use of volume labels in 'file-system' declarations....* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic,
%ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name):
New macros.
(read-ext2-superblock, ext2-superblock-uuid,
ext2-superblock-volume-name, disk-partitions,
partition-label-predicate, find-partition-by-label,
canonicalize-device-spec): New procedures.
(mount-file-system): Use 'canonicalize-device-spec' on SOURCE.
(boot-system): Likewise for ROOT.
* doc/guix.texi (Using the Configuration System): Adjust 'file-system'
declaration accordingly.
| Ludovic Courtès |
2014-05-29 | vm: Allow a volume name to be specified for the root partition....* guix/build/vm.scm (format-partition): Add #:label parameter, and honor
it.
(initialize-hard-disk): Add #:file-system-label parameter, and pass it
to 'format-partition'.
* gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and
pass it to 'initialize-hard-disk'.
| Ludovic Courtès |
2014-05-27 | store: Work around 'get-bytevector-n' bug that affects 'import-paths'....Fixes <http://bugs.gnu.org/17591>.
* guix/store.scm (process-stderr) <%stderr-read>: Use
'get-bytevector-n!' instead of 'get-bytevector-n'.
| Ludovic Courtès |
2014-05-25 | store: Remove misleading 'setsockopt' call....* guix/store.scm (open-connection): Remove misleading 'setsockopt' call,
erroneously introduced in df1fab58. This would actually shrink the
receive buffer from 124 KiB to 12 KiB, though it had little impact on
performance.
| Ludovic Courtès |
2014-05-24 | services: nscd: Provide an 'activate' script to make /var/run/nscd....* gnu/services/base.scm (nscd-service): Add 'activate' field.
* guix/build/install.scm (directives): Remove /var/run/nscd; add
/var/run.
* doc/guix.texi (Defining Services): Add 'activate' field in example.
Document it.
| Ludovic Courtès |
2014-05-24 | system: Always create /var/empty....* guix/build/install.scm (directives): Add /var/empty.
| Ludovic Courtès |
2014-05-24 | system: Separate the activation script from the boot script....* gnu/system.scm (operating-system-activation-script): New procedure,
containing most of the former 'operating-system-boot-script'.
(operating-system-boot-script): Call it, and 'primitive-load' its
result.
* guix/build/activation.scm (%booted-system): Remove.
(activate-current-system): Remove #:boot? parameter and related code.
| Ludovic Courtès |
2014-05-23 | download: Enlarge your receive buffer....* guix/build/download.scm (open-connection-for-uri): Remove call to
'setsockopt'.
* guix/http-client.scm (open-socket-for-uri)[rmem-max, buffer-size]: New
variables. Add call to 'setsockopt'.
| Ludovic Courtès |
2014-05-22 | guix system: Add 'disk-image' action....* guix/scripts/system.scm (show-help): Add 'disk-image'.
(guix-system)[parse-options]: Support 'disk-image' action.
[option-arguments]: Likewise.
Handle the 'disk-image' action.
* doc/guix.texi (Invoking guix system): Document 'disk-image'.
| Ludovic Courtès |
2014-05-22 | vm: Use a para-virtualized disk when creating an image....* guix/build/vm.scm (load-in-linux-vm): When MAKE-DISK-IMAGE?, use
'-drive ...,if=virtio' for better performance.
* gnu/system/vm.scm (qemu-image): Use /dev/vda instead of /dev/sda.
| Ludovic Courtès |
2014-05-22 | vm: Make the image format a parameter....* guix/build/vm.scm (load-in-linux-vm): Add #:disk-image-format
parameter; add 'image-file' variable. Honor DISK-IMAGE-FORMAT.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
#:disk-image-format parameter, and honor it.
(qemu-image): Likewise.
| Ludovic Courtès |
2014-05-22 | linux-initrd: Build /dev/loop* nodes....* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
/dev/loop[0-7].
| Ludovic Courtès |
2014-05-22 | guix: download: Update imagemagick mirrors....* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
subdirectory of the main site as a last resort.
| Andreas Enge |
2014-05-21 | vm: Modularize build-side code....* guix/build/install.scm (install-grub): Call 'error' if 'system*'
returns non-zero.
* guix/build/vm.scm (initialize-partition-table): Make 'partition-size'
a positional parameter. Call 'error' when 'system*' returns
non-zero'.
(format-partition, initialize-root-partition): New procedures.
(initialize-hard-disk): Use them.
| Ludovic Courtès |
2014-05-21 | vm: Remove misleading comment....* guix/build/vm.scm (load-in-linux-vm): Remove misleading comment.
| Ludovic Courtès |
2014-05-21 | store: Flush the output when the build process emits '\r'....This allows progress reports emitted by 'substitute-binary' to be
correctly displayed.
* guix/store.scm (%newlines): New variable.
(process-stderr) <%stderr-next>: Flush (current-build-output-port)
when S contains one of %NEWLINES.
| Ludovic Courtès |
2014-05-20 | linux-initrd: Display a backtrace when the initial program fails....* guix/build/linux-initrd.scm (boot-system): Add pre-unwind handler in
'catch' form around 'primitive-load', and call 'format' and
'display-backtrace' from there.
| Ludovic Courtès |
2014-05-20 | vm: Fix typo....Regression introduced in e38e18f.
* guix/build/vm.scm (initialize-hard-disk)[partition]: Use a string.
| Ludovic Courtès |
2014-05-19 | ui: Gracefully deal with zero-output derivations....* guix/ui.scm (show-what-to-build)[built-or-substitutable?]: New
procedure. Check whether OUT is #f.
Use it.
* tests/ui.scm ("show-what-to-build, zero outputs"): New test.
| Ludovic Courtès |
2014-05-19 | guix system: Check whether we are installing to /....* guix/scripts/system.scm (install): Check whether TARGET is / and warn.
| Ludovic Courtès |
2014-05-19 | guix system: Factorize out closure copy....* guix/scripts/system.scm (copy-closure): New procedure.
(install): Use it.
| Ludovic Courtès |
2014-05-19 | guix system: 'guix system init' installs GRUB by default....* guix/scripts/system.scm (install): Add #:grub?, #:grub.cfg, and
#:device parameters; honor them.
(show-help): Document '--no-grub'.
(%options): Add '--no-grub'.
(%default-options): Add 'install-grub?'.
(guix-system): Honor 'install-grub?' option from OPTS. Adjust
'install' call accordingly.
* doc/guix.texi (Invoking guix system): Document '--no-grub'.
| Ludovic Courtès |
2014-05-19 | vm: Make the device name a parameter....* guix/build/vm.scm (initialize-partition-table): Honor 'device'
parameter.
(initialize-hard-disk): Add 'device' parameter and honor it.
* gnu/system/vm.scm (qemu-image): Adjust accordingly.
| Ludovic Courtès |
2014-05-19 | guix: licenses: Add CeCILL-C license....* guix/licenses.scm (cecill-c): New variable.
| Eric Bavier |
2014-05-18 | system: Prevent grub.cfg from being GC'd....* guix/build/install.scm (install-grub): Use 'copy-file' instead of
'symlink' for GRUB.CFG.
| Ludovic Courtès |
2014-05-18 | guix system: Add 'init' sub-command....* guix/scripts/system.scm (install): New procedure.
(guix-system)[parse-option]: Remove check for extraneous arguments.
[match-pair, option-arguments]: New procedures.
Use 'option-arguments'. Honor 'init'.
(show-help): Document 'init'.
* doc/guix.texi (Invoking guix system): Document 'init'.
| Ludovic Courtès |
2014-05-18 | store: Change #:store parameter to #:prefix....* guix/store.scm (register-path): Change #:store to #:prefix.
| Ludovic Courtès |
2014-05-18 | vm: Avoid resetting timestamps twice....* guix/build/vm.scm (initialize-hard-disk): Don't call
'reset-timestamps' when REGISTER-CLOSURES? is true.
* guix/build/install.scm (register-closure): Mention timestamps in
docstring.
| Ludovic Courtès |
2014-05-18 | system: Make /run/current-system at activation time....* gnu/system.scm (etc-directory): Change default value of #:profile.
Change contents of SHELLS. Use /run/current-system/profile/{s,}bin in
BASHRC.
(operating-system-boot-script)[%modules]: Add (guix build
linux-initrd). Add call to 'activate-current-system' in gexp.
(operating-system-initrd-file, operating-system-grub.cfg): New
procedures.
(operating-system-derivation): Don't build grub.cfg here and remove it
from the file union.
* gnu/system/vm.scm (qemu-image): Remove #:populate.
(operating-system-build-gid, operating-system-default-contents):
Remove.
(system-qemu-image): Remove call to
'operating-system-default-contents'. Use 'operating-system-grub.cfg'
to get grub.cfg. Add GRUB.CFG to #:inputs.
(system-qemu-image/shared-store): Likewise, but don't add GRUB.CFG to
#:inputs.
(system-qemu-image/shared-store-script): Pass --system kernel option.
* guix/build/activation.scm (%booted-system, %current-system): New
variables.
(boot-time-system, activate-current-system): New procedures.
* guix/build/install.scm (evaluate-populate-directive): Add case
for ('directory name uid gid mode).
(directives, populate-root-file-system): New procedures.
* guix/build/vm.scm (initialize-hard-disk): Replace calls to
'evaluate-populate-directive' by a call to
'populate-root-file-system'.
* gnu/services/dmd.scm (dmd-configuration-file): Use
/run/current-system/profile/bin.
* gnu/services/xorg.scm (slim-service): Likewise.
| Ludovic Courtès |
2014-05-17 | store: Add #:store parameter to 'register-path'....* guix/store.scm (register-path): Add #:store and honor it.
| Ludovic Courtès |
2014-05-16 | linux-initrd: Factorize kernel command-line option parsing....* guix/build/linux-initrd.scm (find-long-option): New procedure.
(boot-system): Use it instead of the local 'option'.
| Ludovic Courtès |
2014-05-16 | guix system: Add 'build' action....* guix/scripts/system.scm (show-help): Document 'build' action.
(guix-system): Honor 'build' action.
* doc/guix.texi (Invoking guix system): Add 'build' action.
| Ludovic Courtès |
2014-05-16 | authenticate: Add compatibility hack for Guile 2.0.5....* guix/scripts/authenticate.scm (%default-port-conversion-strategy): New
variable. Reported by Andreas Enge <andreas@enge.fr>.
| Ludovic Courtès |
2014-05-15 | system: Add (guix build install) module....* guix/build/vm.scm (install-grub, evaluate-populate-directive,
reset-timestamps, register-closure): Move to...
* guix/build/install.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add (guix
build install) to #:modules.
| Ludovic Courtès |
2014-05-15 | vm: Support initialization of the store DB when the store is shared....* gnu/system/vm.scm (qemu-image): Rename #:inputs-to-copy to #:inputs,
and #:initialize-store? to #:register-closures?. Add #:copy-inputs?.
Adjust build gexp accordingly.
(system-qemu-image): Remove #:initialize-store? argument and add
#:copy-inputs?.
(system-qemu-image/shared-store): Add #:inputs, #:register-closures?,
and #:copy-inputs? arguments.
* guix/build/vm.scm (register-closure): New procedure.
(MS_BIND): New variable.
(initialize-hard-disk): Rename #:initialize-store? to
#:register-closures?, #:closures-to-copy to #:closures, and add
#:copy-closures?.
Add 'target-directory' and 'target-store' variables.
Call 'populate-store' only when COPY-CLOSURES?.
Bind-mount the store to TARGET-STORE when REGISTER-CLOSURES? and not
COPY-CLOSURES?. Add call to 'register-closure'.
| Ludovic Courtès |