Commit Graph

917 Commits

Author SHA1 Message Date
Ludovic Courtès 21531add32
offload: Use Guile-SSH instead of GNU lsh.
* guix/scripts/offload.scm (<build-machine>)[ssh-options]: Remove.
[host-key, host-key-type]: New fields.
(%lsh-command, %lshg-command, user-lsh-private-key): Remove.
(user-openssh-private-key, private-key-from-file*): New procedures.
(host-key->type+key, open-ssh-session): New procedures.
(remote-pipe): Remove 'mode' parameter.  Rewrite in terms of
'open-ssh-session' etc.  Update users.
(send-files)[missing-files]: Rewrite using the bidirectional channel
port.
Remove call to 'call-with-compressed-output-port'.
(retrieve-files): Remove call to 'call-with-decompressed-port'.
(machine-load): Remove exit status logic.
* doc/guix.texi (Requirements): Mention Guile-SSH.
(Daemon Offload Setup): Document 'host-key' and 'private-key'.  Show the
default value on each @item line.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): New macro.
* config-daemon.ac: Use 'GUIX_CHECK_GUILE_SSH'.  Set
'HAVE_DAEMON_OFFLOAD_HOOK' as a function of that.
2016-11-25 23:44:20 +01:00
Ludovic Courtès df31e36a40
doc: Fix typos in "Kerberos Services".
* doc/guix.texi (Kerberos Services): Fix typos.
2016-11-24 23:21:20 +01:00
Ludovic Courtès 13fb1bd94e
doc: Document encrypted root partitions.
This is a followup to f7f292d359.

* doc/guix.texi (Preparing for Installation): Give commands for
encrypted root installation.
(Proceeding with the Installation): Add item about mapped devices.
(File Systems): Mention that 'dependencies' can list <mapped-device>
objects.
* gnu/system/examples/desktop.tmpl (mapped-devices): New field.
(file-systems): Add 'dependencies' field.
2016-11-24 23:20:41 +01:00
Ludovic Courtès cbf1024e99
doc: Document 'wpa-supplicant-service-type'.
Reported by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Networking Services): Remove 'wpa-supplicant-service'
procedure, which doesn't exist, and document
'wpa-supplicant-service-type'.
2016-11-24 21:53:57 +01:00
Hartmut Goebel 332d7903f5
Add system start-up files for "guix publish".
* .gitignore: add etc/guix-publish.conf and /etc/guix-publish.service.
* etc/guix-publish.conf.in: New file.
* etc/guix-publish.service.in: New file.
* nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Generalized former
  build-rules for by using patterns.
  (nodist_systemdservice_DATA): Add etc/guix-publish.service, update
  comment.
  (nodist_upstartjob_DATA): Add etc/guix-publish.conf, update comment.
* doc/guix.texi (Invoking guix publish): Add description for enabling
  "guix publish" on host distros using the new files.
2016-11-24 09:23:11 +01:00
Hartmut Goebel b7230de54b
doc: Symlink daemon start-up files.
This patch ensures that always the current profile's daemon will be used.

The .service file contains the path to the guix-daemon within the store. Thus
when copying the file, it will point to the very version of guix-daemon used
at the time of copying – even after system upgrade or when this version has
been garbage collected from the store.

* doc/guix.texi (Binary Installation): Change example code for installing
  the systemd and Upstart files to use symbolic links instead of copying
  the files.
2016-11-24 09:20:26 +01:00
Eric Bavier 52db41aff8
gnu: system: Add openfwwf-firmware to %base-firmware.
* gnu/system.scm (%base-firmware): Add openfwwf-firmware.
* doc/guix.texi (Hardware Considerations): Mention b43-open support.
(operating-system Reference)[firmware]: Likewise.
2016-11-22 09:38:36 -06:00
ng0 e01e2c6c52
gnu: services: Add git-service.
* gnu/services/version-control.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Misellaneous Services)[Version Control]: New section.

Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
2016-11-21 20:37:43 +08:00
Ludovic Courtès fac46e3f5e
lint: Add 'mirror-url' checker.
* guix/scripts/lint.scm (origin-uris): New procedure.
(check-source): Use it.
(check-mirror-url): New procedure.
(%checkers): Add 'mirror-url' checker.
* tests/lint.scm ("mirror-url")
("mirror-url: one suggestion"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
2016-11-19 18:44:53 +01:00
Ludovic Courtès 1f9803c2a4
services: static-networking: Add netmask.
Reported by Mathieu Lirzin and Andreas Enge.

* gnu/services/networking.scm (<static-networking>)[netmask]: New
field.
(static-networking-service-type): Honor it.
* gnu/services/networking.scm (static-networking-service): Add #:netmask
and honor it.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-11-17 23:21:48 +01:00
Ludovic Courtès 1bcc87bb68
guix download: Add '-o' option.
* guix/scripts/download.scm (download-to-file, download-to-store*): New
procedures.
(%default-options): Add 'download-proc'.
(show-help): Adjust description and document '-o'.
(%options): Add '-o'.
(guix-download): Remove 'store' variable.  Add 'fetch' and define 'path'
to as its result.
* tests/guix-download.sh: Add test.
2016-11-16 18:00:41 +01:00
Tomáš Čech 2cccbc2af2
services: Add wpa-supplicant-service.
* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
2016-11-15 00:19:17 +01:00
Ludovic Courtès 2cab1dd58b
Merge branch 'core-updates' 2016-11-13 00:34:16 +01:00
John Darrington e32171eeeb
doc: Added some index entries.
* doc/guix.texi: Added various @cindex tags to assist readers.
2016-11-12 06:52:34 +01:00
Ludovic Courtès 624144e0e7
doc: Mention elpa.gnu.org package signatures.
* doc/guix.texi (Invoking guix import): Document elpa.gnu.org
signatures.
2016-11-09 21:24:43 +01:00
John Darrington 859e367d07
gnu: Add pam-krb5 service.
* doc/guix.texi (Kerberos Services): New node.
* gnu/services/kerberos.scm: New file.
* gnu/local.mk: Add it.
2016-11-08 21:35:26 +01:00
Ludovic Courtès 64b8695cd8
guix download: Add '--no-check-certificate' option.
* guix/download.scm (download-to-store): Add #:verify-certificate?
parameter and honor it.
* guix/scripts/download.scm (%default-options): Add
'verify-certificate?' key.
(show-help, %options): Add '--no-check-certificate'.
(guix-download): Pass #:verify-certificate to 'download-to-store'.
* doc/guix.texi (Invoking guix download): Document it.
2016-11-07 23:39:01 +01:00
Ludovic Courtès bc3c41ce36
download: Verify TLS certificates unless asked not to.
Fixes <http://bugs.gnu.org/24466>.
Reported by Leo Famulari <leo@famulari.name>.

* guix/build/download.scm (%x509-certificate-directory): New variable.
(make-credendials-with-ca-trust-files, peer-certificate)
(assert-valid-server-certificate, print-tls-certificate-error): New
procedures.  Add 'print-tls-certificate-error' as an exception printer
for 'tls-certificate-error'.
(tls-wrap): Add #:verify-certificate? parameter and honor it.
(open-connection-for-uri): Likewise.
(http-fetch): Likewise.
(url-fetch): Likewise.
* guix/download.scm (url-fetch)[builder]: Pass #:verify-certificate? #f.
* guix/scripts/lint.scm (probe-uri): Add case for 'tls-certificate-error'.
(validate-uri): Likewise.
* doc/guix.texi (Invoking guix download): Mention 'SSL_CERT_DIR'.
2016-11-07 23:39:01 +01:00
Mark H Weaver 71e21fb26d
Merge branch 'master' into core-updates 2016-11-07 00:33:16 -05:00
Chris Marusich 8074b33077
system: Add 'guix system' actions: switch-generation and roll-back.
* guix/scripts/system.scm (roll-back-system, switch-to-system-generation): new
actions.
(reinstall-grub): New procedure, used by switch-to-system-generation.
(show-help, process-command, guix-system): Honor the new actions.
* doc/guix.texi (Invoking guix system) <switch-generation, roll-back>: Add the
new actions.
<reconfigure>: In the footnote, mention that the new actions also only work on
GuixSD.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-11-06 18:08:53 +01:00
Ludovic Courtès 0dfebdaa9d
doc: State that the 'patches' field is unconditional.
* doc/guix.texi (origin Reference): State that 'patches' is
unconditional.
2016-11-03 11:27:38 +01:00
Leo Famulari b3cc0dce08
Merge branch 'master' into core-updates 2016-11-02 20:03:35 -04:00
Ludovic Courtès 4af2fafd97
doc: Fix typo.
Fixes <http://bugs.gnu.org/24851>.
Reported by saffronsnail@hushmail.com.

* doc/guix.texi (Initial RAM Disk): Move parenthesis to after "of
QEMU".
2016-11-01 22:23:49 +01:00
Leo Famulari 205f0107bb
Merge branch 'master' into core-updates 2016-10-30 19:19:21 -04:00
Chris Marusich 1ef8b72a7f
system: Record store file system info in each generation.
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]:
New fields.
(read-boot-parameters): Initialize them.
(operating-system-grub.cfg): Likewise.  Remove STORE-FS argument from
call to 'grub-configuration-file'.
(operating-system-parameters-file): Add 'store' element in
'boot-parameters'.
* gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter
by 'mount-point'; adjust accordingly.  Adjust callers.
(<menu-entry>)[device, device-mount-point]: New fields.
(eye-candy): Replace 'root-fs' parameter by 'store-device'; add
'store-mount-point'.  Use keyword arguments for 'system' and 'port'.
(grub-root-search): Remove 'root-fs' by 'device' and adjust
accordingly.
(grub-configuration-file): Remove 'store-fs' parameter.  Adjust
accordingly.
* guix/scripts/system.scm (previous-grub-entries): Initialize 'device'
and 'device-mount-point' fields from PARAMS.
* doc/guix.texi (GRUB Configuration): Document 'device' and
'device-mount-point'.  Explain that 'linux' can be prefixed by a GRUB
device name.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-30 22:59:46 +01:00
Leo Famulari 062c7e43ed
Merge branch 'master' into core-updates 2016-10-29 21:44:44 -04:00
David Craven 3ddc50db76
doc: Add information related to network connectivity with qemu.
* doc/guix.text: Add it.
2016-10-30 01:03:09 +02:00
Ludovic Courtès 343dc11702
guix hash: Interpret '-' as standard input.
* guix/scripts/hash.scm (guix-hash)[file-hash]: Special-case "-".
* tests/guix-hash.sh: Add test.
* doc/guix.texi (Invoking guix hash): Document it.
2016-10-28 22:30:17 +02:00
Leo Famulari 02c73adcdf
Merge branch 'master' into core-updates 2016-10-26 19:00:06 -04:00
Julien Lepiller 8c00b83818
services: nginx: Virtual hosts are first-class configuration items.
* gnu/services/web.scm (<nginx-vhost-configuration>): New record type.
(config-domain-strings): New procedure.
(config-index-strings): New procedure.
(default-nginx-vhost-config): New procedure.
(default-nginx-config): Add vhost support and temporary directories
(nginx-activation): Create temporary directories
(nginx-service): Add vhost-list key.
* doc/guix.texi (Web Services): Document 'nginx-vhost-configuration'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-10-24 22:50:40 +02:00
Mark H Weaver ca0635b4ba
Merge branch 'master' into core-updates 2016-10-23 14:16:39 -04:00
宋文武 6f52b82d42
doc: emacs: Clarify 'guix-use-substituse' and 'guix-dry-run'.
Reported by apteryx on #guix.

* doc/emacs.texi (Emacs Build Options): Mention the variable value when describe
the effects of 'guix-use-substitute' and 'guix-dry-run'.
2016-10-23 13:02:32 +08:00
Ludovic Courtès dc0322b511
services: ntpd: Add 'allow-large-adjustment?' knob.
Suggested by Leo Famulari.

* gnu/services/networking.scm (<ntp-configuration>)[allow-large-adjustment?]:
New field.
(ntp-shepherd-service): Honor it.
(ntp-service): Add #:allow-large-adjustment? and honor it.
* doc/guix.texi (Networking Services): Document it.
2016-10-20 15:43:59 +02:00
Mark H Weaver d2478b4cdd
Merge branch 'master' into core-updates 2016-10-19 10:54:36 -04:00
Ludovic Courtès 645b9df858
guix build: Add '--with-graft'.
* guix/scripts/build.scm (transform-package-inputs/graft): New procedure.
(%transformations): Add 'with-graft'.
(%transformation-options): Likewise.
(show-transformation-options-help): Document it.
* tests/scripts-build.scm ("options->transformation, with-graft"): New
test.
* doc/guix.texi (Package Transformation Options): Document it.
2016-10-17 23:59:02 +02:00
Mark H Weaver dcaf70897a
Merge branch 'master' into core-updates 2016-10-17 16:47:12 -04:00
Ludovic Courtès 7f8fec0fa4
graph: Add '%referrer-node-type'.
* guix/scripts/graph.scm (ensure-store-items): New procedure.
(%reference-node-type)[convert]: Use it.
(non-derivation-referrers): New procedure.
(%referrer-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("referrer DAG"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
2016-10-15 23:46:39 +02:00
Mark H Weaver 061d7f3bd2
Merge branch 'master' into core-updates 2016-10-13 05:53:07 -04:00
Andy Wingo f2ec23d18e
gnu: Add CUPS service.
* gnu/services/cups.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/cups.scm.
* doc/guix.texi (Printing Services): New section.
2016-10-13 11:37:25 +02:00
Hartmut Goebel e940a2713d
doc: Add guide on how to specify dependencies for Python packages.
* doc/guix.texi (Python Modules): New sub-subsection "Specifying
Dependencies".

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-12 23:35:43 +02:00
John Darrington eb419bc9fe
gnu: Add NFS related services.
* gnu/services/nfs.scm (pipefs-service-type): New variable,
(gss-service-type): New variable, (idmap-service-type) New variable.

* doc/guix.texi (Network File System): New node.
2016-10-12 19:26:10 +02:00
Andy Patterson a1b30f99a8
build-system: Add asdf-build-system.
* guix/build-system/asdf.scm: New file.
* guix/build/asdf-build-system.scm: New file.
* guix/build/lisp-utils.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document 'asdf-build-system'.

Signed-off-by: 宋文武 <iyzsong@gmail.com>
2016-10-08 21:20:35 +08:00
Ricardo Wurmus c8ebb4c472
doc: Remove GHC from examples for propagation.
* doc/guix.texi (package Reference): Remove GHC from the list of
languages for which library run-time dependencies must be propagated.
2016-10-08 00:03:29 +02:00
Ludovic Courtès 57bdd79e48
grafts: Allow the replacement to have a different name.
* guix/build/graft.scm (replace-store-references): REPLACEMENT is now
the full string, not just the hash.
(rewrite-directory)[hash-mapping](valid-suffix?): Remove.
(hash+suffix): Rename to...
(hash+rest): ... this.  Change to return the whole string as the second
element of the list.  Adjust 'match-lambda' expression accordingly;
check whether the string length of the origin and replacement match.
* tests/grafts.scm ("graft-derivation, grafted item uses a different
name"): New test.
* doc/guix.texi (Security Updates): Update sentence on the name/version
restriction.
2016-10-03 23:16:48 +02:00
Ludovic Courtès d8f3128119
services: openssh-service-type: Expose 'openssh-configuration'.
* gnu/services/ssh.scm (<openssh-configuration>): Add default values.
[pubkey-authentication?]: Rename to...
[public-key-authentication?]: ... this.
(openssh-service): Remove.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-10-03 00:38:28 +02:00
Jan Nieuwenhuizen 92c03a8715
services: Add rottlog.
* gnu/services/admin.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Log Rotation): New node.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-03 00:38:28 +02:00
Julien Lepiller 86d8f6d3ef
services: Add 'openssh-service'.
* gnu/packages/ssh.scm (openssh)[arguments]: Set sysconfdir to /etc/ssh.
* gnu/services/ssh.scm (<openssh-configuration>): New record type.
(%openssh-accounts): New variable.
(openssh-activation, openssh-config-file, openssh-shepherd-service)
(openssh-service): New procedures.
(openssh-service-type): New variable.
* doc/guix.texi (Networking Services): Document 'openssh-services'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-29 23:11:48 +02:00
Leo Famulari 5564c011d9
doc: Give the full key fingerprint instead of the long key ID.
* doc/guix.texi (OPENPGP-SIGNING-KEY-ID): Use fingerprint instead of
long key ID.
2016-09-28 23:57:14 -04:00
Andy Wingo 66329c23a1
gnu: New default Dovecot service postmaster_address
* gnu/services/mail.scm (dovecot-configuration): Change default for
  postmaster-address, as dovecot is now requiring a non-empty value and
  will fail to start up otherwise.
* doc/guix.texi (Mail Services): Update.
2016-09-27 14:45:07 +02:00
Ludovic Courtès 71654dfdda
services: Add 'simple-service'.
* gnu/services.scm (simple-service): New procedure.
* doc/guix.texi (Service Reference): Document it.
2016-09-19 23:11:19 +09:00