Commit Graph

713 Commits

Author SHA1 Message Date
Eelco Dolstra b4528110c6
daemon: rounds: Keep the differing output if -K is given.
Regardless of -K, we now also print which output differs.
2016-05-31 14:25:28 +02:00
Eelco Dolstra 7f3b2510d6
daemon: check: Keep the differing output if -K is given.
This makes it easier to investigate the non-determinism, e.g.

  $ nix-build pkgs/stdenv/linux -A stage1.pkgs.zlib --check -K
  error: derivation ‘/nix/store/l54i8wlw22656i4pk05c52ngv9rpl39q-zlib-1.2.8.drv’ may not be deterministic: output ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8’ differs from ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check’

  $ diffoscope /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8 /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check
  ...
  ├── lib/libz.a
  │   ├── metadata
  │   │ @@ -1,15 +1,15 @@
  │   │ -rw-r--r-- 30001/30000   3096 Jan 12 15:20 2016 adler32.o
  ...
  │   │ +rw-r--r-- 30001/30000   3096 Jan 12 15:28 2016 adler32.o
  ...

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-05-31 14:25:28 +02:00
Leo Famulari a535e12226
services: Add urandom-seed-service.
Fixes <http://bugs.gnu.org/23605>.

* gnu/services/base.scm (urandom-seed-service): New procedure.
(%random-seed-file, urandom-seed-service-type): New variables.
(%urandom-seed-shepherd-service): New procedure.
(%base-services): Call 'urandom-seed-service'.
* doc/guix.texi (Base Services): Document it.
2016-05-28 19:59:31 -04:00
Mathieu Lirzin 70458ed510
doc: Fix typo.
* doc/guix.texi (Derivations): Add 's' to "contain".
2016-05-26 14:23:53 +02:00
Ludovic Courtès db761534df
size: Accept several arguments.
* guix/scripts/size.scm (display-profile): Display WHOLE at then end.
(guix-size): Accept several FILES.
* doc/guix.texi (Invoking guix size): Add example with several items.
2016-05-24 23:05:31 +02:00
Ludovic Courtès a773c3142d
graph: Allow store file names for 'derivation' and 'references' graphs.
* guix/scripts/graph.scm (%derivation-node-type)[convert]: Add
'derivation-path?' and catch-all clauses.
(%reference-node-type)[convert]: Add 'store-path?' and catch-all
clauses.
(assert-package, nodes-from-package): New procedures.
(%package-node-type, %bag-node-type,%bag-with-origins-node-type)
(%bag-emerged-node-type): Add 'convert' field
(guix-graph): Rename 'packages' to 'items' and
allow 'store-path?' arguments.
* guix/graph.scm (<node-type>)[convert]: Adjust comment.
* doc/guix.texi (Invoking guix graph): Document it.
2016-05-21 01:35:14 +02:00
Ludovic Courtès 99effc8faa
lint: Honor 'cpe-name' and 'cpe-version' package properties.
* guix/scripts/lint.scm (package-name->cpe-name): Remove.
(package-vulnerabilities): Honor 'cpe-name' and 'cpe-version'
properties.
* gnu/packages/grub.scm (grub)[properties]: New field.
* gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and
'cpe-version'.
* doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
2016-05-17 18:15:53 +02:00
Ludovic Courtès 1aaf116d31
doc: Fix typo.
* doc/guix.texi (Base Services): "gpm-service", not "gmp-service-type".
2016-05-11 11:08:49 +02:00
Ludovic Courtès b8785cb944
doc: Suggest long OpenPGP key ID.
* doc/guix.texi (Binary Installation): Use long OpenPGP key ID.
2016-05-08 23:49:44 +02:00
Efraim Flashner 76192896e9
services: Add connman-service.
* gnu/services/networking.scm (connman-service): New procedure.
(connman-service-type, %connman-activation): New variables.
(connman-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2016-05-05 23:07:09 +03:00
Ludovic Courtès a17417a812
challenge: Use exit code 2 when discrepancies are found.
Suggested by John Darrington <john@darrington.wattle.id.au>.

* guix/scripts/challenge.scm (guix-challenge): Exit with 2 when MISSING
is not empty.
* doc/guix.texi (Invoking guix challenge): Document it.
2016-04-27 23:35:39 +02:00
Ludovic Courtès 0054e47036
guix gc: Add '--free-space'.
* guix/scripts/gc.scm (show-help, %options): Add '--free-space'.
(guix-gc)[ensure-free-space]: New procedure.
Handle '--free-space'.
2016-04-25 23:27:09 +02:00
Mathieu Lirzin 03d0e2d2b9 build: Move 'Makefile' fragments to subdirectories.
This follows a convention used by some other GNU packages like Autoconf,
Bison, Coreutils, and Gnulib.

* doc.am: Rename to ...
* doc/local.mk: ... this.
* emacs.am: Rename to ...
* emacs/local.mk: ... this.
* gnu-system.am: Rename to ...
* gnu/local.mk: ... this.
* daemon.am: Rename to ...
* nix/local.mk: ... this.
* Makefile.am: Adapt to them.
* doc/guix.texi (Porting to a New Platform): Adapt documentation.
* guix/config.scm.in (%state-directory, %config-directory): Adapt comments.
* emacs/guix-config.el.in (guix-config-state-directory): Likewise.
2016-04-21 18:47:50 +02:00
Ludovic Courtès b3129f2b76 doc: Add "X.509 Certificates" section under "Application Setup".
Reported by Roel Janssen <roel@gnu.org>.

* doc/guix.texi (Application Setup)[X.509 Certificates]: New section.
(X.509 Certificates): Add an example of certificates in the profile.
2016-04-20 18:54:39 +02:00
Hartmut Goebel e1c963bf0d doc: Add specification for Java packages
* doc/guix.texi (Java Packages): New subsection.
2016-04-19 16:55:03 +02:00
Ludovic Courtès 31b6cdf8d1 doc: Mention 'mkswap' during installation.
Reported by Thierry Micoud <thierrymicoud@gmail.com>.

* doc/guix.texi (Preparing for Installation): Mention 'mkswap'.
2016-04-19 12:40:11 +02:00
Alex Kost b5e3cbbb24 doc: emacs: Add "Package Source Locations" section.
* doc/emacs.texi (Emacs Commands): Move description of 'guix-edit'
command to...
(Emacs Package Locations): ... here.  Document 'guix-find-location'.
New node.
* doc/guix.texi (Top): Add it.
2016-04-18 10:09:02 +03:00
Ludovic Courtès ffba7d498d mapped-devices: LUKS partitions can be designated by their UUID.
* gnu/system/mapped-devices.scm (device-mapping-service-type): Add
'modules' and 'imported-modules' fields to 'shepherd-service'.
(open-luks-device): Use 'find-partition-by-luks-uuid' to lookup the
partition when SOURCE is a bytevector.
* gnu/system/linux-initrd.scm (base-initrd): Augment 'use-modules'
form.
* doc/guix.texi (Mapped Devices): Give example with a UUID.
2016-04-18 01:24:06 +02:00
Alex Kost b3d05f4870 services: 'console-keymap-service' takes multiple files.
* gnu/services/base.scm (console-keymap-service-type): Type procedure
takes a list of files instead of a single file.
(console-keymap-service): Take 'files' as rest arguments.
* doc/guix.texi (Base Services): Improve documentation of
'console-keymap-service'.
2016-04-17 10:33:08 +03:00
Ludovic Courtès e9dffec126 doc: Update 'skeletons' field documentation.
* doc/guix.texi (operating-system Reference): Update documentation of
'skeletons' as a followup to e79467f63a.
2016-04-17 01:23:52 +02:00
Ludovic Courtès d5e5924835 doc: Use new PACKAGE@VERSION syntax in example.
* doc/guix.texi (Using the Configuration System): Use PACKAGE@VERSION
syntax.
2016-04-17 01:23:52 +02:00
Ludovic Courtès e0b3f97ecc doc: Fix typos.
* doc/guix.texi (Hardware Considerations): Fix typos.
2016-04-16 00:52:19 +02:00
Ludovic Courtès bf15321a60 doc: Remove mention of GNU release freshness checks.
* doc/guix.texi (Invoking guix package): Remove paragraph about
automatic check for latest GNU releases, which was removed in
6caa4dfa37.
2016-04-16 00:52:19 +02:00
Mathieu Lirzin e66d1f59ab doc: Add a reference to 'Invoking guix archive'.
* doc/guix.texi (Common Build Options): Add a reference to 'Invoking
guix archive'.
2016-04-15 00:59:07 +02:00
Ludovic Courtès a70a50048b doc: Update reproducible-builds.org URL.
* doc/guix.texi (Invoking guix challenge): Update reproducible-builds
URL.
2016-04-06 23:23:56 +02:00
Ludovic Courtès ddbc7f7d81 doc: Use more https URLs.
* doc/guix.texi (Invoking guix challenge): Use https instead of http.
2016-04-06 23:22:49 +02:00
Ludovic Courtès 7cffaeb604 challenge: Really exit with non-zero upon hash mismatch.
Reported by John Darrington.

* guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit'
call when ISSUES is empty.
* scripts/guix.in: Add comment about 'exit'.
* doc/guix.texi (Invoking guix challenge): Mention the behavior and exit
code.
2016-04-06 23:21:26 +02:00
Ludovic Courtès 7b9a66e519 doc: Update use of old "PACKAGE-VERSION" syntax.
* doc/guix.texi (Invoking guix edit): Use the @ syntax for versions.
2016-04-06 23:16:02 +02:00
Mathieu Lirzin a9edb211e7 build: Add a Guile custom test driver using SRFI-64.
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
2016-04-03 14:19:09 +02:00
Eric Bavier 42efe27a30 import: Add Hackage updater.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-package?)
  (latest-release): New procedures.
  (%hackage-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add it.
* doc/guix.texi (Invoking guix refresh): Mention it.
2016-03-30 23:19:24 -05:00
Roel Janssen 4827b36d1f doc: Small fixes for typos and missing words.
* doc/guix.texi (The Store Monad): Add a dot at the end of a sentence.
  (The Store Monad): Add "are" to make a complete sentence.
  (G-Expressions): Fix typo.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Chris Marusich 8a46205b41 doc: Clarify how to use the '#:python' parameter.
* doc/guix.texi (Build Systems): Clearly distinguish between the package that
provides the Python interpreter for the build and the package that is to be
built.  Also, mention why one might want to use a specific Python version.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Ludovic Courtès e2f41133e9 doc: We have even more than 3,000 packages.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Limitations): Increase package count.
2016-03-28 22:25:42 +02:00
Ludovic Courtès efa77c6c92 doc: Explain why the config file should be stored on the target.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Explain why the
config file should be on the target file system.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 15650ac2a0 doc: Suggest 'dhclient -v'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Preparing for Installation): Add "-v" for dhclient.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 9c18cf9bca doc: Suggest running "info info" during system installation.
Based on a suggestion by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (System Installation): Suggest running "info info".
2016-03-28 22:25:42 +02:00
Ludovic Courtès b397c0d58a doc: Clarify 'cow-store'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Clarify what
'cow-store' is about.
2016-03-28 22:25:42 +02:00
Ludovic Courtès ff925d37e0 doc: Make it clear that networking is needed for GuixSD installation.
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.

* doc/guix.texi (Preparing for Installation): Make it clear that
networking is required.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 09866b3962 doc: Augment documentation about security updates.
* doc/guix.texi (Security Updates): Add paragraph on the big picture of
security updates.  Cross-reference 'guix lint'.
(Invoking guix lint): Add CVE URLs.
2016-03-28 22:25:42 +02:00
Mark H Weaver 641d05188d doc: Fix typo: "wpa_supplication" --> "wpa_supplicant".
* doc/guix.texi (Preparing for Installation): Fix typo.
2016-03-26 13:15:11 -04:00
David Thompson a01ad63893 environment: container: Create dummy home directory and /etc/passwd.
* guix/scripts/environment.scm (launch-environment/container): Change
$HOME to the current user's home directory instead of
/homeless-shelter.  Create a dummy /etc/passwd with a single entry for
the current user.
* doc/guix.texi ("invoking guix environment"): Add a note about the
dummy home directory and /etc/passwd.
2016-03-26 09:38:27 -04:00
Ludovic Courtès bf9eacd2af doc: Mention 'guix challenge' in "Features".
* doc/guix.texi (Features): Mention trust and 'guix challenge'.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 6f77360681 doc: Rephrase introduction to give a better overview.
Suggested by myglc2 <myglc2@gmail.com>.

* doc/guix.texi (Introduction): Rephrase to mention features and use
cases first, and foundations last.
(Features): Mention "GuixSD".
(Utilities): Change intro: not all the tools are for packagers.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 622b2304ce doc: We now need 1 GiB for the installation USB image.
* doc/guix.texi (Building the Installation Image): Change image size to 1G.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Likewise.
2016-03-24 23:31:56 +01:00
Ludovic Courtès de341e7c3f doc: Update reference to the Info reader's manual.
* doc/guix.texi (System Installation): Refer to 'info-stnd' instead of
'info'.
(Preparing for Installation): Likewise.
2016-03-24 23:00:11 +01:00
Ludovic Courtès d038b674cf doc: Add "lightweight desktop" OS config example.
* gnu/system/examples/desktop.tmpl (packages): Remove XFCE and
RATPOISON.
(services): Add 'gnome-desktop-service' and 'xfce-desktop-service'.
* gnu/system/examples/lightweight-desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): Add
doc/os-config-lightweight-desktop.texi.
* gnu/system/install.scm (/etc/configuration-files)[directory]: Add
lightweight-desktop.tmpl.
2016-03-23 00:23:12 +01:00
Ludovic Courtès 3f4ecf3229 gexp: Add #:disallowed-references.
* guix/gexp.scm (gexp->derivation): Add #:disallowed-references and
honor it.
* tests/gexp.scm ("gexp->derivation #:disallowed-references, allowed")
("gexp->derivation #:disallowed-references"): New tests.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-03-20 22:46:14 +01:00
Ludovic Courtès 35b5ca7869 derivations: Add #:disallowed-references.
* guix/derivations.scm (derivation): Add #:disallowed-references.
[user+system-env-vars]: Honor it.
(build-expression->derivation): Likewise.
* tests/derivations.scm ("derivation #:disallowed-references, ok")
("derivation #:disallowed-references, not ok"): New tests.
* doc/guix.texi (Derivations): Adjust accordingly.
2016-03-20 22:45:35 +01:00
Ludovic Courtès ef5f5c8659 build: Protect against misconfiguration of localstatedir.
Suggested by Jookia <166291@gmail.com>.

* m4/guix.m4 (GUIX_CURRENT_LOCALSTATEDIR, GUIX_CHECK_LOCALSTATEDIR): New
macros.
* config-daemon.ac: Use 'GUIX_CHECK_LOCALSTATEDIR'.
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --localstatedir.
* doc/guix.texi (Requirements): Mention --localstatedir.
(The Store): Mention LOCALSTATEDIR as such.
2016-03-19 15:07:46 +01:00
Ludovic Courtès b53daad064 doc: Add missing comma after @xref.
Reported by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Service Reference): Add comma after @xref.
2016-03-17 09:49:05 +01:00