diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 15 | ||||
-rw-r--r-- | gnu/machine/ssh.scm | 6 | ||||
-rw-r--r-- | gnu/packages/audio.scm | 10 | ||||
-rw-r--r-- | gnu/packages/cross-base.scm | 15 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 3 | ||||
-rw-r--r-- | gnu/packages/libffi.scm | 24 | ||||
-rw-r--r-- | gnu/packages/patches/audiofile-check-number-of-coefficients.patch (renamed from gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch) | 0 | ||||
-rw-r--r-- | gnu/packages/patches/audiofile-division-by-zero.patch (renamed from gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch) | 0 | ||||
-rw-r--r-- | gnu/packages/patches/audiofile-function-signature.patch (renamed from gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch) | 0 | ||||
-rw-r--r-- | gnu/packages/patches/audiofile-multiply-overflow.patch (renamed from gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch) | 0 | ||||
-rw-r--r-- | gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch (renamed from gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch) | 0 | ||||
-rw-r--r-- | gnu/packages/patches/libffi-3.3-powerpc-fixes.patch | 138 | ||||
-rw-r--r-- | gnu/packages/patches/python2-pygobject-2-deprecation.patch (renamed from gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch) | 0 | ||||
-rw-r--r-- | gnu/services/audio.scm | 33 | ||||
-rw-r--r-- | gnu/system/vm.scm | 15 | ||||
-rw-r--r-- | gnu/tests/audio.scm | 13 | ||||
-rw-r--r-- | gnu/tests/docker.scm | 11 | ||||
-rw-r--r-- | gnu/tests/nfs.scm | 2 | ||||
-rw-r--r-- | gnu/tests/version-control.scm | 6 |
19 files changed, 248 insertions, 43 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index c2b2143213..b5f9c56324 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -802,14 +802,14 @@ dist_patch_DATA = \ %D%/packages/patches/audiofile-CVE-2015-7747.patch \ %D%/packages/patches/audiofile-CVE-2018-13440.patch \ %D%/packages/patches/audiofile-CVE-2018-17095.patch \ - %D%/packages/patches/audiofile-Check-the-number-of-coefficients.patch \ + %D%/packages/patches/audiofile-check-number-of-coefficients.patch \ %D%/packages/patches/audiofile-Fail-on-error-in-parseFormat.patch \ %D%/packages/patches/audiofile-Fix-index-overflow-in-IMA.cpp.patch \ - %D%/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch \ - %D%/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch \ - %D%/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch \ - %D%/packages/patches/audiofile-hurd.patch \ - %D%/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch \ + %D%/packages/patches/audiofile-multiply-overflow.patch \ + %D%/packages/patches/audiofile-overflow-in-MSADPCM.patch \ + %D%/packages/patches/audiofile-division-by-zero.patch \ + %D%/packages/patches/audiofile-hurd.patch \ + %D%/packages/patches/audiofile-function-signature.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avogadro-boost148.patch \ @@ -1196,6 +1196,7 @@ dist_patch_DATA = \ %D%/packages/patches/jsoncpp-fix-inverted-case.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ + %D%/packages/patches/libffi-3.3-powerpc-fixes.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ @@ -1525,7 +1526,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python-pycrypto-time-clock.patch \ - %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ + %D%/packages/patches/python2-pygobject-2-deprecation.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-robotframework-source-date-epoch.patch \ %D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \ diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index a3a12fb54b..1b748c8da7 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm @@ -37,6 +37,7 @@ #:use-module (guix ssh) #:use-module (guix store) #:use-module (guix utils) + #:use-module ((guix self) #:select (make-config.scm)) #:use-module (gcrypt pk-crypto) #:use-module (ice-9 format) #:use-module (ice-9 match) @@ -353,8 +354,9 @@ of MACHINE's system profile, ordered from most recent to oldest." (define remote-exp (with-extensions (list guile-gcrypt) - (with-imported-modules (source-module-closure '((guix config) - (guix profiles))) + (with-imported-modules (source-module-closure + `(((guix config) => ,(make-config.scm)) + (guix profiles))) #~(begin (use-modules (guix config) (guix profiles) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 9f00392ebc..466d17f29d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -862,16 +862,16 @@ tools.") "audiofile-Fix-index-overflow-in-IMA.cpp.patch" ;; CVE-2017-6827, CVE-2017-6828, CVE-2017-6832, CVE-2017-6835, ;; CVE-2017-6837: - "audiofile-Check-the-number-of-coefficients.patch" + "audiofile-check-number-of-coefficients.patch" ;; CVE-2017-6839: - "audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch" + "audiofile-overflow-in-MSADPCM.patch" ;; CVE-2017-6830, CVE-2017-6834, CVE-2017-6836, CVE-2017-6838: - "audiofile-Fix-multiply-overflow-sfconvert.patch" - "audiofile-signature-of-multiplyCheckOverflow.patch" + "audiofile-multiply-overflow.patch" + "audiofile-function-signature.patch" ;; CVE-2017-6831: "audiofile-Fail-on-error-in-parseFormat.patch" ;; CVE-2017-6833: - "audiofile-division-by-zero-BlockCodec-runPull.patch" + "audiofile-division-by-zero.patch" "audiofile-CVE-2018-13440.patch" "audiofile-CVE-2018-17095.patch")))) (properties `((lint-hidden-cve . ("CVE-2017-6829" diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index b35a3cb40b..c1e5f2eb79 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -539,19 +539,20 @@ and the cross tool chain." ;; FIXME: 'static-bash' should really be an input, not a native input, but ;; to do that will require building an intermediate cross libc. - (inputs '()) + (inputs (if (hurd-triplet? target) + `(;; TODO: move to glibc in the next rebuild cycle + ("hurd-mach-print.patch" + ,(search-patch "glibc-hurd-mach-print.patch")) + ("hurd-gettyent.patch" + ,(search-patch "glibc-hurd-gettyent.patch"))) + '())) (native-inputs `(("cross-gcc" ,xgcc) ("cross-binutils" ,xbinutils) ,@(if (hurd-triplet? target) `(("cross-mig" ,@(assoc-ref (package-native-inputs xheaders) - "cross-mig")) - ;; TODO: move to glibc in the next rebuild cycle - ("hurd-mach-print.patch" - ,@(search-patches "glibc-hurd-mach-print.patch")) - ("hurd-gettyent.patch" - ,@(search-patches "glibc-hurd-gettyent.patch"))) + "cross-mig"))) '()) ,@(package-inputs libc) ;FIXME: static-bash ,@(package-native-inputs libc)))))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index bba9461d44..901222476a 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -698,8 +698,7 @@ useful for C++.") (sha256 (base32 "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv")) - (patches (search-patches - "python2-pygobject-2-gi-info-type-error-domain.patch")))) + (patches (search-patches "python2-pygobject-2-deprecation.patch")))) (build-system gnu-build-system) (native-inputs `(("which" ,which) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index ec8703ffdb..d324892330 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -55,7 +55,25 @@ (arguments `(;; Prevent the build system from passing -march and -mtune to the ;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4". - #:configure-flags '("--enable-portable-binary" "--without-gcc-arch"))) + #:configure-flags '("--enable-portable-binary" "--without-gcc-arch") + + ;; TODO: Inline patch on next rebuild cycle. + ,@(if (string-prefix? "powerpc-" (or (%current-target-system) + (%current-system))) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'apply-patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs + "powerpc-patch"))) + (invoke "patch" "--batch" "-p1" + "-i" patch)))))) + '()))) + (inputs + (if (string-prefix? "powerpc-" (or (%current-target-system) + (%current-system))) + `(("powerpc-patch" ,@(search-patches + "libffi-3.3-powerpc-fixes.patch"))) + '())) (outputs '("out" "debug")) (synopsis "Foreign function call interface library") (description diff --git a/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch b/gnu/packages/patches/audiofile-check-number-of-coefficients.patch index f9427cbe61..f9427cbe61 100644 --- a/gnu/packages/patches/audiofile-Check-the-number-of-coefficients.patch +++ b/gnu/packages/patches/audiofile-check-number-of-coefficients.patch diff --git a/gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch b/gnu/packages/patches/audiofile-division-by-zero.patch index e001133916..e001133916 100644 --- a/gnu/packages/patches/audiofile-division-by-zero-BlockCodec-runPull.patch +++ b/gnu/packages/patches/audiofile-division-by-zero.patch diff --git a/gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch b/gnu/packages/patches/audiofile-function-signature.patch index 35627d3869..35627d3869 100644 --- a/gnu/packages/patches/audiofile-signature-of-multiplyCheckOverflow.patch +++ b/gnu/packages/patches/audiofile-function-signature.patch diff --git a/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch b/gnu/packages/patches/audiofile-multiply-overflow.patch index 0f17140d6b..0f17140d6b 100644 --- a/gnu/packages/patches/audiofile-Fix-multiply-overflow-sfconvert.patch +++ b/gnu/packages/patches/audiofile-multiply-overflow.patch diff --git a/gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch b/gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch index 2be930b924..2be930b924 100644 --- a/gnu/packages/patches/audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch +++ b/gnu/packages/patches/audiofile-overflow-in-MSADPCM.patch diff --git a/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch new file mode 100644 index 0000000000..971ed26180 --- /dev/null +++ b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch @@ -0,0 +1,138 @@ +This is a combination of the following 4 commits: +https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd.patch +https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326.patch +https://github.com/libffi/libffi/commit/e50b9ef8b910fa642ef158f6642e60d54d7ad740.patch +https://github.com/libffi/libffi/commit/4d6d2866ae43e55325e8ee96561221804602cd7a.patch + +From 2dbfa92a95e3bacabca431b89d2a5925e48a0e40 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Thu, 28 Nov 2019 12:42:41 +0000 + +powerpc: fix build failure on power7 and older (#532) + +Build failure looks as: +``` +libtool: compile: powerpc-unknown-linux-gnu-gcc \ + -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ... +In file included from src/powerpc/ffi.c:33: +src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target + 65 | typedef __int128 float128; + | ^~~~~~~~ +``` + +The fix avoids using __int128 in favour of aligned char[16]. + +Closes: https://github.com/libffi/libffi/issues/531 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> + +Address platforms with no __int128. + +powerpc64: Use memcpy to help platforms with no __int128. (#534) + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Update powerpc sysv assembly for ffi_powerpc.h changes (#541) + +Some of the flag bits were moved when adding powerpc64 vector support. + +Fixes #536 +--- + src/powerpc/ffi_linux64.c | 12 ++++++------ + src/powerpc/ffi_powerpc.h | 2 +- + src/powerpc/sysv.S | 12 +++++------- + 3 files changed, 12 insertions(+), 14 deletions(-) + +diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c +index de0d033..4d50878 100644 +--- a/src/powerpc/ffi_linux64.c ++++ b/src/powerpc/ffi_linux64.c +@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) + if (next_arg.ul == gpr_end.ul) + next_arg.ul = rest.ul; + if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs) +- *vec_base.f128++ = **p_argv.f128; ++ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128)); + else +- *next_arg.f128 = **p_argv.f128; ++ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128)); + if (++next_arg.f128 == gpr_end.f128) + next_arg.f128 = rest.f128; + vecarg_count++; +@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack) + { + if (vecarg_count < NUM_VEC_ARG_REGISTERS64 + && i < nfixedargs) +- *vec_base.f128++ = *arg.f128++; ++ memcpy (vec_base.f128++, arg.f128, sizeof (float128)); + else +- *next_arg.f128 = *arg.f128++; ++ memcpy (next_arg.f128, arg.f128++, sizeof (float128)); + if (++next_arg.f128 == gpr_end.f128) + next_arg.f128 = rest.f128; + vecarg_count++; +@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif, + do + { + if (pvec < end_pvec && i < nfixedargs) +- *to.f128 = *pvec++; ++ memcpy (to.f128, pvec++, sizeof (float128)); + else +- *to.f128 = *from.f128; ++ memcpy (to.f128, from.f128, sizeof (float128)); + to.f128++; + from.f128++; + } +diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h +index 5ee2a70..8e2f2f0 100644 +--- a/src/powerpc/ffi_powerpc.h ++++ b/src/powerpc/ffi_powerpc.h +@@ -62,7 +62,7 @@ typedef _Float128 float128; + #elif defined(__FLOAT128__) + typedef __float128 float128; + #else +-typedef __int128 float128; ++typedef char float128[16] __attribute__((aligned(16))); + #endif + + void FFI_HIDDEN ffi_closure_SYSV (void); +diff --git a/src/powerpc/sysv.S b/src/powerpc/sysv.S +index 1474ce7..df97734 100644 +--- a/src/powerpc/sysv.S ++++ b/src/powerpc/sysv.S +@@ -104,17 +104,16 @@ ENTRY(ffi_call_SYSV) + bctrl + + /* Now, deal with the return value. */ +- mtcrf 0x01,%r31 /* cr7 */ ++ mtcrf 0x03,%r31 /* cr6-cr7 */ + bt- 31,L(small_struct_return_value) + bt- 30,L(done_return_value) + #ifndef __NO_FPRS__ + bt- 29,L(fp_return_value) + #endif + stw %r3,0(%r30) +- bf+ 28,L(done_return_value) ++ bf+ 27,L(done_return_value) + stw %r4,4(%r30) +- mtcrf 0x02,%r31 /* cr6 */ +- bf 27,L(done_return_value) ++ bf 26,L(done_return_value) + stw %r5,8(%r30) + stw %r6,12(%r30) + /* Fall through... */ +@@ -145,10 +144,9 @@ L(done_return_value): + #ifndef __NO_FPRS__ + L(fp_return_value): + .cfi_restore_state +- bf 28,L(float_return_value) ++ bf 27,L(float_return_value) + stfd %f1,0(%r30) +- mtcrf 0x02,%r31 /* cr6 */ +- bf 27,L(done_return_value) ++ bf 26,L(done_return_value) + stfd %f2,8(%r30) + b L(done_return_value) + L(float_return_value): +-- +2.26.0 + diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-deprecation.patch index 6a08e56351..6a08e56351 100644 --- a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch +++ b/gnu/packages/patches/python2-pygobject-2-deprecation.patch diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index 37f2efa479..627b941871 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,8 @@ #:use-module (guix gexp) #:use-module (gnu services) #:use-module (gnu services shepherd) + #:use-module (gnu system shadow) + #:use-module (gnu packages admin) #:use-module (gnu packages mpd) #:use-module (guix records) #:use-module (ice-9 match) @@ -135,19 +138,19 @@ audio_output { (define (mpd-shepherd-service config) (shepherd-service (documentation "Run the MPD (Music Player Daemon)") + (requirement '(user-processes)) (provision '(mpd)) (start #~(make-forkexec-constructor (list #$(file-append mpd "/bin/mpd") "--no-daemon" #$(mpd-config->file config)) - #:pid-file #$(mpd-file-name config "pid") #:environment-variables ;; Required to detect PulseAudio when run under a user account. - '(#$(string-append - "XDG_RUNTIME_DIR=/run/user/" - (number->string + (list (string-append + "XDG_RUNTIME_DIR=/run/user/" + (number->string (passwd:uid - (getpwnam (mpd-configuration-user config)))))) + (getpwnam #$(mpd-configuration-user config)))))) #:log-file #$(mpd-file-name config "log"))) (stop #~(make-kill-destructor)))) @@ -158,10 +161,26 @@ audio_output { (define %user (getpw #$(mpd-configuration-user config))) - (let ((directory #$(mpd-file-name config ""))) + (let ((directory #$(mpd-file-name config ".mpd"))) (mkdir-p directory) (chown directory (passwd:uid %user) (passwd:gid %user)))))) + +(define %mpd-accounts + ;; Default account and group for MPD. + (list (user-group (name "mpd") (system? #t)) + (user-account + (name "mpd") + (group "mpd") + (system? #t) + (comment "Music Player Daemon (MPD) user") + + ;; Note: /var/run/mpd hosts one sub-directory per user, of which + ;; /var/run/mpd/mpd corresponds to the "mpd" user. + (home-directory "/var/run/mpd/mpd") + + (shell (file-append shadow "/sbin/nologin"))))) + (define mpd-service-type (service-type (name 'mpd) @@ -169,6 +188,8 @@ audio_output { (extensions (list (service-extension shepherd-root-service-type (compose list mpd-shepherd-service)) + (service-extension account-service-type + (const %mpd-accounts)) (service-extension activation-service-type mpd-service-activation))) (default-value (mpd-configuration)))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 21d777a3fe..07a59a3cd2 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -224,6 +224,12 @@ substitutable." (use-modules (guix build utils) (gnu build vm)) + ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded + ;; by 'estimated-partition-size' below. + (setenv "GUIX_LOCPATH" + #+(file-append glibc-utf8-locales "/lib/locale")) + (setlocale LC_ALL "en_US.utf8") + (let* ((native-inputs '#+(list qemu (canonical-package coreutils))) (linux (string-append @@ -655,7 +661,14 @@ of the GNU system as described by OS." 'dce))) - (let* ((os (operating-system (inherit os) + (let* ((os (operating-system + (inherit os) + + ;; As in 'virtualized-operating-system', use BIOS-style GRUB. + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/vda"))) + ;; Assume we have an initrd with the whole QEMU shebang. ;; Force our own root file system. Refer to it by UUID so that diff --git a/gnu/tests/audio.scm b/gnu/tests/audio.scm index 8eadaf02e1..7bf7d4ef14 100644 --- a/gnu/tests/audio.scm +++ b/gnu/tests/audio.scm @@ -28,9 +28,7 @@ (define %mpd-os (simple-operating-system - (service mpd-service-type - (mpd-configuration - (user "root"))))) + (service mpd-service-type))) (define (run-mpd-test) "Run tests in %mpd-os, which has mpd running." @@ -62,9 +60,14 @@ (start-service 'mpd)) marionette)) - (test-assert "mpc connect" + (test-assert "mpd listening" + ;; Wait until mpd is actually listening before spawning 'mpc'. + (wait-for-tcp-port 6600 marionette)) + + (test-equal "mpc connect" + 0 (marionette-eval - '(zero? (system #$(file-append mpd-mpc "/bin/mpc"))) + '(system* #$(file-append mpd-mpc "/bin/mpc")) marionette)) (test-end) diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm index ea6c9a33fe..c70c3ddb9e 100644 --- a/gnu/tests/docker.scm +++ b/gnu/tests/docker.scm @@ -27,8 +27,9 @@ #:use-module (gnu services networking) #:use-module (gnu services docker) #:use-module (gnu services desktop) - #:use-module (gnu packages docker) + #:use-module ((gnu packages base) #:select (glibc)) #:use-module (gnu packages guile) + #:use-module (gnu packages docker) #:use-module (guix gexp) #:use-module (guix grafts) #:use-module (guix monads) @@ -206,7 +207,7 @@ inside %DOCKER-OS." ;; load' must be able to store the whole image into memory, hence the ;; huge memory requirements. We should avoid the volatile-root setup ;; instead. - (memory-size 3500) + (memory-size 4000) (port-forwardings '()))) (define test @@ -298,5 +299,9 @@ inside %DOCKER-OS." (description "Run a system image as produced by @command{guix system docker-image} inside Docker.") (value (with-monad %store-monad - (>>= (system-docker-image (simple-operating-system)) + (>>= (system-docker-image (operating-system + (inherit (simple-operating-system)) + ;; Use locales for a single libc to + ;; reduce space requirements. + (locale-libcs (list glibc)))) run-docker-system-test))))) diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm index da729ddcc9..5d04af38fb 100644 --- a/gnu/tests/nfs.scm +++ b/gnu/tests/nfs.scm @@ -404,7 +404,7 @@ directories can be mounted.") (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - (gexp->derivation "nfs-server-test" test)) + (gexp->derivation "nfs-root-fs-test" test)) (define %test-nfs-root-fs (system-test diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index 230aa9edf9..d3cf19c913 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> ;;; @@ -285,6 +285,10 @@ HTTP-PORT." '(file-exists? "/srv/git/test") marionette)) + (test-assert "fcgiwrap listens" + ;; Wait for fcgiwrap to be ready before cloning. + (wait-for-tcp-port 9000 marionette)) + ;; Make sure we can clone the repo from the host. (test-equal "clone" '#$README-contents |