Re: [PATCH] rust: docs: fix logo replacement

From: Andreas Hindborg
Date: Thu Oct 19 2023 - 08:07:04 EST



Miguel Ojeda <ojeda@xxxxxxxxxx> 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@xxxxxxxxxxxxxxx
> Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>

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

> ---
> 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 \