~ruther/guix-local

9b336338 — Ludovic Courtès 8 years ago
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.
d1ff5f9d — Ludovic Courtès 8 years ago
services: file-system: Use 'file-system->spec'.

* gnu/services/base.scm (file-system-shepherd-service): Use
'file-system->spec' instead of in-line code.
47cef4ec — Ludovic Courtès 8 years ago
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.
943e1b97 — Ludovic Courtès 8 years ago
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.
a8e1247d — Ludovic Courtès 8 years ago
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.
bae28ccb — Ludovic Courtès 8 years ago
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.
007b92cf — Leo Famulari 8 years ago
gnu: mpg123: Update to 1.25.6 [fixes CVE-2017-12797].

* gnu/packages/mp3.scm (mpg123): Update to 1.25.6.
5564b2c5 — Tobias Geerinckx-Rice 8 years ago
gnu: libchamplain: Update to 0.12.16.

* gnu/packages/gnome.scm (libchamplain): Update to 0.12.16.
45586b8d — Tobias Geerinckx-Rice 8 years ago
gnu: gnome-online-accounts: Update to 3.24.3.

* gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.24.3.
66ae958c — Ludovic Courtès 8 years ago
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.
238ee648 — Jan Nieuwenhuizen 8 years ago
gnu: nyacc: Update to 0.82.0.

* gnu/packages/mes.scm (nyacc): Update to 0.82.0.
d8661f52 — Ben Woodcroft 8 years ago
gnu: ruby-activesupport: Update to 5.1.4.

* gnu/packages/ruby.scm (ruby-activesupport): Update to 5.1.4.
6bda4962 — 宋文武 8 years ago
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.
130c3bc8 — Ludovic Courtès 8 years ago
gnu: gdb: Update to 8.0.1.

* gnu/packages/gdb.scm (gdb): Update to 8.0.1.
4918e7fc — Ludovic Courtès 8 years ago
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.
1b3ebae4 — Ludovic Courtès 8 years ago
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.
e9f38113 — Ludovic Courtès 8 years ago
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.
21c2757f — Ludovic Courtès 8 years ago
gnu: guix: Update snapshot.

* gnu/packages/package-management.scm (guix): Update to a9468b4.
a9468b42 — Ludovic Courtès 8 years ago
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.
218f6ecc — Ludovic Courtès 8 years ago
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.
Next