This allows the client running on the host to know when it's actually
connect to the server running in the guest. Failing that, the client
would connect right away to QEMU and send secrets even though the server
is not running yet in the guest, which is unreliable.
* gnu/build/secret-service.scm (secret-service-send-secrets): Add
#:handshake-timeout. Read from SOCK an initial message from the
server. Return #f on error.
(secret-service-receive-secrets): Send 'secret-service-server' message
to the client. Close SOCK upon timeout.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service): 'start'
method returns #f when 'secret-service-send-secrets' returns #f.
* gnu/build/secret-service.scm (secret-service-receive-secrets)
[wait-for-client]: Call 'select' with a 60s timeout before 'accept'.
Return #f upon timeout.
[read-secrets]: Return FILES on success.
Adjust caller of 'wait-for-client' to handle #f.
* gnu/services/virtualization.scm (initialize-hurd-vm-substitutes)
(hurd-vm-activation): New procedures.
(hurd-vm-service-type)[extensions]: Add ACTIVATION-SERVICE-TYPE
extension.
* doc/guix.texi (Transparent Emulation with QEMU): Mention GNU/Hurd.
(The Hurd in a Virtual Machine): Explain which files are automatically
installed and mention offloading.
This change allows a childhurd to run within Guix System in a VM.
* gnu/services/virtualization.scm (hurd-vm-shepherd-service)[vm-command]:
Stage the 'file-exists?' call.
Until qemu was running as "root", which is unnecessary.
* gnu/services/virtualization.scm (%hurd-vm-accounts): New variable.
(hurd-vm-service-type)[extensions]: Add ACCOUNT-SERVICE-TYPE extension.
* gnu/build/image.scm (convert-disk-image): New procedure.
(genimage): Remove target argument.
* gnu/system/image.scm (system-disk-image): Add support for 'compressed-qcow2
image format. Call "convert-disk-image" to apply image conversions on the
final image. Add "qemu-minimal" to the build inputs.
(system-image): Also add support for 'compressed-qcow2.
* gnu/packages/python-web.scm (python-httpx): Update to 0.15.4.
[home-page]: Change from public repository to project's webpage.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh: Use the shell '!' keyword to negate command exit status
in place of 'if ...; then false; else true; fi'
* gnu/packages/gnuzilla.scm (icecat)[arguments]<phases>: In the
patch-cargo-checksums phase, replace the inner "find-files" call
with the already found file name.
Signed-off-by: Mark H Weaver <mhw@netris.org>
It was necessary for icedove@68 which is now based on icecat@78.
* gnu/packages/gnuzilla.scm (mozilla-68-compare-locales): Remove.
(all-mozilla-68-locales): Remove.
(%icecat-68-version): Remove.
(icecat-68-source): Remove.
* gnu/packages/patches/icecat-68-makeicecat.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
Modified-By: Mark H Weaver <mhw@netris.org>
Signed-off-by: Mark H Weaver <mhw@netris.org>
* gnu/packages/gnuzilla.scm (icedove): Update to 78.3.0.
[source]: Use source from Icecat 78.
[arguments]: Use more flexible approach for generating cargo checksums
from icecat. Update files in 'rename-to-icedove phase. Remove gone
configure flags and rename `--disable-ion` to `--disable-jit`.
[inputs]: Update icu4c to version 67 and nss to 3.56.
[native-inputs]: Use ESR 78 mercurial repo for thunderbird soruces.
Update rust and cargo to 1.41, rust-cbindgen to 0.14 and
node to 10.22.
Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Signed-off-by: Mark H Weaver <mhw@netris.org>