[PATCH] rust: docs: fix logo replacement

Miguel Ojeda posted 1 patch 2 years, 2 months ago
rust/Makefile | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
[PATCH] rust: docs: fix logo replacement
Posted by Miguel Ojeda 2 years, 2 months ago
The static files placement by `rustdoc` changed in Rust 1.67.0 [1],
but the custom code we have to replace the logo in the generated
HTML files did not get updated.

Thus update it to have the Linux logo again in the output.

Hopefully `rustdoc` will eventually support a custom logo from
a local file [2], so that we do not need to maintain this hack
on our side.

Link: https://github.com/rust-lang/rust/pull/101702 [1]
Link: https://github.com/rust-lang/rfcs/pull/3226 [2]
Fixes: 3ed03f4da06e ("rust: upgrade to Rust 1.68.2")
Cc: stable@vger.kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 rust/Makefile | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/rust/Makefile b/rust/Makefile
index 87958e864be0..08af1f869f0c 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -93,15 +93,14 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
 # and then retouch the generated files.
 rustdoc: rustdoc-core rustdoc-macros rustdoc-compiler_builtins \
     rustdoc-alloc rustdoc-kernel
-	$(Q)cp $(srctree)/Documentation/images/logo.svg $(rustdoc_output)
-	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(rustdoc_output)
+	$(Q)cp $(srctree)/Documentation/images/logo.svg $(rustdoc_output)/static.files/
+	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(rustdoc_output)/static.files/
 	$(Q)find $(rustdoc_output) -name '*.html' -type f -print0 | xargs -0 sed -Ei \
-		-e 's:rust-logo\.svg:logo.svg:g' \
-		-e 's:rust-logo\.png:logo.svg:g' \
-		-e 's:favicon\.svg:logo.svg:g' \
-		-e 's:<link rel="alternate icon" type="image/png" href="[./]*favicon-(16x16|32x32)\.png">::g'
-	$(Q)echo '.logo-container > img { object-fit: contain; }' \
-		>> $(rustdoc_output)/rustdoc.css
+		-e 's:rust-logo-[0-9a-f]+\.svg:logo.svg:g' \
+		-e 's:favicon-[0-9a-f]+\.svg:logo.svg:g' \
+		-e 's:<link rel="alternate icon" type="image/png" href="[/.]+/static\.files/favicon-(16x16|32x32)-[0-9a-f]+\.png">::g'
+	$(Q)for f in $(rustdoc_output)/static.files/rustdoc-*.css; do \
+		echo ".logo-container > img { object-fit: contain; }" >> $$f; done
 
 rustdoc-macros: private rustdoc_host = yes
 rustdoc-macros: private rustc_target_flags = --crate-type proc-macro \
-- 
2.42.0
Re: [PATCH] rust: docs: fix logo replacement
Posted by Andreas Hindborg 2 years, 1 month ago
Miguel Ojeda <ojeda@kernel.org> writes:

> The static files placement by `rustdoc` changed in Rust 1.67.0 [1],
> but the custom code we have to replace the logo in the generated
> HTML files did not get updated.
>
> Thus update it to have the Linux logo again in the output.
>
> Hopefully `rustdoc` will eventually support a custom logo from
> a local file [2], so that we do not need to maintain this hack
> on our side.
>
> Link: https://protect2.fireeye.com/v1/url?k=3606269f-578d33a5-3607add0-74fe4860008a-47cdfdc2f1793629&q=1&e=ca2ce79b-669b-4a80-b032-30bab50cf455&u=https%3A%2F%2Fgithub.com%2Frust-lang%2Frust%2Fpull%2F101702 [1]
> Link: https://protect2.fireeye.com/v1/url?k=faa866e4-9b2373de-faa9edab-74fe4860008a-e32c39efb11c5865&q=1&e=ca2ce79b-669b-4a80-b032-30bab50cf455&u=https%3A%2F%2Fgithub.com%2Frust-lang%2Frfcs%2Fpull%2F3226 [2]
> Fixes: 3ed03f4da06e ("rust: upgrade to Rust 1.68.2")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Reviewed-by: Andreas Hindborg <a.hindborg@samsung.com>

> ---
>  rust/Makefile | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 87958e864be0..08af1f869f0c 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -93,15 +93,14 @@ quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $<
>  # and then retouch the generated files.
>  rustdoc: rustdoc-core rustdoc-macros rustdoc-compiler_builtins \
>      rustdoc-alloc rustdoc-kernel
> -	$(Q)cp $(srctree)/Documentation/images/logo.svg $(rustdoc_output)
> -	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(rustdoc_output)
> +	$(Q)cp $(srctree)/Documentation/images/logo.svg $(rustdoc_output)/static.files/
> +	$(Q)cp $(srctree)/Documentation/images/COPYING-logo $(rustdoc_output)/static.files/
>  	$(Q)find $(rustdoc_output) -name '*.html' -type f -print0 | xargs -0 sed -Ei \
> -		-e 's:rust-logo\.svg:logo.svg:g' \
> -		-e 's:rust-logo\.png:logo.svg:g' \
> -		-e 's:favicon\.svg:logo.svg:g' \
> -		-e 's:<link rel="alternate icon" type="image/png" href="[./]*favicon-(16x16|32x32)\.png">::g'
> -	$(Q)echo '.logo-container > img { object-fit: contain; }' \
> -		>> $(rustdoc_output)/rustdoc.css
> +		-e 's:rust-logo-[0-9a-f]+\.svg:logo.svg:g' \
> +		-e 's:favicon-[0-9a-f]+\.svg:logo.svg:g' \
> +		-e 's:<link rel="alternate icon" type="image/png" href="[/.]+/static\.files/favicon-(16x16|32x32)-[0-9a-f]+\.png">::g'
> +	$(Q)for f in $(rustdoc_output)/static.files/rustdoc-*.css; do \
> +		echo ".logo-container > img { object-fit: contain; }" >> $$f; done
>  
>  rustdoc-macros: private rustdoc_host = yes
>  rustdoc-macros: private rustc_target_flags = --crate-type proc-macro \
Re: [PATCH] rust: docs: fix logo replacement
Posted by Miguel Ojeda 2 years, 2 months ago
On Wed, Oct 18, 2023 at 5:55 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> The static files placement by `rustdoc` changed in Rust 1.67.0 [1],
> but the custom code we have to replace the logo in the generated
> HTML files did not get updated.
>
> Thus update it to have the Linux logo again in the output.
>
> Hopefully `rustdoc` will eventually support a custom logo from
> a local file [2], so that we do not need to maintain this hack
> on our side.
>
> Link: https://github.com/rust-lang/rust/pull/101702 [1]
> Link: https://github.com/rust-lang/rfcs/pull/3226 [2]
> Fixes: 3ed03f4da06e ("rust: upgrade to Rust 1.68.2")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Applied to `rust-fixes` early to start getting some time in
`linux-next` -- please feel free to send more reviews, thanks!

Cheers,
Miguel
Re: [PATCH] rust: docs: fix logo replacement
Posted by Benno Lossin 2 years, 2 months ago
On 18.10.23 17:55, Miguel Ojeda wrote:
> The static files placement by `rustdoc` changed in Rust 1.67.0 [1],
> but the custom code we have to replace the logo in the generated
> HTML files did not get updated.
> 
> Thus update it to have the Linux logo again in the output.
> 
> Hopefully `rustdoc` will eventually support a custom logo from
> a local file [2], so that we do not need to maintain this hack
> on our side.
> 
> Link: https://github.com/rust-lang/rust/pull/101702 [1]
> Link: https://github.com/rust-lang/rfcs/pull/3226 [2]
> Fixes: 3ed03f4da06e ("rust: upgrade to Rust 1.68.2")
> Cc: stable@vger.kernel.org
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Works for me.

Tested-by: Benno Lossin <benno.lossin@proton.me>

-- 
Cheers,
Benno
Re: [PATCH] rust: docs: fix logo replacement
Posted by Miguel Ojeda 2 years, 2 months ago
On Wed, Oct 18, 2023 at 5:55 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> Thus update it to have the Linux logo again in the output.

Cc'ing docs and kbuild, by the way, in case they want to take a look.

Cheers,
Miguel