From patchwork Mon Mar 14 22:47:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Timothy Sample X-Patchwork-Id: 663 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 B0A8227BBE9; Mon, 14 Mar 2022 22:48:10 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C281927BBEA for ; Mon, 14 Mar 2022 22:48:09 +0000 (GMT) Received: from localhost ([::1]:47364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nTtU0-000402-V1 for patchwork@mira.cbaines.net; Mon, 14 Mar 2022 18:48:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTtTu-0003zu-2k for guix-patches@gnu.org; Mon, 14 Mar 2022 18:48:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:52960) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nTtTt-00032o-PB for guix-patches@gnu.org; Mon, 14 Mar 2022 18:48:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nTtTt-0004mw-Nw for guix-patches@gnu.org; Mon, 14 Mar 2022 18:48:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#54394] [PATCH core-updates 00/12] Remove old GNU utilities from early bootstrap Resent-From: Timothy Sample Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 14 Mar 2022 22:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54394 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 54394@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.164729807818392 (code B ref -1); Mon, 14 Mar 2022 22:48:01 +0000 Received: (at submit) by debbugs.gnu.org; 14 Mar 2022 22:47:58 +0000 Received: from localhost ([127.0.0.1]:46857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTtTp-0004mZ-V1 for submit@debbugs.gnu.org; Mon, 14 Mar 2022 18:47:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:53052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTtTo-0004mM-6Y for submit@debbugs.gnu.org; Mon, 14 Mar 2022 18:47:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTtTn-0003zi-Vl for guix-patches@gnu.org; Mon, 14 Mar 2022 18:47:56 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:44327) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTtTl-00032P-Dc for guix-patches@gnu.org; Mon, 14 Mar 2022 18:47:55 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 539BE5C027E for ; Mon, 14 Mar 2022 18:47:52 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 14 Mar 2022 18:47:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=uSVAnv4MqVK/frw0N senZaypDwmMTRuGgyWQ0Xc8ZKU=; b=l5bFXZx52K8L24LtEjpi/WHw9qR7cumZQ /0plvnhvYmmf32aBV556jqZmSzx5uPpE7FLswPGVVqbbzVpQZPNRSraqLrrCwgBr 1+EZBSTrdFf+ehVbFf0rxghgJf4ZBMhJDOqcns2GxJ6HttJkjvlAJEQzdgB1/z44 wt5N3zzB+S3DymNJ2aLrBEpUTxHFRtwmBvIKDSqtrFlrLrXyOwOBHBaQrdfaAinY l7QZSCmDpP6Oo12MypIXkVcMN9Pf6ob05N2lWf5v7SMi8/M49ifABBxvVQpBL6Lc ME3Y1mbzH4G4Ri+Dkx6Jtj3Vg6v2cNoHOLNcvwi6sn/J80DTS26rw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddvlecutefuodetggdotefrodftvfcurf hrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecunecujfgurhephffvufffkfgfgggtgfesthhqredttderje enucfhrhhomhepvfhimhhothhhhicuufgrmhhplhgvuceoshgrmhhplhgvthesnhhghihr ohdrtghomheqnecuggftrfgrthhtvghrnheptedtieelgfefveevtdevffdtveeggeehge eljeekleegjefggfeludetgfdvvdeunecuffhomhgrihhnpegsohhothhsthhrrghpphgr sghlvgdrohhrghdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepshgrmhhplhgvthesnhhghihrohdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 14 Mar 2022 18:47:51 -0400 (EDT) From: Timothy Sample Date: Mon, 14 Mar 2022 16:47:50 -0600 Message-ID: <87v8wg40dl.fsf@ngyro.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Received-SPF: pass client-ip=66.111.4.29; envelope-from=samplet@ngyro.com; helo=out5-smtp.messagingengine.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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 Hi all! This is culmination of a lot of work, so I’m excited to be submitting it! The main thrust of this series is to update Gash and Gash-Utils, and then remove most of the old GNU utilities we use during early bootstrap. To elaborate, the current situation is that we climb a ladder through time: first we build Bash 2, then we build Bash 4, and finally we build Bash 5. This is true for most GNU utilities: Sed, Gawk, Coreutils, etc. The reason? Until now, our Scheme implementations of those utilities (Gash and Gash-Utils) were very limited. Bash 2 used to be a lot more useful then Gash, for example. Now, with recent releases of Gash and Gash-Utils, the Scheme utilities are, in general, capable of powering the builds of modern GNU software. To be clear, we still climb the time-ladder in a few cases. The main ones are GCC, Glibc, and Binutils. For example, we have to use GCC 2 to transition from TCC To GCC 4 (which is the last non-C++ GCC [1]). Fixing this would require quite a bit of TCC hacking, I imagine. There are others, though. We still use old versions of Gzip, Make, patch, and Gawk. The fact that Gawk is still there disappoints me quite a bit, but ‘glibc-mesboot’ fails in a way that I just can’t figure out when building with Gash-Utils. Gzip is not strictly necessary, but also pretty easy to replace. I’m not sure, but I think patch is only there to avoid using patches in ‘origin’ records during bootstrap. We now have a way to do that, so it may no longer be necessary. Make will likely need to be rewritten in Scheme, but we have a head start: Potato Make [2]. [1] https://bootstrappable.org/projects.html [2] https://github.com/spk121/potato-make Here’s some detailed info for reviewers. The first patch is pretty independent. That testing package has been broken since GNU Hello was upgraded to 2.11. The next two patches spruce up the ‘gnu-bootstrap’ module. One fixes an omission, and the other gets it ready to handle Gash-Utils 0.2.0, which unfortunately has two module directories. The next three are updates. The bootar update optimistically assumes that someone with access will upload the source file to the Guix mirror URL: “mirror://gnu/guix/...” as was done with previous versions. The rest hopefully speak for themselves. Sadly, the last one is something of a jumble. Originally I wanted to remove the utilities one at a time, but it turns out there are interference effects. I can’t remember the exact details now, but to get an idea, removing both old Bash and old Grep might work, but removing one and then the other (in either order) might not. Hence, many utilities get updated in one commit. I have built this series all the way to the ‘hello’ package (the regular one, not the ‘-mesboot’ one). Based on that, I assume that everything should be fine. There’s always room for surprises, though! :) Let me know what you think. Timothy Sample (12): gnu: hello-mesboot: Downgrade to 2.10. gnu-bootstrap: Configure PACKAGE_NAME. gnu-bootstrap: Allow multiple module directories. gnu: gash-utils: Update to 0.2.0. gnu: bootar: Update to 1b. gnu: gash: Update to 0.3.0. gnu: gash-utils-boot: Create 'echo' wrapper. gnu: bzip2-mesboot: Remove package. gnu: sed-mesboot0: Remove package. gnu: binutils-mesboot0: Update to 2.20.1a. gnu: %boot-tcc-inputs: Remove extra "gash-utils". gnu: commencement: Remove many old utilities. gnu/local.mk | 1 - gnu/packages/commencement.scm | 895 ++++-------------- gnu/packages/patches/gash-utils-ls-test.patch | 25 - gnu/packages/shells.scm | 27 +- guix/build/gnu-bootstrap.scm | 32 +- 5 files changed, 192 insertions(+), 788 deletions(-) delete mode 100644 gnu/packages/patches/gash-utils-ls-test.patch -- Tim