Commit cfd96726 authored by Miguel Ojeda's avatar Miguel Ojeda
Browse files

rust: docs: fix logo replacement

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: 3ed03f4d ("rust: upgrade to Rust 1.68.2")
Cc: stable@vger.kernel.org
Tested-by: default avatarBenno Lossin <benno.lossin@proton.me>
Reviewed-by: default avatarAndreas Hindborg <a.hindborg@samsung.com>
Link: https://lore.kernel.org/r/20231018155527.1015059-1-ojeda@kernel.org


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 1db773da
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -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 \