From patchwork Wed Dec 2 18:23:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Famulari X-Patchwork-Id: 25545 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E986627BBFA; Wed, 2 Dec 2020 18:25:14 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DCF1727BBF9 for ; Wed, 2 Dec 2020 18:25:13 +0000 (GMT) Received: from localhost ([::1]:37994 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kkWoT-0000m5-12 for patchwork@mira.cbaines.net; Wed, 02 Dec 2020 13:25:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkWoI-0000lt-CX for guix-patches@gnu.org; Wed, 02 Dec 2020 13:25:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:54039) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kkWoI-0008Tm-4h for guix-patches@gnu.org; Wed, 02 Dec 2020 13:25:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kkWoI-00062C-0J for guix-patches@gnu.org; Wed, 02 Dec 2020 13:25:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45014] QEMU 5.2.0 update - functions properly but still work in progress Resent-From: Leo Famulari Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 02 Dec 2020 18:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45014 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 45014@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160693345323119 (code B ref -1); Wed, 02 Dec 2020 18:25:01 +0000 Received: (at submit) by debbugs.gnu.org; 2 Dec 2020 18:24:13 +0000 Received: from localhost ([127.0.0.1]:37349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kkWnP-00060i-QA for submit@debbugs.gnu.org; Wed, 02 Dec 2020 13:24:13 -0500 Received: from lists.gnu.org ([209.51.188.17]:37388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kkWnN-00060a-Kd for submit@debbugs.gnu.org; Wed, 02 Dec 2020 13:24:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48640) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkWnN-00005R-Cb for guix-patches@gnu.org; Wed, 02 Dec 2020 13:24:05 -0500 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:59139) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkWnI-0008Mu-7c for guix-patches@gnu.org; Wed, 02 Dec 2020 13:24:05 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 58F3AA52; Wed, 2 Dec 2020 13:23:58 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Wed, 02 Dec 2020 13:23:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:subject:message-id:mime-version:content-type; s= mesmtp; bh=Gr7RIRhIfToiTGHh+AWO/H8ZNgT0+ITKxfQFH53tY4Y=; b=DJ/4o /dpsxsPk7Cyuwlngwuf35t5cx2o2UQixE3q1bK6j+yY2ImeGpxZm4XrkYbc3mYhY LP33HAlVma59WonGZN2yvqndRqezE9ulKZvVyrpV0gGAKNDxqrBm+D23yukEKO9O EdwgpunhLq2DPTMsc29XkomoLuMOy1YogQtebY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=Gr7RIRhIfToiTGHh+AWO/H8ZNgT0+ ITKxfQFH53tY4Y=; b=VWAJl9GYylXppEiUyzA1cFflHTbYXpsk91jh1jOWMKVgo 1BsEqv98CYPYvGmVg1nBu7KpY6q8kZgz+2Asc7QfqOiKCvRRDeVKpttp+FUEwX1e ica3iUeDNJw2KzhIQ5pFxIiqdLe4XyRqwVURF8Xu6PK+g3p2Z+eBzxYCK/5vQ1v0 62oUTuL40qRiqhdyi5CM3Q8XP1gex3vjGZDGajRDkv3OWVt7SoYIyb5d3wfiD25k nWrqK/0RXsc9lPaWZGStWfzjJyElMaV9AHbWsWSdhxPl9+kHNsHZ9ZizxZjom5DE kHTBzPv0nbbKosDaAYpTJ+lym5kU6fx3PrT52exGw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudeigedguddufecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfggtggusehgtderre dttddvnecuhfhrohhmpefnvghoucfhrghmuhhlrghrihcuoehlvghosehfrghmuhhlrghr ihdrnhgrmhgvqeenucggtffrrghtthgvrhhnpeejieeutdffleegudehgefhhfduueeule evveeggeehveffkeeihfevvdfhkeefvdenucfkphepjeefrddugedurdduvdejrddugeei necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgvoh esfhgrmhhulhgrrhhirdhnrghmvg X-ME-Proxy: Received: from localhost (c-73-141-127-146.hsd1.pa.comcast.net [73.141.127.146]) by mail.messagingengine.com (Postfix) with ESMTPA id 412E124005D for ; Wed, 2 Dec 2020 13:23:57 -0500 (EST) Date: Wed, 2 Dec 2020 13:23:55 -0500 From: Leo Famulari Message-ID: MIME-Version: 1.0 Content-Disposition: inline Received-SPF: pass client-ip=64.147.123.24; envelope-from=leo@famulari.name; helo=wout1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Here is a patch that updates QEMU to 5.2.0-rc4. The big change here is that the build system has changed to use Meson and Ninja "under the hood", although this release still uses `./configure && make` in a superficial way. With this patch, the qemu and qemu-minimal packages build and can boot Guix VMs created with the `guix system` commands. There are still two open tasks that require assistance: 1) The patch that makes Sphinx build an info manual will need to be adapted to the meson build system. Ideally, this would be submitted upstream. 2) The ./configure step is considered "stale" in the build phase and thus gets run twice. You can add "--trace" to #:make-flags to trace the Makefile and try to understand what's wrong (shown below). I'm no Make expert but, AFAICT, there are some PHONY targets that depend on the output of the configure step, config-host.mak, so it may be an upstream bug. But I might be misunderstanding it. I asked on the QEMU IRC but didn't get a useful answer. ------ starting phase `build' GNUmakefile:10: update target 'all' due to: force echo 'changing dir to build for make ""...' changing dir to build for make ""... make -C build -f Makefile make[1]: Entering directory '/tmp/guix-build-qemu-minimal-5.2.0-rc4.drv-0/qemu-5.2.0-rc4/build' Makefile:109: update target 'config-host.mak' due to: /tmp/guix-build-qemu-minimal-5.2.0-rc4.drv-0/qemu-5.2.0-rc4/pc-bios echo config-host.mak is out-of-date, running configure config-host.mak is out-of-date, running configure if test -f meson-private/coredata.dat; then \ ./config.status --skip-meson; \ else \ ./config.status && touch build.ninja.stamp; \ fi ------ From 37e261512f5b3a3e7544c31d2b001d71c547d08c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 28 Nov 2020 00:33:13 -0500 Subject: [PATCH] WIP: QEMU: Update to 5.2.0-rc4. * gnu/packages/virtualization.scm (qemu): Update to 5.2.0-rc4. [source]: TODO Update patch building the info manual. [arguments]: Adjust the 'disable-unusable-tests' for the new Meson build system. Generalize the 'patch-/bin/sh-references' into a 'patch-paths' phase, and move an instance of path patching into it from the 'configure' phase. [native-inputs]: Add ninja. * gnu/packages/patches/qemu-build-info-manual.patch: Adjust to 5.2.0-rc4. --- gnu/packages/virtualization.scm | 34 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 466e9d1ac5..e2b2508efa 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -80,6 +80,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) + #:use-module (gnu packages ninja) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) @@ -132,15 +133,16 @@ (define-public qemu (package (name "qemu") - (version "5.1.0") + (version "5.2.0-rc4") (source (origin (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) (sha256 (base32 - "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) - (patches (search-patches "qemu-build-info-manual.patch")))) + "10xsnw9sscknb6abd4h45k6gjzhqpdrvk9h8djbh7y1vh1zg76i9")) +; (patches (search-patches "qemu-build-info-manual.patch")) +)) (outputs '("out" "doc")) ;4.7 MiB of HTML docs (build-system gnu-build-system) (arguments @@ -188,30 +190,28 @@ (string-append match "9"))))) (add-after 'unpack 'disable-unusable-tests (lambda _ - (substitute* "tests/Makefile.include" + (substitute* "tests/meson.build" ;; Comment out the test-qga test, which needs /sys and ;; fails within the build environment. - (("check-unit-.* tests/test-qga" all) + (("tests.*test-qga.*$" all) (string-append "# " all)) ;; Comment out the test-char test, which needs networking and ;; fails within the build environment. - (("check-unit-.* tests/test-char" all) - (string-append "# " all))) - (substitute* "tests/qtest/Makefile.include" - ;; Disable the following test, which triggers a crash on some - ;; x86 CPUs (see https://issues.guix.info/43048 and - ;; https://bugs.launchpad.net/qemu/+bug/1896263). - (("check-qtest-i386-y \\+= bios-tables-test" all) + (("'test-char':.*$" all) (string-append "# " all))) #t)) - (add-after 'patch-source-shebangs 'patch-/bin/sh-references + (add-after 'patch-source-shebangs 'patch-embedded-shebangs (lambda _ ;; Ensure the executables created by these source files reference ;; /bin/sh from the store so they work inside the build container. (substitute* '("block/cloop.c" "migration/exec.c" "net/tap.c" "tests/qtest/libqtest.c") (("/bin/sh") (which "sh"))) + (substitute* "tests/qemu-iotests/check" + (("#!/usr/bin/env python3") + (string-append "#!" (which "python3")))) #t)) + ;; XXX ./configure is being re-run at beginning of build phase... (replace 'configure (lambda* (#:key inputs outputs (configure-flags '()) #:allow-other-keys) @@ -220,14 +220,9 @@ (let ((out (assoc-ref outputs "out"))) (setenv "SHELL" (which "bash")) - ;; While we're at it, patch for tests. - (substitute* "tests/qemu-iotests/check" - (("#!/usr/bin/env python3") - (string-append "#!" (which "python3")))) - ;; Ensure config.status gets the correct shebang off the bat. ;; The build system gets confused if we change it later and - ;; attempts to re-run the whole configury, and fails. + ;; attempts to re-run the whole configuration, and fails. (substitute* "configure" (("#!/bin/sh") (string-append "#!" (which "sh")))) @@ -302,6 +297,7 @@ exec smbd $@"))) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper) ("python-sphinx" ,python-sphinx) + ("ninja" ,ninja) ("texinfo" ,texinfo))) (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer")