Message ID | 20230718054416.861412-2-tmgross@umich.edu |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1537097vqt; Mon, 17 Jul 2023 23:17:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlFT8hmbDlKdALB1CVBWy0UtuTMjOsmRQa2K21a5mZlTjFg6n/xbeAyKQsCA8ZBUqTcc44VA X-Received: by 2002:a05:6a20:9482:b0:131:5b6f:ccb6 with SMTP id hs2-20020a056a20948200b001315b6fccb6mr13153379pzb.19.1689661041439; Mon, 17 Jul 2023 23:17:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689661041; cv=none; d=google.com; s=arc-20160816; b=PlWXD4TJNkd5DmnOsfQJsvDV6I+CATNscz/NLP6nmOaA4fkwaPYXI47BsIsyQCcwUv s8xPpfLx4u4mSQ+boRJSEv8tg68e4QZMdVI02Vv1QuQvoyxbER3X62m83YFGqsuGtVYX MHdOg8rS/0KOVyLlKojvct/E5UoU4QJOCiFly21nEBycIjHIAYPQPnPbJyq6+WOISSh8 GN65k9YK+d+8xGLcR7XkBBcaD2p/MstCJWRxXvhMRzuuKL3auAtyhlziHM1Zju5f7BwL D7f8BAa/J9LtqYJiNzo3Kkc2ms4f6M6N5jZT0CvaQHWoAfC3M8hfFjO1SOiFyuzLuoE/ MvZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WWZmjNjUdtOVY6mFV4Fs1VBGqTdLbx+K3/EPKF1ZPXI=; fh=t4M4ZC0mNvfUyxmrvVgwN74hGybUenkJSb1js9kpyV8=; b=Ua7NDX867L/JICcjcayb323GkFVyeNhvRBLaDxEfbFJgRLjnRL/Wuif0r+SGq9zuei KJYbH3kW7fnaUhJfWRP/qaDZQrnlU+yiFBq+ygRQGDdMQw858wbtb3gJULHH1EFGG4CI y5fWAYsq8DXlnxEOekPo+mRe3k54jMwD7EXTpiUpu9JRr6qE/PfzRgGA3wgmYSSHqLkr DSL6jWuKdSpyv+ya18Ep3xSCnJlmoMyac4vONynfDWqLojwEfd0tFQEBPPp29pAtNO4z hz9wqJh1OPCt5LwQdJqkS3vZcw4ZVssiOG9iwHr421Vee4a1lBmnrUyW7vs3U16Fh7a4 pLNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umich.edu header.s=relay-2018-08-29 header.b=l8An3RRY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umich.edu Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z130-20020a633388000000b0055bbc6e2c6csi1102452pgz.491.2023.07.17.23.17.08; Mon, 17 Jul 2023 23:17:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@umich.edu header.s=relay-2018-08-29 header.b=l8An3RRY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=umich.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230505AbjGRGBn (ORCPT <rfc822;daweilics@gmail.com> + 99 others); Tue, 18 Jul 2023 02:01:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230451AbjGRGBk (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 18 Jul 2023 02:01:40 -0400 Received: from germane-culhwch.relay-egress.a.mail.umich.edu (relay-egress-host.us-east-2.a.mail.umich.edu [18.217.159.240]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED1B810C2; Mon, 17 Jul 2023 23:01:38 -0700 (PDT) Received: from jacinth-ogre.authn-relay.a.mail.umich.edu (ip-10-0-74-216.us-east-2.compute.internal [10.0.74.216]) by germane-culhwch.relay-egress.a.mail.umich.edu with ESMTPS id 64B62716.39D52385.317E5C5C.1115286; Tue, 18 Jul 2023 01:45:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umich.edu; s=relay-2018-08-29; t=1689659155; bh=WWZmjNjUdtOVY6mFV4Fs1VBGqTdLbx+K3/EPKF1ZPXI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=l8An3RRY+vM7LBin6JUJOpFfyyUZq2wzeCxFsxZt01beyoTemTgWzfAeQoT2FyIHD 8TxpLo1D3k8NddnESMD9ZosMtr3MVUFhmbDzAjEvo+iOUB8KcrgNJJwhhcKTgU2yKb Be1M8HkTYSDFpEWTCgHwIOs7r3Xs0SDYsISxc11xbJ/o3X7HC0Uwk67QaKl1JzR9uI hERsz3tuNTBgJbpvy2zkJlN5XoWnB8GZDaTeGw55mnc8pLrLk7T/TL+TOPYntmZW7T JS4LqjNh0HGmoz3ouipZTqkH1BYO1PhBnn5MntA9dA6dn8mRXxsozAAZNau4sCYBtd hIiy6cvSYX/VQ== Authentication-Results: jacinth-ogre.authn-relay.a.mail.umich.edu; iprev=permerror policy.iprev=68.32.216.219 (unknown); auth=pass smtp.auth=tmgross Received: from localhost.localdomain (unknown [68.32.216.219]) by jacinth-ogre.authn-relay.a.mail.umich.edu with ESMTPSA id 64B62713.1A83BD55.686D6C9.46279; Tue, 18 Jul 2023 01:45:55 -0400 From: Trevor Gross <tmgross@umich.edu> To: ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com, boqun.feng@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com, benno.lossin@proton.me, corbet@lwn.net Cc: linux-doc@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Trevor Gross <tmgross@umich.edu> Subject: [PATCH 1/2] docs: rust: update instructions for obtaining 'core' source Date: Tue, 18 Jul 2023 01:44:15 -0400 Message-Id: <20230718054416.861412-2-tmgross@umich.edu> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230718054416.861412-1-tmgross@umich.edu> References: <20230718054416.861412-1-tmgross@umich.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771738016113920003 X-GMAIL-MSGID: 1771738016113920003 |
Series |
docs: rust: update instructions on obtaining 'core' source
|
|
Commit Message
Trevor Gross
July 18, 2023, 5:44 a.m. UTC
The source for Rust's 'core' library is needed to build the kernel with
Rust support. This must be obtained manually when using a non-rustup
install, such as when using 'rustc' from a package manager or from a
standalone installer. Currently, the documentation suggests cloning the
'rust' repository to obtain these sources, but this is quite slow (on
the order of a few minutes).
This patch changes this documentation to suggest using the source
tarball instead, which includes only needed information (<5M) and is
significantly faster to download. This is more in line with what
'rustup' does.
Signed-off-by: Trevor Gross <tmgross@umich.edu>
---
Documentation/rust/quick-start.rst | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
Comments
On 7/18/23 02:44, Trevor Gross wrote: > The source for Rust's 'core' library is needed to build the kernel with > Rust support. This must be obtained manually when using a non-rustup > install, such as when using 'rustc' from a package manager or from a > standalone installer. Currently, the documentation suggests cloning the > 'rust' repository to obtain these sources, but this is quite slow (on > the order of a few minutes). > > This patch changes this documentation to suggest using the source > tarball instead, which includes only needed information (<5M) and is > significantly faster to download. This is more in line with what > 'rustup' does. > > Signed-off-by: Trevor Gross <tmgross@umich.edu> > --- > [...] Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Trevor Gross <tmgross@umich.edu> writes: > + curl -L https://static.rust-lang.org/dist/rust-src-$(scripts/min-tool-version.sh rustc).tar.gz | > + tar -xzf - -C $(rustc --print sysroot)/lib \ > + rust-src-$(scripts/min-tool-version.sh rustc)/rust-src/lib/ \ > + --strip-components=3 I think this assumes that the sysroot path has no spaces. I would add some quotes. With that fixed, you may add Reviewed-by: Alice Ryhl <aliceryhl@google.com> Alice
On Tue, Jul 18, 2023 at 7:50 AM Trevor Gross <tmgross@umich.edu> wrote: > > The source for Rust's 'core' library is needed to build the kernel with > Rust support. This must be obtained manually when using a non-rustup > install, such as when using 'rustc' from a package manager or from a What does "manually" mean here? I guess "setting it up by hand", but a distribution may provide a package for that (e.g. `rust-1.62-src` in Ubuntu), so it is essentially the same as with `rustup` in that case (i.e. when the distribution provides the means via the package manager). > standalone installer. Currently, the documentation suggests cloning the > 'rust' repository to obtain these sources, but this is quite slow (on > the order of a few minutes). > > This patch changes this documentation to suggest using the source > tarball instead, which includes only needed information (<5M) and is > significantly faster to download. This is more in line with what > 'rustup' does. If I recall correctly, the idea with the clone was to easily change the tag when migrating to another version (assuming the base path does not need to change across versions). But the tarball approach is likely better anyway, especially for the majority of users. > Signed-off-by: Trevor Gross <tmgross@umich.edu> It may be nice to add `Link: https://github.com/Rust-for-Linux/linux/pull/1024`, but I can do that on my side. In addition, commit messages should describe the changes in imperative mood. Many commits do not follow that convention, but it is what the kernel docs say, so we should try to adhere to it if possible. > -Otherwise, if a standalone installer is used, the Rust repository may be cloned > -into the installation folder of the toolchain:: > +Otherwise, if a standalone installer is used, the Rust source tree may be > +downloaded into the toolchain's installation folder:: Is the rewording (i.e. the Saxon genitive change) expected? Not a big deal, of course -- I am mentioning it since, in general, all changes should be mentioned so that that they are expected, e.g. with a quick "and improve the wording while at it". Cheers, Miguel
diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst index a8931512ed98..bb67deb19100 100644 --- a/Documentation/rust/quick-start.rst +++ b/Documentation/rust/quick-start.rst @@ -56,16 +56,17 @@ If ``rustup`` is being used, run:: The components are installed per toolchain, thus upgrading the Rust compiler version later on requires re-adding the component. -Otherwise, if a standalone installer is used, the Rust repository may be cloned -into the installation folder of the toolchain:: +Otherwise, if a standalone installer is used, the Rust source tree may be +downloaded into the toolchain's installation folder:: - git clone --recurse-submodules \ - --branch $(scripts/min-tool-version.sh rustc) \ - https://github.com/rust-lang/rust \ - $(rustc --print sysroot)/lib/rustlib/src/rust + curl -L https://static.rust-lang.org/dist/rust-src-$(scripts/min-tool-version.sh rustc).tar.gz | + tar -xzf - -C $(rustc --print sysroot)/lib \ + rust-src-$(scripts/min-tool-version.sh rustc)/rust-src/lib/ \ + --strip-components=3 In this case, upgrading the Rust compiler version later on requires manually -updating this clone. +updating the source tree (this can be done by removing ``$(rustc --print +sysroot)/lib/rustlib/src/rust`` then rerunning the above command). libclang