Commit Graph

23929 Commits

Author SHA1 Message Date
Ludovic Courtès 5f7fe1c57e
vm: Generate a UUID to identify the root file system.
This makes collisions less likely than when using a label to look up the
partition.  See <https://bugs.gnu.org/27735>.

* gnu/system/vm.scm (operating-system-uuid): New procedure.
(system-disk-image): Define 'root-uuid' and use it for the root file
system.  Pass it to 'iso9660-image' and 'qemu-image'.
2017-09-11 22:26:29 +02:00
Ludovic Courtès fd3b4b985d
vm: Allow users to specify a UUID for the root partition.
* gnu/system/vm.scm (qemu-image): Add #:file-system-uuid parameter; pass
it as the 'uuid' field of the root partition.
2017-09-11 22:26:24 +02:00
Ludovic Courtès ce094b4663
uuid: 'uuid' macro supports more UUID types.
* gnu/system/uuid.scm (string->uuid): Turn 'type' into an optional
argument.
(uuid): Add clauses to allow for an optional 'type' parameter.
2017-09-11 22:24:47 +02:00
Ludovic Courtès 075681d350
system: Serialize the UUID type in the "parameters" file.
* gnu/system.scm (read-boot-parameters)[device->sexp]: New procedure.
Use it for 'root-device' and 'store-device'.
(device->sexp): Serialize the UUID type in addition to its bytevector.
2017-09-11 22:24:47 +02:00
Ludovic Courtès 9b336338cd
system: Introduce a disjoint UUID type.
Conceptually a UUID is just a bytevector.  However, there's software out
there such as GRUB that relies on the string representation of different
UUID types (e.g., the string representation of DCE UUIDs differs from
that of ISO-9660 UUIDs, even if they are actually bytevectors of the
same length).  This new <uuid> record type allows us to preserve
information about the type of UUID so we can eventually convert it to a
string using the right representation.

* gnu/system/uuid.scm (<uuid>): New record type.
(bytevector->uuid): New procedure.
(uuid): Return calls to 'make-uuid'.
(uuid->string): Rewrite using 'match-lambda*' to accept a single 'uuid?'
argument.
* gnu/bootloader/grub.scm (grub-root-search): Check for 'uuid?' instead
of 'bytevector?'.
* gnu/system.scm (bootable-kernel-arguments): Check whether ROOT-DEVICE
is 'uuid?'.
(read-boot-parameters): Use 'bytevector->uuid' when the
store device is a bytevector.
(read-boot-parameters-file): Check for 'uuid?' instead of 'bytevector?'.
(device->sexp): New procedure.
(operating-system-boot-parameters-file): Use it for 'root-device' and
'store'.
(operating-system-bootcfg): Remove conditional in definition of
'root-device'.
* gnu/system/file-systems.scm (file-system->spec): Check for 'uuid?' on
DEVICE and take its bytevector.
* gnu/system/mapped-devices.scm (open-luks-device): Likewise.
* gnu/system/vm.scm (iso9660-image): Call 'uuid-bytevector' for the
 #:volume-uuid argument.
2017-09-11 22:24:46 +02:00
Ludovic Courtès d1ff5f9db3
services: file-system: Use 'file-system->spec'.
* gnu/services/base.scm (file-system-shepherd-service): Use
'file-system->spec' instead of in-line code.
2017-09-11 22:24:46 +02:00
Ludovic Courtès 47cef4ecad
file-systems: Introduce (gnu system uuid).
* gnu/build/file-systems.scm (sub-bytevector)
(latin1->string, %fat32-endianness, fat32-uuid->string)
(%iso9660-uuid-rx, string->iso9660-uuid)
(iso9660-uuid->string, %network-byte-order)
(dce-uuid->string, %uuid-rx, string->dce-uuid)
(string->ext2-uuid, string->ext3-uuid, string->ext4-uuid)
(vhashq, %uuid-parsers, %uuid-printers, string->uuid)
(uuid->string): Move to...
* gnu/system/uuid.scm: ... here.  New file.
* gnu/system/file-systems.scm (uuid): Move to the above file.
* gnu/system/vm.scm: Adjust accordingly.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add uuid.scm.
2017-09-11 22:24:46 +02:00
Ludovic Courtès 943e1b975f
services: base: Import the closure of (gnu build file-systems).
* gnu/services/base.scm (file-system-shepherd-service): Use
'source-module-closure' in the 'with-imported-modules' form.
2017-09-11 22:24:46 +02:00
Ludovic Courtès a8e1247d7d
file-systems: Add UUID type dictionaries.
* gnu/build/file-systems.scm (uuid->string): Rename to...
(dce-uuid->string): ... this.
(string->uuid): Rename to...
(string->dce-uuid): ... this.
(vhashq): New macro.
(%uuid-parsers, %uuid-printers): New variables.
(uuid->string, string->uuid): New procedures.
2017-09-11 22:24:46 +02:00
Ludovic Courtès bae28ccb69
vm: Allow partitions to be initialized with a given UUID.
* gnu/build/vm.scm (<partition>)[uuid]: New field.
(create-ext-file-system): Add #:uuid and honor it.
(create-fat-file-system): Add #:uuid.
(format-partition): Add #:uuid and honor it.
(initialize-partition): Honor the 'uuid' field of PARTITION.
2017-09-11 22:24:46 +02:00
Leo Famulari 007b92cfc0
gnu: mpg123: Update to 1.25.6 [fixes CVE-2017-12797].
* gnu/packages/mp3.scm (mpg123): Update to 1.25.6.
2017-09-11 13:23:26 -04:00
Tobias Geerinckx-Rice 5564b2c53e
gnu: libchamplain: Update to 0.12.16.
* gnu/packages/gnome.scm (libchamplain): Update to 0.12.16.
2017-09-11 15:01:20 +02:00
Tobias Geerinckx-Rice 45586b8dd8
gnu: gnome-online-accounts: Update to 3.24.3.
* gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.24.3.
2017-09-11 15:01:20 +02:00
Ludovic Courtès 66ae958c5b
gnu: emacs: Patch message-mode enriched text translation [security fix].
* gnu/packages/patches/emacs-unsafe-enriched-mode-translations.patch:
New file.
* gnu/packages/emacs.scm (emacs)[source](patches): Add it.
* gnu/local.mk (dist_patch_DATA): Add it.
2017-09-11 14:52:29 +02:00
Jan Nieuwenhuizen 238ee64802
gnu: nyacc: Update to 0.82.0.
* gnu/packages/mes.scm (nyacc): Update to 0.82.0.
2017-09-11 14:44:05 +02:00
Ben Woodcroft d8661f52b1
gnu: ruby-activesupport: Update to 5.1.4.
* gnu/packages/ruby.scm (ruby-activesupport): Update to 5.1.4.
2017-09-11 21:43:20 +10:00
宋文武 6bda496286
gnu: icedtea-8: Install the nss.cfg file to JRE.
Before this, accessing HTTPS will throw an exception about 'nss.cfg' could not
be found.

* gnu/packages/java.scm (icedtea-8)[arguments]: Copy 'nss.cfg' from JDK into
JRE in the install phase.
2017-09-11 19:07:56 +08:00
Ludovic Courtès 130c3bc894
gnu: gdb: Update to 8.0.1.
* gnu/packages/gdb.scm (gdb): Update to 8.0.1.
2017-09-11 11:57:51 +02:00
Ludovic Courtès 4918e7fc22
download: Adjust main ftp.gnu.org mirror.
* guix/download.scm (%mirrors): Add missing "/gnu" in first mirror,
although that mirror would work even without it.  Use https instead of
http.
2017-09-11 11:51:50 +02:00
Ludovic Courtès 1b3ebae4f1
gnu-maintenance: Return all the latest tarballs, not just one.
* guix/gnu-maintenance.scm (latest-gnu-release): Return a list of
matching tarballs instead of just the first one.  This gives us .tar.gz,
.tar.xz, etc.
2017-09-11 11:51:39 +02:00
Ludovic Courtès e9f3811390
gnu-maintenance: Correctly compare versions.
* guix/gnu-maintenance.scm (latest-gnu-release): Add calls to
'sans-extension'.  This fixes version comparison, which could be fooled
with the ".tar.gz" extension.
2017-09-11 11:40:32 +02:00
Ludovic Courtès 21c2757f27
gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix): Update to a9468b4.
2017-09-11 11:36:38 +02:00
Ludovic Courtès a9468b422b
substitute: Download from unauthorized sources that provide the right content.
This allows substitutes to be downloaded from unauthorized servers, as
long as they advertise the same hash and references as one of the
authorized servers.

* guix/scripts/substitute.scm (assert-valid-narinfo): Remove.
(valid-narinfo?): Add #:verbose?.  Handle each case of
'signature-case'.
(equivalent-narinfo?): New procedure.
(lookup-narinfos/diverse): Add 'authorized?' parameter and honor it.
[select-hit]: New procedure.
(lookup-narinfo): Add 'authorized?' parameter and pass it.
(process-query): Adjust callers accordingly.
(process-substitution): Remove call to 'assert-valid-narinfo'.  Check
whether 'lookup-narinfo' returns true and call 'leave' if not.
* tests/substitute.scm (%main-substitute-directory)
(%alternate-substitute-directory): New variables.
(call-with-narinfo): Make 'narinfo-directory' a parameter.  Call
'mkdir-p' to create it.  Change unwind handler to check whether
CACHE-DIRECTORY exists before deleting it.
(with-narinfo*): New macro.
("substitute, no signature")
("substitute, invalid hash")
("substitute, unauthorized key"): Change expected error message to "no
valid substitute".
("substitute, unauthorized narinfo comes first")
("substitute, unsigned narinfo comes first")
("substitute, first narinfo is unsigned and has wrong hash")
("substitute, first narinfo is unsigned and has wrong refs")
("substitute, unsigned narinfo comes first")
("substitute, two invalid narinfos"): New tests.
* doc/guix.texi (Substitutes): Explain the new behavior.
2017-09-11 11:10:21 +02:00
Ludovic Courtès 218f6eccaf
substitute: Make substitute URLs a SRFI-39 parameter.
* guix/scripts/substitute.scm (%cache-urls): Rename to...
(%default-substitute-urls): ... this.
(substitute-urls): New variable.
(guix-substitute): Use it instead of %CACHE-URLS.
* tests/substitute.scm: Likewise.
2017-09-11 11:10:21 +02:00
Theodoros Foradis 79228a52d2
gnu: Add monero-core.
* gnu/packages/finance.scm (monero-core): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-11 11:10:21 +02:00
Theodoros Foradis 8514662b20
gnu: Add monero.
* gnu/packages/finance.scm (monero): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-11 11:10:20 +02:00
Efraim Flashner e5f3d1183c
gnu: libffcall: Update to 2.0.
* gnu/packages/libffcall.scm (libffcall): Update to 2.0.
2017-09-11 11:16:11 +03:00
Mark H Weaver 4b4869ce97
gnu: linux-libre: Update to 4.13.1.
* gnu/packages/linux.scm (%linux-libre-version): Update to 4.13.1.
(%linux-libre-hash): Update hash.
2017-09-11 00:42:09 -04:00
Mark H Weaver 3abc12d6d2
gnu: linux-libre@4.9: Update to 4.9.49.
* gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.49.
2017-09-11 00:41:24 -04:00
Jelle Licht cfd34f4316
gnu: python-apsw: Build with all extensions.
* gnu/packages/python.scm (python-apsw)[phases]: Replace build phase; add flag
  to build all extensions. Add build-test-helper to allow testing of
  extensions.
2017-09-11 01:12:59 +02:00
Tobias Geerinckx-Rice c1b815a5b8
gnu: gnome-sudoku: Update to 3.26.0.
* gnu/packages/gnome.scm (gnome-sudoku): Update to 3.26.0.
2017-09-11 00:54:03 +02:00
Tobias Geerinckx-Rice 55a9f04052
gnu: gnome-klotski: Update to 3.22.2.
* gnu/packages/gnome.scm (gnome-klotski): Update to 3.22.2.
2017-09-11 00:54:02 +02:00
Tobias Geerinckx-Rice da40501ba5
gnu: libgnome-games-support: Update to 1.2.3.
* gnu/packages/gnome.scm (libgnome-games-support): Update to 1.2.3.
2017-09-11 00:54:01 +02:00
Tobias Geerinckx-Rice e0f4966448
gnu: cloc: Fix typo in description.
* gnu/packages/code.scm (cloc)[description]: Fix typo.
2017-09-11 00:54:01 +02:00
Tobias Geerinckx-Rice 7ca001c33d
gnu: cloc: Update to 1.74.
* gnu/packages/code.scm (cloc): Update to 1.74.
[source]: Update source URL.
2017-09-11 00:54:00 +02:00
Tobias Geerinckx-Rice 4e4de30a4b
gnu: youtube-dl: Update to 2017.09.10.
* gnu/packages/video.scm (youtube-dl): Update to 2017.09.10.
2017-09-11 00:54:00 +02:00
Kei Kebreau 4561498e1f
gnu: Fix build failures caused by commit
d10092b849.

* gnu/packages/bioinformatics.scm (seek)[arguments]: Restore previous phase
order.
* gnu/packages/ci.scm (cuirass)[arguments]: Add patch-/bin/sh phase.
2017-09-10 18:21:35 -04:00
Ludovic Courtès 1e8d398abc
install: Add OpenSSH to the global profile.
Suggested by Jan Nieuwenhuizen.

* gnu/system/install.scm (installation-os)[packages]: Add OPENSSH.
2017-09-10 23:34:29 +02:00
Ludovic Courtès 903ae630a0
install: Add 'passwd' to $PATH.
Suggested by Jan Nieuwenhuizen.

* gnu/system/install.scm (installation-os)[setuid-programs]: Add 'passwd'.
2017-09-10 23:34:29 +02:00
Jan Nieuwenhuizen 4aafce22ab
gnu: Add emacs-bash-completion.
* gnu/packages/emacs.scm (emacs-bash-completion): New variable.
2017-09-10 22:43:05 +02:00
Efraim Flashner 338b58e0ea
gnu: openjpeg: Fix CVE-2017-14164.
* gnu/packages/image.scm (openjpeg)[source]: Add patch.
* gnu/packages/patches/openjpeg-CVE-2017-14164.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2017-09-10 22:00:35 +03:00
Efraim Flashner 224bb4b6f9
gnu: graphicsmagick: Fix CVE-2017-14165.
* gnu/packages/imagemagick.scm (graphicsmagick)[source]: Add patch.
* gnu/packages/patches/graphicsmagick-CVE-2017-14165.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2017-09-10 21:45:45 +03:00
Christopher Baines 814da59fcc
gnu: Add emacs-wgrep.
* gnu/packages/emacs.scm (emacs-wgrep): New variable.
2017-09-10 19:27:00 +01:00
Christopher Baines 81808194ac
gnu: Add emacs-rspec.
* gnu/packages/emacs.scm (emacs-rspec): New variable.
2017-09-10 19:26:51 +01:00
Kei Kebreau 2cc752c0b0
gnu: graphicsmagick: Fix CVE-2017-14042.
* gnu/packages/imagemagick.scm (graphicsmagick)[source]: Add patch.
* gnu/packages/patches/graphicsmagick-CVE-2017-14042.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
2017-09-10 09:33:56 -04:00
Christopher Baines c2a59a92bb
doc: Replace upstream-list with upstream-blocks.
This fixes the documentation to match the implementation.

* doc/guix.texi (Web Services): Replace 'upstream-list' with
  'upstream-blocks'.
2017-09-10 12:00:03 +01:00
Oleg Pykhalov fb1cba687e
doc: Replace server-list with server-blocks.
* doc/guix.texi (Web Services): Replace 'server-list' with 'server-blocks'.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-09-10 11:59:59 +01:00
Christopher Baines 575065bd1c
vm: Add comment about deduplication in make-iso9660-image.
* gnu/build/vm.scm (make-iso9660-image): Add comment about the use of
  #:deduplicate #f when calling register-closure.
2017-09-10 11:59:55 +01:00
Tobias Geerinckx-Rice bc64676c46
gnu: btrfs-progs: Update to 4.13.
* gnu/packages/linux.scm (btrfs-progs): Update 4.13.
[native-inputs]: Add acl.
2017-09-10 12:50:32 +02:00
Ludovic Courtès 67a37c6311
gnu: foomatic-filters: Add missing patches.
This is a followup to commit d02aabaf1b.

* gnu/packages/patches/foomatic-filters-CVE-2015-8327.patch: New file.
* gnu/packages/patches/foomatic-filters-CVE-2015-8560.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.
2017-09-10 12:00:25 +02:00