From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 15:27:55 2019 Received: (at submit) by debbugs.gnu.org; 2 Apr 2019 19:27:55 +0000 Received: from localhost ([127.0.0.1]:41731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP4c-0003AX-T5 for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:27:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36664) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP4b-0003AL-Pd for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:27:54 -0400 Received: from lists.gnu.org ([209.51.188.17]:50750) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBP4W-00022E-Ip for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:27:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51044) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBP4V-00057e-Mm for guix-patches@gnu.org; Tue, 02 Apr 2019 15:27:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBP4U-00020d-TH for guix-patches@gnu.org; Tue, 02 Apr 2019 15:27:47 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:40372) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBP4U-0001yt-Ko for guix-patches@gnu.org; Tue, 02 Apr 2019 15:27:46 -0400 Received: from dayas.3.home (178.113.188.65.wireless.dyn.drei.com [178.113.188.65]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 53D9A336048F; Tue, 2 Apr 2019 21:27:44 +0200 (CEST) From: Danny Milosavljevic To: guix-patches@gnu.org Subject: [PATCH 0/3] Add support for loadable modules. Date: Tue, 2 Apr 2019 21:27:29 +0200 Message-Id: <20190402192729.5262-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 85.13.145.193 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Danny Milosavljevic (2): gnu: Add make-linux-module. gnu: linux-libre: Disable module versioning. Pierre Neidhardt (1): gnu: Add vhba-module-linux-libre. .../aux-files/linux-libre/5.0-x86_64.conf | 2 +- gnu/packages/linux.scm | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 15:29:05 2019 Received: (at 35110) by debbugs.gnu.org; 2 Apr 2019 19:29:05 +0000 Received: from localhost ([127.0.0.1]:41737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5l-0003Cx-7g for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:05 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:37524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5j-0003Cn-LB for 35110@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:04 -0400 Received: from dayas.3.home (178.113.188.65.wireless.dyn.drei.com [178.113.188.65]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 7A3D5336048F; Tue, 2 Apr 2019 21:29:02 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH 1/3] gnu: Add make-linux-module. Date: Tue, 2 Apr 2019 21:28:53 +0200 Message-Id: <20190402192855.5314-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190402192729.5262-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/linux.scm (make-linux-module): New procedure. --- gnu/packages/linux.scm | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9e4261eb02..55a314258f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -415,6 +415,72 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) +;; FIXME: Remove CONFIG_MODULE_SRCVERSION_ALL=y from our configs. +(define (make-linux-module linux module) + "Given a LINUX package and a MODULE package, build MODULE using LINUX." + (let ((linux-source + (package + (inherit linux) + (name "linux-source") + (arguments + (substitute-keyword-arguments (package-arguments linux) + ((#:phases phases) + `(modify-phases ,phases + (replace 'build + (lambda _ + (invoke "make" "modules_prepare"))) + (delete 'strip) ; faster. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-lib-build (string-append out "/lib/modules/build"))) + ; TODO: Only preserve the minimum, i.e. [Kbuild], Kconfig, scripts, include, ".config". + (copy-recursively "." out-lib-build) + #t)))))))))) + (package + (inherit module) + (name (string-append (package-name module) "-" (package-name linux))) + (native-inputs + `(("linux-source" ,linux-source) + ("kmod" ,kmod) + ;("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION + ("gcc" ,gcc-7) + ,@(package-native-inputs module))) + (arguments + (substitute-keyword-arguments + (default-keyword-arguments (package-arguments module) + `(#:phases #f + #:make-flags '())) + ((#:phases phases) + `(modify-phases ,phases + (replace 'build + (lambda* (#:key inputs make-flags #:allow-other-keys) + (apply invoke "make" "-C" + (string-append (assoc-ref inputs "linux-source") + "/lib/modules/build") + (string-append "M=" (getcwd)) + make-flags))) + ;; This block was copied from make-linux-libre--only took the + ;; "modules_install" part. + (replace 'install + (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (moddir (string-append out "/lib/modules")) + (kmod (assoc-ref (or native-inputs inputs) "kmod"))) + ;; Install kernel modules + (mkdir-p moddir) + (invoke "make" + "-C" + (string-append (assoc-ref inputs "linux-source") + "/lib/modules/build") + (string-append "M=" (getcwd)) + (string-append "DEPMOD=" kmod "/bin/depmod") + (string-append "MODULE_DIR=" moddir) + (string-append "INSTALL_PATH=" out) + (string-append "INSTALL_MOD_PATH=" out) + "INSTALL_MOD_STRIP=1" + "modules_install"))))))))))) + (define %linux-libre-version "5.0.5") (define %linux-libre-hash "1yivxqprxfzhzid4qv9hpnb5i38kijrj2g2pyzz7niliya1c58li") From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 15:29:08 2019 Received: (at 35110) by debbugs.gnu.org; 2 Apr 2019 19:29:08 +0000 Received: from localhost ([127.0.0.1]:41740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5n-0003DL-J8 for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:07 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:37532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5k-0003Cv-QC for 35110@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:05 -0400 Received: from dayas.3.home (178.113.188.65.wireless.dyn.drei.com [178.113.188.65]) by dd26836.kasserver.com (Postfix) with ESMTPSA id D95E33363496; Tue, 2 Apr 2019 21:29:03 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH 2/3] gnu: Add vhba-module-linux-libre. Date: Tue, 2 Apr 2019 21:28:54 +0200 Message-Id: <20190402192855.5314-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190402192855.5314-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic , Pierre Neidhardt X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) From: Pierre Neidhardt * gnu/packages/linux.scm (vhba-module): New variable. (vhba-module-linux-libre): New variable. Export it. Signed-off-by: Danny Milosavljevic --- gnu/packages/linux.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 55a314258f..a2adb9b13d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -495,6 +495,34 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-5.0-patches #:configuration-file kernel-config)) +(define vhba-module + (package + (name "vhba-module") + (version "20170610") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/cdemu/vhba-module-" + version ".tar.bz2")) + (sha256 + (base32 + "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r")))) + (build-system gnu-build-system) + (arguments + ;; TODO: No tests? + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Kernel module that emulates SCSI devices") + (description "VHBA module provides a Virtual (SCSI) HBA, which is the link +between the CDemu userspace daemon and linux kernel.") + (license license:gpl2+))) + +(define-public vhba-module-linux-libre + (make-linux-module linux-libre vhba-module)) + (define %linux-libre-4.19-version "4.19.32") (define %linux-libre-4.19-hash "19bryl8nmnnnrfh91pc8q9yiayh5ca2nb6b32qyx6riahc5dy0i9") From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 15:29:08 2019 Received: (at 35110) by debbugs.gnu.org; 2 Apr 2019 19:29:08 +0000 Received: from localhost ([127.0.0.1]:41742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5o-0003DO-0C for submit@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:08 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:37546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBP5l-0003D4-Vn for 35110@debbugs.gnu.org; Tue, 02 Apr 2019 15:29:06 -0400 Received: from dayas.3.home (178.113.188.65.wireless.dyn.drei.com [178.113.188.65]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 1AF22336048F; Tue, 2 Apr 2019 21:29:05 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH 3/3] gnu: linux-libre: Disable module versioning. Date: Tue, 2 Apr 2019 21:28:55 +0200 Message-Id: <20190402192855.5314-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190402192855.5314-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * gnu/packages/aux-files/linux-libre/5.0-x86_64.conf: Remove CONFIG_MODULE_SRCVERSION_ALL. --- gnu/packages/aux-files/linux-libre/5.0-x86_64.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf index 9e1a7eff0e..193413110f 100644 --- a/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf @@ -794,7 +794,7 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODVERSIONS=y -CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SIG is not set # CONFIG_MODULE_COMPRESS is not set CONFIG_MODULES_TREE_LOOKUP=y From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 17:51:27 2019 Received: (at 35110) by debbugs.gnu.org; 2 Apr 2019 21:51:27 +0000 Received: from localhost ([127.0.0.1]:41840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBRJX-0006qG-1u for submit@debbugs.gnu.org; Tue, 02 Apr 2019 17:51:27 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:38221) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBRJU-0006q4-9g for 35110@debbugs.gnu.org; Tue, 02 Apr 2019 17:51:25 -0400 X-Originating-IP: 92.169.116.19 Received: from bababa (lfbn-1-4117-19.w92-169.abo.wanadoo.fr [92.169.116.19]) (Authenticated sender: pierre@atlas.engineer) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id DCE94240006; Tue, 2 Apr 2019 21:51:20 +0000 (UTC) From: Pierre Neidhardt To: Danny Milosavljevic , 35110@debbugs.gnu.org Subject: Re: [PATCH 2/3] gnu: Add vhba-module-linux-libre. In-Reply-To: <20190402192855.5314-2-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> <20190402192855.5314-2-dannym@scratchpost.org> Date: Tue, 02 Apr 2019 23:51:20 +0200 Message-ID: <87r2akyt2f.fsf@ambrevar.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Thanks for looking into this! Danny Milosavljevic writes: > +(define-public vhba-module-linux-libre > + (make-linux-module linux-libre vhba-module)) What is make-linux-module? I cannot find it on master :p =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAlyj2VgACgkQm9z0l6S7 zH+crgf+NH1pOfDT2HWRKwvfIAibmpqaQ0Ero9JkFrvkUxzo9XEQAuOegPt1RL7P wNMulVgB0Z49Qc8b3cSTU5hemj9XMlAOwJVRdj4XIFBeRUVvszxc3wMQeK8n4kbz iDhyHb1vJrACpXeC0i05W5X+6Vo00rM4u9INnPSryvR44QIgJLYULcMu/phIUqaF SUiA1uT9SkNBGwa268wbtfK9NN13HiV+9rvUvI5hZtC03mrTwMf9HG050WOjVbHE D5Ti5vlcbsG9OGjgrnMEUNAspJ7bWJvXDXWgkMMPOg+LRkNKnjbL5EXuEugr9Vh/ 4fV4EQHwip+OU7HFwVQ3C1M7qQQhhg== =pVfy -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 18:36:18 2019 Received: (at 35110) by debbugs.gnu.org; 2 Apr 2019 22:36:18 +0000 Received: from localhost ([127.0.0.1]:41849 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBS0w-0007vx-38 for submit@debbugs.gnu.org; Tue, 02 Apr 2019 18:36:18 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:52492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBS0t-0007vo-7I for 35110@debbugs.gnu.org; Tue, 02 Apr 2019 18:36:16 -0400 Received: from localhost (77.116.237.44.wireless.dyn.drei.com [77.116.237.44]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 7B5D03360D15; Wed, 3 Apr 2019 00:36:13 +0200 (CEST) Date: Wed, 3 Apr 2019 00:36:06 +0200 From: Danny Milosavljevic To: Pierre Neidhardt Subject: Re: [PATCH 2/3] gnu: Add vhba-module-linux-libre. Message-ID: <20190403003606.44e77e50@scratchpost.org> In-Reply-To: <87r2akyt2f.fsf@ambrevar.xyz> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> <20190402192855.5314-2-dannym@scratchpost.org> <87r2akyt2f.fsf@ambrevar.xyz> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/zypH84bojROsOGfUGdWgDQW"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/zypH84bojROsOGfUGdWgDQW Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable See PATCH 1/3, Message ID <20190402192855.5314-1-dannym@scratchpost.org> --Sig_/zypH84bojROsOGfUGdWgDQW Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlyj49YACgkQ5xo1VCww uqW18wf8DqNUr9lQYfGZfTxpfSkUIRWeReARFCidzKL93C+/MAxZNoVCFfwwvKsi TovbFDS3FPQMqc3MlLfAlsv/ykAqYegxChCBI780QFjc7Dep67KItF+/Cgm1//0f kTefcEBgu9grQg6ElrP0CoZ8bti1A5hDwFa2l/lw1qnu0a/cQrv4rXFP8XQ2+A3f ywbF1Ebt7SwzAE5UjrAWXuJSdnR6LWsX1onO3xjRzj1IIrRiHd9M00rRxf/CfM1s gXJsy6NO6qFv26eeouPuOsfs5C+B2PLvLQhngF9ZHMESGxA86b2u0bDgHQuGew7u PdZisF4DqyX3Vu9uVKv4Tnqwe6X8cQ== =Luhp -----END PGP SIGNATURE----- --Sig_/zypH84bojROsOGfUGdWgDQW-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 03 02:49:05 2019 Received: (at 35110) by debbugs.gnu.org; 3 Apr 2019 06:49:06 +0000 Received: from localhost ([127.0.0.1]:42053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBZho-0000uq-Dj for submit@debbugs.gnu.org; Wed, 03 Apr 2019 02:49:05 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:47081) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBZhl-0000uP-JY for 35110@debbugs.gnu.org; Wed, 03 Apr 2019 02:49:02 -0400 X-Originating-IP: 92.169.116.19 Received: from bababa (lfbn-1-4117-19.w92-169.abo.wanadoo.fr [92.169.116.19]) (Authenticated sender: pierre@atlas.engineer) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id B33A1C0006; Wed, 3 Apr 2019 06:48:57 +0000 (UTC) From: Pierre Neidhardt To: Danny Milosavljevic Subject: Re: [PATCH 2/3] gnu: Add vhba-module-linux-libre. In-Reply-To: <20190403003606.44e77e50@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> <20190402192855.5314-2-dannym@scratchpost.org> <87r2akyt2f.fsf@ambrevar.xyz> <20190403003606.44e77e50@scratchpost.org> Date: Wed, 03 Apr 2019 08:48:56 +0200 Message-ID: <87o95nziqv.fsf@ambrevar.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Brilliant! Thank you so much for this! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAlykV1gACgkQm9z0l6S7 zH9eVAgAg4wISRapEzvJGV4Gxzbs8eDfnPwERaoscWfRecNBv3dohFd5BQq49lT0 bqjA9yDTnYU0JHJ4VLjm7SvbrkdAvwcywpAccJ+0hTJsVn7dqkC0HwXfCBoyYKwh Ce3wtymvPZwPteFOpYQ9wGnIRSBf7sa3k+UXExl5oj/k52cRq/oR4WLGBcQsAIQZ 4gVZVNPlzJLq0J/tlWsWsfFsPwoWvYPu7prTzTWjgNMCjcT8gbPgBX4EmsDjvfKl Zanl3zlOtbPyedUanyGmq/7FpIAHVASA485TLJYzVsWEv9+vQ27fm6FfEGoG8kT4 JX6LsuHvKRKYflG5ZnT3mMoz4Uhr9A== =pMSt -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 03 16:16:22 2019 Received: (at 35110) by debbugs.gnu.org; 3 Apr 2019 20:16:22 +0000 Received: from localhost ([127.0.0.1]:43259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBmJ3-00005o-HX for submit@debbugs.gnu.org; Wed, 03 Apr 2019 16:16:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBmIy-00005Y-Pp for 35110@debbugs.gnu.org; Wed, 03 Apr 2019 16:16:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60469) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBmIt-0003Ii-9f; Wed, 03 Apr 2019 16:16:11 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=34112 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hBmIs-000869-Qm; Wed, 03 Apr 2019 16:16:11 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Danny Milosavljevic Subject: Re: [bug#35110] [PATCH 1/3] gnu: Add make-linux-module. References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> Date: Wed, 03 Apr 2019 22:16:07 +0200 In-Reply-To: <20190402192855.5314-1-dannym@scratchpost.org> (Danny Milosavljevic's message of "Tue, 2 Apr 2019 21:28:53 +0200") Message-ID: <87wokargjc.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Danny, Danny Milosavljevic skribis: > * gnu/packages/linux.scm (make-linux-module): New procedure. Neat! Would it make sense to turn it into a =E2=80=98linux-module-build-system=E2= =80=99? That would avoid having to create a package object that cannot be built, just to pass it to =E2=80=98make-linux-module=E2=80=99. =E2=80=98linux-libre=E2= =80=99 and =E2=80=98kmod=E2=80=99 would be implicit inputs. > +;; FIXME: Remove CONFIG_MODULE_SRCVERSION_ALL=3Dy from our configs. What does that flag do? > + (name (string-append (package-name module) "-" (package-name linux= ))) > + (native-inputs > + `(("linux-source" ,linux-source) > + ("kmod" ,kmod) > + ;("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDA= TION > + ("gcc" ,gcc-7) Is it OK to use the default GCC? Other than that it looks really cool! Thank you, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 03 16:48:36 2019 Received: (at 35110) by debbugs.gnu.org; 3 Apr 2019 20:48:37 +0000 Received: from localhost ([127.0.0.1]:43300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBmoE-0000tX-TA for submit@debbugs.gnu.org; Wed, 03 Apr 2019 16:48:35 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:51446) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBmoB-0000tM-B1 for 35110@debbugs.gnu.org; Wed, 03 Apr 2019 16:48:33 -0400 Received: from localhost (77.116.237.44.wireless.dyn.drei.com [77.116.237.44]) by dd26836.kasserver.com (Postfix) with ESMTPSA id D4A513360D77; Wed, 3 Apr 2019 22:48:29 +0200 (CEST) Date: Wed, 3 Apr 2019 22:48:23 +0200 From: Danny Milosavljevic To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Subject: Re: [bug#35110] [PATCH 1/3] gnu: Add make-linux-module. Message-ID: <20190403224823.66d25e12@scratchpost.org> In-Reply-To: <87wokargjc.fsf@gnu.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> <87wokargjc.fsf@gnu.org> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/l_rwo1yNuN3uiMmwH9f7Y6."; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/l_rwo1yNuN3uiMmwH9f7Y6. Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludo, On Wed, 03 Apr 2019 22:16:07 +0200 Ludovic Court=C3=A8s wrote: > Would it make sense to turn it into a =E2=80=98linux-module-build-system= =E2=80=99? =20 I started on it but haven't finished it yet. >That would avoid having to create a package object that cannot be built, j= ust It can be built, it's just not very useful standalone because it only conta= ins the source code and a few build artifacts (only the ones required to start building a module). On the other hand it can be substituted and that's nice (if we can cut down the source code a lot, that is). I don't understand how a build system would enable us to remove this step. (If it can, that's cool!) > to pass it to =E2=80=98make-linux-module=E2=80=99. =E2=80=98linux-libre= =E2=80=99 and =E2=80=98kmod=E2=80=99 would be > implicit inputs. >=20 > > +;; FIXME: Remove CONFIG_MODULE_SRCVERSION_ALL=3Dy from our configs. =20 >=20 > What does that flag do? It adds a field "srcversion" to the ELF file of the module which is a hash = of all the source files used to build it. Instead of removing it, we can also merge bug# 35111 instead and use that. Otherwise, the problem is that if CONFIG_MODULE_SRCVERSION_ALL is set and bug# 35111 not merged, one cannot build standalone modules because those would require the file "Module.symvers" of the completely built kernel to be available. Linux would also write a new file "Module.symvers" in the MODPOST step of the build of the module. > Is it OK to use the default GCC? Definitely not. It has to be exactly the same gcc as used in building the Linux kernel. > Other than that it looks really cool! It's just a quick hack. I've started with the build system but it was too much work and I didn't understand the mechanisms well enough. For example, the lowest maintenance overhead would be to somehow have most of linux-libre's phases be injected into the module package and have both build in one build environment. I.e. the module would have a package which would actually have phases 'unpack 'prepare-linux 'build 'check 'inst= all where all the phases except for 'prepare-linux would be module-specific and 'prepare-linux would unpack the linux source and do everything just like the linux-libre package would have done, up until the 'build phase. It turned out that's too complicated to get to work for me for now. --Sig_/l_rwo1yNuN3uiMmwH9f7Y6. Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlylHBcACgkQ5xo1VCww uqUqZwf/WcWRyzwxBFMSnEU+KT9yHCOedS8pqdhNK7iNhphWjXPg3/lrvAzws8KD 8p83YPYT2jG51W8hAFw/f7yzBt1GcKOLOyxSp0lIbmMyVaW3Bxx+wukhhQYPhJt/ G5PE07PQseDT2woONEEiyd/KGjZwMysO/hIyDCW80LwlFaARAeHKemyrFzKWRxlt 2Jm1HZ05kbncRolofpH//QlcnaTv2wRv5FpfxpSDK5eZJfD3tQ0RYrR4j31GfPR5 7yQId9WOHP6H168fhjzs80hKrc+kHjFXTLfOg9UT4bzN0E5KvFfeAaIHOzF2H+SU 0rUWjyt68pVcssBibzsHnPDtzA9Jyg== =pI7R -----END PGP SIGNATURE----- --Sig_/l_rwo1yNuN3uiMmwH9f7Y6.-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 04 03:48:46 2019 Received: (at 35110) by debbugs.gnu.org; 4 Apr 2019 07:48:46 +0000 Received: from localhost ([127.0.0.1]:43638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBx78-0006C6-Ew for submit@debbugs.gnu.org; Thu, 04 Apr 2019 03:48:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60605) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hBx76-0006Bt-81 for 35110@debbugs.gnu.org; Thu, 04 Apr 2019 03:48:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40865) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBx70-0000y1-KI; Thu, 04 Apr 2019 03:48:38 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=57004 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hBx70-0000E4-8J; Thu, 04 Apr 2019 03:48:38 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Danny Milosavljevic Subject: Re: [bug#35110] [PATCH 1/3] gnu: Add make-linux-module. References: <20190402192729.5262-1-dannym@scratchpost.org> <20190402192855.5314-1-dannym@scratchpost.org> <87wokargjc.fsf@gnu.org> <20190403224823.66d25e12@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 15 Germinal an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 04 Apr 2019 09:48:34 +0200 In-Reply-To: <20190403224823.66d25e12@scratchpost.org> (Danny Milosavljevic's message of "Wed, 3 Apr 2019 22:48:23 +0200") Message-ID: <87ef6ius6l.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Danny, Danny Milosavljevic skribis: > On Wed, 03 Apr 2019 22:16:07 +0200 > Ludovic Court=C3=A8s wrote: > >> Would it make sense to turn it into a =E2=80=98linux-module-build-system= =E2=80=99?=20=20 > > I started on it but haven't finished it yet. > >>That would avoid having to create a package object that cannot be built, = just > > It can be built, it's just not very useful standalone because it only con= tains > the source code and a few build artifacts (only the ones required to start > building a module). On the other hand it can be substituted and that's n= ice > (if we can cut down the source code a lot, that is). Can it be built (I=E2=80=99m talking about the =E2=80=98vhba-module=E2=80= =99 package that you sent)? I=E2=80=99d expect it to look for the Linux makefile snippet and to= fail at that point, no? > I don't understand how a build system would enable us to remove this step. > (If it can, that's cool!) We=E2=80=99d directly write: (define-public vhba-module (package (name "vhba-module") ;; =E2=80=A6 (build-system linux-module-build-system)) and that would abstract away the choice of dependencies (linux-libre, kmod, GCC) and the set of build phases. >> > +;; FIXME: Remove CONFIG_MODULE_SRCVERSION_ALL=3Dy from our configs.= =20=20 >>=20 >> What does that flag do? > > It adds a field "srcversion" to the ELF file of the module which is a has= h of > all the source files used to build it. > > Instead of removing it, we can also merge bug# 35111 instead and use that. > > Otherwise, the problem is that if CONFIG_MODULE_SRCVERSION_ALL is set and > bug# 35111 not merged, one cannot build standalone modules because those > would require the file "Module.symvers" of the completely built kernel > to be available. > > Linux would also write a new file "Module.symvers" in the MODPOST step of > the build of the module. OK. Sounds like we should merge #35111 then. > For example, the lowest maintenance overhead would be to somehow have > most of linux-libre's phases be injected into the module package and have > both build in one build environment. I.e. the module would have a package > which would actually have phases 'unpack 'prepare-linux 'build 'check 'in= stall > where all the phases except for 'prepare-linux would be module-specific a= nd > 'prepare-linux would unpack the linux source and do everything just > like the linux-libre package would have done, up until the 'build phase. > It turned out that's too complicated to get to work for me for now. What about factorizing these phases in a new (guix build linux-module-build-system) module, which would export them as =E2=80=98%standard-phases=E2=80=99? Then packages using =E2=80=98linux-mod= ule-build-system=E2=80=99 would use these phases by default, like we do for the other build systems. Does that make sense? Thank you, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 05 07:06:11 2019 Received: (at 35110) by debbugs.gnu.org; 5 Apr 2019 11:06:11 +0000 Received: from localhost ([127.0.0.1]:45091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfj-0004WV-Ai for submit@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:11 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:41356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfh-0004WE-CY for 35110@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:09 -0400 Received: from dayas.3.home (77.116.185.182.wireless.dyn.drei.com [77.116.185.182]) by dd26836.kasserver.com (Postfix) with ESMTPSA id E14B033629B8; Fri, 5 Apr 2019 13:06:06 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH v2 0/2] Add support for loadable modules. Date: Fri, 5 Apr 2019 13:05:48 +0200 Message-Id: <20190405110550.24168-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190402192729.5262-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Danny Milosavljevic (1): Add (guix build-system linux-module). Pierre Neidhardt (1): gnu: Add vhba-module. Makefile.am | 2 + gnu/packages/linux.scm | 23 ++++ guix/build-system/linux-module.scm | 166 +++++++++++++++++++++++ guix/build/linux-module-build-system.scm | 82 +++++++++++ 4 files changed, 273 insertions(+) create mode 100644 guix/build-system/linux-module.scm create mode 100644 guix/build/linux-module-build-system.scm From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 05 07:06:14 2019 Received: (at 35110) by debbugs.gnu.org; 5 Apr 2019 11:06:14 +0000 Received: from localhost ([127.0.0.1]:45093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfj-0004WY-JV for submit@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:13 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:41358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfh-0004WI-DT for 35110@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:10 -0400 Received: from dayas.3.home (77.116.185.182.wireless.dyn.drei.com [77.116.185.182]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 3F0233362C23; Fri, 5 Apr 2019 13:06:08 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH v2 1/2] Add (guix build-system linux-module). Date: Fri, 5 Apr 2019 13:05:49 +0200 Message-Id: <20190405110550.24168-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190405110550.24168-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190405110550.24168-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * Makefile.am (MODULES): Add them. --- Makefile.am | 2 + guix/build-system/linux-module.scm | 166 +++++++++++++++++++++++ guix/build/linux-module-build-system.scm | 82 +++++++++++ 3 files changed, 250 insertions(+) create mode 100644 guix/build-system/linux-module.scm create mode 100644 guix/build/linux-module-build-system.scm diff --git a/Makefile.am b/Makefile.am index c331da7267..ea07632526 100644 --- a/Makefile.am +++ b/Makefile.am @@ -120,6 +120,7 @@ MODULES = \ guix/build-system/gnu.scm \ guix/build-system/guile.scm \ guix/build-system/haskell.scm \ + guix/build-system/linux-module.scm \ guix/build-system/perl.scm \ guix/build-system/python.scm \ guix/build-system/ocaml.scm \ @@ -172,6 +173,7 @@ MODULES = \ guix/build/texlive-build-system.scm \ guix/build/waf-build-system.scm \ guix/build/haskell-build-system.scm \ + guix/build/linux-module-build-system.scm \ guix/build/store-copy.scm \ guix/build/utils.scm \ guix/build/union.scm \ diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm new file mode 100644 index 0000000000..3ed3351353 --- /dev/null +++ b/guix/build-system/linux-module.scm @@ -0,0 +1,166 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Danny Milosavljevic +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build-system linux-module) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix packages) + #:use-module (ice-9 match) + #:export (%linux-module-build-system-modules + linux-module-build + linux-module-build-system)) + +;; Commentary: +;; +;; Code: + +(define %linux-module-build-system-modules + ;; Build-side modules imported by default. + `((guix build linux-module-build-system) + ,@%gnu-build-system-modules)) + +(define (default-linux) + "Return the default Linux package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages linux)))) + (module-ref module 'linux-libre))) + +(define (default-kmod) + "Return the default kmod package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages linux)))) + (module-ref module 'kmod))) + +(define (default-gcc) + "Return the default gcc package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages gcc)))) + (module-ref module 'gcc-7))) + +(define (make-linux-module-builder linux) + (package + (inherit linux) + (name (string-append (package-name linux) "-module-builder")) + (arguments + (substitute-keyword-arguments (package-arguments linux) + ((#:phases phases) + `(modify-phases ,phases + (replace 'build + (lambda _ + (invoke "make" "modules_prepare"))) + (delete 'strip) ; faster. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-lib-build (string-append out "/lib/modules/build"))) + ; TODO: Only preserve the minimum, i.e. [Kbuild], Kconfig, scripts, include, ".config". + (copy-recursively "." out-lib-build) + #t))))))))) + +(define* (lower name + #:key source inputs native-inputs outputs + system target + (linux (default-linux)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:source #:target #:gcc #:kmod #:linux #:inputs #:native-inputs)) + + (and (not target) ;XXX: no cross-compilation + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ,@(standard-packages))) + (build-inputs `(("linux" ,linux) ; for "Module.symvers". + ("linux-module-builder" + ,(make-linux-module-builder linux)) + ,@native-inputs + ;; TODO: Remove "gmp", "mpfr", "mpc" since they are only needed to compile the gcc plugins. Maybe remove "flex", "bison", "elfutils", "perl", "openssl". That leaves very little ("bc", "gcc", "kmod"). + ,@(package-native-inputs linux))) + (outputs outputs) + (build linux-module-build) + (arguments (strip-keyword-arguments private-keywords arguments))))) + +(define* (linux-module-build store name inputs + #:key + (search-paths '()) + (tests? #t) + (phases '(@ (guix build linux-module-build-system) + %standard-phases)) + (outputs '("out")) + (system (%current-system)) + (guile #f) + (imported-modules + %linux-module-build-system-modules) + (modules '((guix build linux-module-build-system) + (guix build utils)))) + "Build SOURCE using LINUX, and with INPUTS." + (define builder + `(begin + (use-modules ,@modules) + (linux-module-build #:name ,name + #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:phases ,phases + #:system ,system + #:tests? ,tests? + #:outputs %outputs + #:inputs %build-inputs))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define linux-module-build-system + (build-system + (name 'linux-module) + (description "The Linux module build system") + (lower lower))) + +;;; linux-module.scm ends here diff --git a/guix/build/linux-module-build-system.scm b/guix/build/linux-module-build-system.scm new file mode 100644 index 0000000000..2da1d32652 --- /dev/null +++ b/guix/build/linux-module-build-system.scm @@ -0,0 +1,82 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Danny Milosavljevic +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build linux-module-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (ice-9 ftw) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (%standard-phases + linux-module-build)) + +;; Commentary: +;; +;; Builder-side code of linux-module build. +;; +;; Code: + +(define* (configure #:key inputs #:allow-other-keys) + #t) +; (let ((source (string-append (assoc-ref inputs "linux") +; "/Module.symvers"))) +; (if (file-exists? source) +; (install-file source out-lib-build)) +; #t)) + +(define* (build #:key inputs make-flags #:allow-other-keys) + (apply invoke "make" "-C" + (string-append (assoc-ref inputs "linux-module-builder") + "/lib/modules/build") + (string-append "M=" (getcwd)) + (or make-flags '()))) + +;; This block was copied from make-linux-libre--only took the "modules_install" +;; part. +(define* (install #:key inputs native-inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (moddir (string-append out "/lib/modules")) + (kmod (assoc-ref (or native-inputs inputs) "kmod"))) + ;; Install kernel modules + (mkdir-p moddir) + (invoke "make" "-C" + (string-append (assoc-ref inputs "linux-module-builder") + "/lib/modules/build") + (string-append "M=" (getcwd)) + (string-append "DEPMOD=" kmod "/bin/depmod") + (string-append "MODULE_DIR=" moddir) + (string-append "INSTALL_PATH=" out) + (string-append "INSTALL_MOD_PATH=" out) + "INSTALL_MOD_STRIP=1" + "modules_install"))) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (replace 'configure configure) + (replace 'build build) + (replace 'install install))) + +(define* (linux-module-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order, with a Linux kernel in attendance." + (apply gnu:gnu-build + #:inputs inputs #:phases phases + args)) + +;;; linux-module-build-system.scm ends here From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 05 07:06:16 2019 Received: (at 35110) by debbugs.gnu.org; 5 Apr 2019 11:06:16 +0000 Received: from localhost ([127.0.0.1]:45096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfo-0004Wx-4v for submit@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:16 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:41368) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hCMfk-0004Wf-4i for 35110@debbugs.gnu.org; Fri, 05 Apr 2019 07:06:14 -0400 Received: from dayas.3.home (77.116.185.182.wireless.dyn.drei.com [77.116.185.182]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 5B9A833629B8; Fri, 5 Apr 2019 13:06:11 +0200 (CEST) From: Danny Milosavljevic To: 35110@debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: Add vhba-module. Date: Fri, 5 Apr 2019 13:05:50 +0200 Message-Id: <20190405110550.24168-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190405110550.24168-1-dannym@scratchpost.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190405110550.24168-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110 Cc: Danny Milosavljevic , Pierre Neidhardt X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) From: Pierre Neidhardt * gnu/packages/linux.scm (vhba-module): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/linux.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e4f6e241ec..52ae0387d1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -118,6 +118,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix build-system linux-module) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -438,6 +439,28 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-5.0-patches #:configuration-file kernel-config)) +(define-public vhba-module + (package + (name "vhba-module") + (version "20170610") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/cdemu/vhba-module-" + version ".tar.bz2")) + (sha256 + (base32 + "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r")))) + (build-system linux-module-build-system) + (arguments + ;; TODO: No tests? + `(#:tests? #f)) + (home-page "https://cdemu.sourceforge.io/") + (synopsis "Kernel module that emulates SCSI devices") + (description "VHBA module provides a Virtual (SCSI) HBA, which is the link +between the CDemu userspace daemon and linux kernel.") + (license license:gpl2+))) + (define %linux-libre-4.19-version "4.19.33") (define %linux-libre-4.19-hash "147ksl3ksxdv2ifr18cbzq4647n9d7yr7kbxg02sljia7z3b70cm") From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 11 06:50:53 2019 Received: (at 35110) by debbugs.gnu.org; 11 Apr 2019 10:50:54 +0000 Received: from localhost ([127.0.0.1]:53916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEXID-0004QS-JQ for submit@debbugs.gnu.org; Thu, 11 Apr 2019 06:50:53 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEXIA-0004QE-Qc for 35110@debbugs.gnu.org; Thu, 11 Apr 2019 06:50:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52301) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEXI5-0006jr-3y; Thu, 11 Apr 2019 06:50:45 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=49706 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hEXI4-0001jH-ID; Thu, 11 Apr 2019 06:50:44 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Danny Milosavljevic Subject: Re: [bug#35110] [PATCH v2 1/2] Add (guix build-system linux-module). References: <20190402192729.5262-1-dannym@scratchpost.org> <20190405110550.24168-1-dannym@scratchpost.org> <20190405110550.24168-2-dannym@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Germinal an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 11 Apr 2019 12:50:42 +0200 In-Reply-To: <20190405110550.24168-2-dannym@scratchpost.org> (Danny Milosavljevic's message of "Fri, 5 Apr 2019 13:05:49 +0200") Message-ID: <87ftqo3jel.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35110 Cc: 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Danny, Danny Milosavljevic skribis: > * guix/build/linux-module-build-system.scm: New file. > * guix/build-system/linux-module.scm: New file. > * Makefile.am (MODULES): Add them. Awesome! > +(define* (configure #:key inputs #:allow-other-keys) > + #t) > +; (let ((source (string-append (assoc-ref inputs "linux") > +; "/Module.symvers"))) > +; (if (file-exists? source) > +; (install-file source out-lib-build)) > +; #t)) I think you should either remove this comment or add an explanation and/or a TODO. Could you also add a note in doc/guix.texi under =E2=80=9CBuild Systems=E2= =80=9D? Otherwise LGTM, thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 11 06:51:12 2019 Received: (at 35110) by debbugs.gnu.org; 11 Apr 2019 10:51:12 +0000 Received: from localhost ([127.0.0.1]:53920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEXIV-0004RL-UX for submit@debbugs.gnu.org; Thu, 11 Apr 2019 06:51:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEXIU-0004R9-FJ for 35110@debbugs.gnu.org; Thu, 11 Apr 2019 06:51:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52304) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEXIO-0006yc-Ux; Thu, 11 Apr 2019 06:51:05 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=49708 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hEXIO-0001jq-EG; Thu, 11 Apr 2019 06:51:04 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Danny Milosavljevic Subject: Re: [bug#35110] [PATCH v2 2/2] gnu: Add vhba-module. References: <20190402192729.5262-1-dannym@scratchpost.org> <20190405110550.24168-1-dannym@scratchpost.org> <20190405110550.24168-3-dannym@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Germinal an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 11 Apr 2019 12:51:03 +0200 In-Reply-To: <20190405110550.24168-3-dannym@scratchpost.org> (Danny Milosavljevic's message of "Fri, 5 Apr 2019 13:05:50 +0200") Message-ID: <87bm1c3je0.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 35110 Cc: Pierre Neidhardt , 35110@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Danny Milosavljevic skribis: > From: Pierre Neidhardt > > * gnu/packages/linux.scm (vhba-module): New variable. > > Signed-off-by: Danny Milosavljevic LGTM, thanks! Ludo'. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 11 11:53:55 2019 Received: (at 35110-done) by debbugs.gnu.org; 11 Apr 2019 15:53:56 +0000 Received: from localhost ([127.0.0.1]:55057 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEc1T-00069e-Ns for submit@debbugs.gnu.org; Thu, 11 Apr 2019 11:53:55 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:39786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEc1S-00069W-8k for 35110-done@debbugs.gnu.org; Thu, 11 Apr 2019 11:53:54 -0400 Received: from localhost (77.117.177.161.wireless.dyn.drei.com [77.117.177.161]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 306763360F47; Thu, 11 Apr 2019 17:53:52 +0200 (CEST) Date: Thu, 11 Apr 2019 17:53:47 +0200 From: Danny Milosavljevic To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Subject: Re: [bug#35110] [PATCH v2 1/2] Add (guix build-system linux-module). Message-ID: <20190411175347.3820b0d9@scratchpost.org> In-Reply-To: <87ftqo3jel.fsf@gnu.org> References: <20190402192729.5262-1-dannym@scratchpost.org> <20190405110550.24168-1-dannym@scratchpost.org> <20190405110550.24168-2-dannym@scratchpost.org> <87ftqo3jel.fsf@gnu.org> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/P541oWL3WWplzR/cjY0q5JP"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 35110-done Cc: 35110-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/P541oWL3WWplzR/cjY0q5JP Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludo, On Thu, 11 Apr 2019 12:50:42 +0200 Ludovic Court=C3=A8s wrote: > > +(define* (configure #:key inputs #:allow-other-keys) > I think you should either remove this comment or add an explanation > and/or a TODO. Added TODO. > Could you also add a note in doc/guix.texi under =E2=80=9CBuild Systems= =E2=80=9D? Did so. Pushed! --Sig_/P541oWL3WWplzR/cjY0q5JP Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlyvYwsACgkQ5xo1VCww uqUv/gf+NkXYIKRvSg6YVRAw7IoEL9Ab+H28wQ2hkC1NkTED8R6oBNFpME497sMe ZRA5Vu2xZVMPf0U0wlt2EXaQ+nz1o6aAPRkruFqsOteTtrclRGt5LmIR2EjYDaQs xLOEPqcOJ9Pozzh6a2NqANYmnRD4cLB+Q5rE0RhOk2cK4G/dKooZVDfopwSSXz6L kkLMs6OV7hDGj6BfBzpqrIW6LQuF3dIr6HNg2GZiBY59mlG2npbQqf4tgpw1r662 FPmimjIswZ+AJOFCqBqB0l/qE+U1Bou36CNAMkTodIZxvOe9H8M6953Plwu9hD4m 0v1rtNDwPCYUKpfbmF+uWy3HZrfmJQ== =E1Jd -----END PGP SIGNATURE----- --Sig_/P541oWL3WWplzR/cjY0q5JP-- From unknown Thu Jul 10 19:40:34 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 10 May 2019 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator