From: Debian Rust Maintainers Date: Sat, 2 Oct 2021 00:08:00 +0000 (+0100) Subject: d-0002-mdbook-strip-embedded-libs X-Git-Tag: archive/raspbian/1.91.1+dfsg1-1+rpi1~1^2~37 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b878271f7b17daa08ce43a4252ff441833588f7a;p=rustc.git d-0002-mdbook-strip-embedded-libs Description: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the patch on top of a newer version. . Make sure the paths here match the ones in debian/rust-doc.links Forwarded: not-needed Gbp-Pq: Topic prune Gbp-Pq: Name d-0002-mdbook-strip-embedded-libs.patch --- diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs index e07a0784cd..4414dd9fa2 100644 --- a/src/tools/linkchecker/main.rs +++ b/src/tools/linkchecker/main.rs @@ -241,7 +241,17 @@ impl Checker { for entry in t!(dir.read_dir()).map(|e| t!(e)) { let path = entry.path(); // Goes through symlinks - let metadata = t!(fs::metadata(&path)); + let metadata = fs::metadata(&path); + if let Err(err) = metadata { + if let Ok(target) = fs::read_link(&path) { + if target.starts_with("/usr/share") { + // broken symlink to /usr/share, ok for our Debian build + return; + } + } + panic!("error at file {:?} while walking - {:?}", path, err) + } + let metadata = t!(metadata); if metadata.is_dir() { self.walk(&path, report); } else { @@ -254,7 +264,15 @@ impl Checker { fn check(&mut self, file: &Path, report: &mut Report) { let (pretty_path, entry) = self.load_file(file, report); let source = match entry { - FileEntry::Missing => panic!("missing file {:?} while walking", file), + FileEntry::Missing => { + if let Ok(target) = fs::read_link(&file) { + if target.starts_with("/usr/share") { + // broken symlink to /usr/share, ok for our Debian build + return; + } + } + panic!("missing file {:?} while walking", file) + } FileEntry::Dir => unreachable!("never with `check` path"), FileEntry::OtherFile => return, FileEntry::Redirect { .. } => return, @@ -343,6 +361,12 @@ impl Checker { let (target_pretty_path, target_entry) = self.load_file(&path, report); let (target_source, target_ids) = match target_entry { FileEntry::Missing => { + if let Ok(target) = fs::read_link(&path) { + if target.starts_with("/usr/share") { + // broken symlink to /usr/share, ok for our Debian build + return; + } + } if is_exception(file, &target_pretty_path) { report.links_ignored_exception += 1; } else { diff --git a/vendor/mdbook-0.4.52/src/book/init.rs b/vendor/mdbook-0.4.52/src/book/init.rs index faca1d09aa..c1a82a378f 100644 --- a/vendor/mdbook-0.4.52/src/book/init.rs +++ b/vendor/mdbook-0.4.52/src/book/init.rs @@ -153,25 +153,6 @@ impl BookBuilder { let mut js = File::create(themedir.join("book.js"))?; js.write_all(theme::JS)?; - let mut highlight_css = File::create(themedir.join("highlight.css"))?; - highlight_css.write_all(theme::HIGHLIGHT_CSS)?; - - let mut highlight_js = File::create(themedir.join("highlight.js"))?; - highlight_js.write_all(theme::HIGHLIGHT_JS)?; - - write_file(&themedir.join("fonts"), "fonts.css", theme::fonts::CSS)?; - for (file_name, contents) in theme::fonts::LICENSES { - write_file(&themedir, file_name, contents)?; - } - for (file_name, contents) in theme::fonts::OPEN_SANS.iter() { - write_file(&themedir, file_name, contents)?; - } - write_file( - &themedir, - theme::fonts::SOURCE_CODE_PRO.0, - theme::fonts::SOURCE_CODE_PRO.1, - )?; - Ok(()) } diff --git a/vendor/mdbook-0.4.52/src/front-end/mod.rs b/vendor/mdbook-0.4.52/src/front-end/mod.rs index 8fd09fc2c8..566f745d24 100644 --- a/vendor/mdbook-0.4.52/src/front-end/mod.rs +++ b/vendor/mdbook-0.4.52/src/front-end/mod.rs @@ -1,9 +1,5 @@ #![allow(missing_docs)] -pub mod playground_editor; - -pub mod fonts; - #[cfg(feature = "search")] pub mod searcher; @@ -26,18 +22,8 @@ pub static VARIABLES_CSS: &[u8] = include_bytes!("css/variables.css"); pub static FAVICON_PNG: &[u8] = include_bytes!("images/favicon.png"); pub static FAVICON_SVG: &[u8] = include_bytes!("images/favicon.svg"); pub static JS: &[u8] = include_bytes!("js/book.js"); -pub static HIGHLIGHT_JS: &[u8] = include_bytes!("js/highlight.js"); pub static TOMORROW_NIGHT_CSS: &[u8] = include_bytes!("css/tomorrow-night.css"); -pub static HIGHLIGHT_CSS: &[u8] = include_bytes!("css/highlight.css"); pub static AYU_HIGHLIGHT_CSS: &[u8] = include_bytes!("css/ayu-highlight.css"); -pub static CLIPBOARD_JS: &[u8] = include_bytes!("js/clipboard.min.js"); -pub static FONT_AWESOME: &[u8] = include_bytes!("css/font-awesome.min.css"); -pub static FONT_AWESOME_EOT: &[u8] = include_bytes!("fonts/fontawesome-webfont.eot"); -pub static FONT_AWESOME_SVG: &[u8] = include_bytes!("fonts/fontawesome-webfont.svg"); -pub static FONT_AWESOME_TTF: &[u8] = include_bytes!("fonts/fontawesome-webfont.ttf"); -pub static FONT_AWESOME_WOFF: &[u8] = include_bytes!("fonts/fontawesome-webfont.woff"); -pub static FONT_AWESOME_WOFF2: &[u8] = include_bytes!("fonts/fontawesome-webfont.woff2"); -pub static FONT_AWESOME_OTF: &[u8] = include_bytes!("fonts/FontAwesome.otf"); /// The `Theme` struct should be used instead of the static variables because /// the `new()` method will look if the user has a theme directory in their @@ -62,11 +48,8 @@ pub struct Theme { pub favicon_png: Option>, pub favicon_svg: Option>, pub js: Vec, - pub highlight_css: Vec, pub tomorrow_night_css: Vec, pub ayu_highlight_css: Vec, - pub highlight_js: Vec, - pub clipboard_js: Vec, } impl Theme { @@ -98,9 +81,6 @@ impl Theme { theme_dir.join("css/variables.css"), &mut theme.variables_css, ), - (theme_dir.join("highlight.js"), &mut theme.highlight_js), - (theme_dir.join("clipboard.min.js"), &mut theme.clipboard_js), - (theme_dir.join("highlight.css"), &mut theme.highlight_css), ( theme_dir.join("tomorrow-night.css"), &mut theme.tomorrow_night_css, @@ -190,11 +170,8 @@ impl Default for Theme { favicon_png: Some(FAVICON_PNG.to_owned()), favicon_svg: Some(FAVICON_SVG.to_owned()), js: JS.to_owned(), - highlight_css: HIGHLIGHT_CSS.to_owned(), tomorrow_night_css: TOMORROW_NIGHT_CSS.to_owned(), ayu_highlight_css: AYU_HIGHLIGHT_CSS.to_owned(), - highlight_js: HIGHLIGHT_JS.to_owned(), - clipboard_js: CLIPBOARD_JS.to_owned(), } } } @@ -283,11 +260,8 @@ mod tests { favicon_png: Some(Vec::new()), favicon_svg: Some(Vec::new()), js: Vec::new(), - highlight_css: Vec::new(), tomorrow_night_css: Vec::new(), ayu_highlight_css: Vec::new(), - highlight_js: Vec::new(), - clipboard_js: Vec::new(), }; assert_eq!(got, empty); diff --git a/vendor/mdbook-0.4.52/src/front-end/searcher/mod.rs b/vendor/mdbook-0.4.52/src/front-end/searcher/mod.rs index d5029db16f..59eda8a9bd 100644 --- a/vendor/mdbook-0.4.52/src/front-end/searcher/mod.rs +++ b/vendor/mdbook-0.4.52/src/front-end/searcher/mod.rs @@ -2,5 +2,3 @@ //! the "search" cargo feature is disabled. pub static JS: &[u8] = include_bytes!("searcher.js"); -pub static MARK_JS: &[u8] = include_bytes!("mark.min.js"); -pub static ELASTICLUNR_JS: &[u8] = include_bytes!("elasticlunr.min.js"); diff --git a/vendor/mdbook-0.4.52/src/front-end/templates/index.hbs b/vendor/mdbook-0.4.52/src/front-end/templates/index.hbs index 1be5bdb043..57c53cb026 100644 --- a/vendor/mdbook-0.4.52/src/front-end/templates/index.hbs +++ b/vendor/mdbook-0.4.52/src/front-end/templates/index.hbs @@ -33,10 +33,7 @@ {{/if}} - - {{#if copy_fonts}} - - {{/if}} + @@ -50,7 +47,7 @@ {{#if mathjax_support}} - + {{/if}} @@ -275,48 +272,7 @@ {{/if}} - {{#if google_analytics}} - - - {{/if}} - - {{#if playground_line_numbers}} - - {{/if}} - - {{#if playground_copyable}} - - {{/if}} - - {{#if playground_js}} - - - - - - {{/if}} - {{#if search_js}} - - {{/if}} diff --git a/vendor/mdbook-0.4.52/src/front-end/templates/toc.html.hbs b/vendor/mdbook-0.4.52/src/front-end/templates/toc.html.hbs index 93dea2569c..2853ec6d40 100644 --- a/vendor/mdbook-0.4.52/src/front-end/templates/toc.html.hbs +++ b/vendor/mdbook-0.4.52/src/front-end/templates/toc.html.hbs @@ -28,9 +28,8 @@ {{/if}} - + {{#if copy_fonts}} - {{/if}} {{#each additional_css}} diff --git a/vendor/mdbook-0.4.52/src/renderer/html_handlebars/search.rs b/vendor/mdbook-0.4.52/src/renderer/html_handlebars/search.rs index ea8ae422d2..867788c1f4 100644 --- a/vendor/mdbook-0.4.52/src/renderer/html_handlebars/search.rs +++ b/vendor/mdbook-0.4.52/src/renderer/html_handlebars/search.rs @@ -75,8 +75,6 @@ pub fn create_files( .as_bytes(), ); static_files.add_builtin("searcher.js", searcher::JS); - static_files.add_builtin("mark.min.js", searcher::MARK_JS); - static_files.add_builtin("elasticlunr.min.js", searcher::ELASTICLUNR_JS); debug!("Copying search files ✓"); } diff --git a/vendor/mdbook-0.4.52/src/renderer/html_handlebars/static_files.rs b/vendor/mdbook-0.4.52/src/renderer/html_handlebars/static_files.rs index e1531f4209..9d19e4a9cb 100644 --- a/vendor/mdbook-0.4.52/src/renderer/html_handlebars/static_files.rs +++ b/vendor/mdbook-0.4.52/src/renderer/html_handlebars/static_files.rs @@ -5,12 +5,13 @@ use log::{debug, warn}; use crate::config::HtmlConfig; use crate::errors::*; use crate::renderer::html_handlebars::helpers::resources::ResourceHelper; -use crate::theme::{self, playground_editor, Theme}; +use crate::theme::{self, Theme}; use crate::utils; use std::borrow::Cow; use std::collections::HashMap; use std::fs::{self, File}; +use std::os::unix::fs::symlink; use std::path::{Path, PathBuf}; use std::sync::LazyLock; @@ -59,72 +60,8 @@ impl StaticFiles { if let Some(contents) = &theme.favicon_svg { this.add_builtin("favicon.svg", contents); } - this.add_builtin("highlight.css", &theme.highlight_css); this.add_builtin("tomorrow-night.css", &theme.tomorrow_night_css); this.add_builtin("ayu-highlight.css", &theme.ayu_highlight_css); - this.add_builtin("highlight.js", &theme.highlight_js); - this.add_builtin("clipboard.min.js", &theme.clipboard_js); - this.add_builtin("FontAwesome/css/font-awesome.css", theme::FONT_AWESOME); - this.add_builtin( - "FontAwesome/fonts/fontawesome-webfont.eot", - theme::FONT_AWESOME_EOT, - ); - this.add_builtin( - "FontAwesome/fonts/fontawesome-webfont.svg", - theme::FONT_AWESOME_SVG, - ); - this.add_builtin( - "FontAwesome/fonts/fontawesome-webfont.ttf", - theme::FONT_AWESOME_TTF, - ); - this.add_builtin( - "FontAwesome/fonts/fontawesome-webfont.woff", - theme::FONT_AWESOME_WOFF, - ); - this.add_builtin( - "FontAwesome/fonts/fontawesome-webfont.woff2", - theme::FONT_AWESOME_WOFF2, - ); - this.add_builtin("FontAwesome/fonts/FontAwesome.ttf", theme::FONT_AWESOME_TTF); - if html_config.copy_fonts && theme.fonts_css.is_none() { - this.add_builtin("fonts/fonts.css", theme::fonts::CSS); - for (file_name, contents) in theme::fonts::LICENSES.iter() { - this.add_builtin(file_name, contents); - } - for (file_name, contents) in theme::fonts::OPEN_SANS.iter() { - this.add_builtin(file_name, contents); - } - this.add_builtin( - theme::fonts::SOURCE_CODE_PRO.0, - theme::fonts::SOURCE_CODE_PRO.1, - ); - } else if let Some(fonts_css) = &theme.fonts_css { - if !fonts_css.is_empty() { - this.add_builtin("fonts/fonts.css", fonts_css); - } - } - if !html_config.copy_fonts && theme.fonts_css.is_none() { - warn!( - "output.html.copy-fonts is deprecated.\n\ - This book appears to have copy-fonts=false in book.toml without a fonts.css file.\n\ - Add an empty `theme/fonts/fonts.css` file to squelch this warning." - ); - } - - let playground_config = &html_config.playground; - - // Ace is a very large dependency, so only load it when requested - if playground_config.editable && playground_config.copy_js { - // Load the editor - this.add_builtin("editor.js", playground_editor::JS); - this.add_builtin("ace.js", playground_editor::ACE_JS); - this.add_builtin("mode-rust.js", playground_editor::MODE_RUST_JS); - this.add_builtin("theme-dawn.js", playground_editor::THEME_DAWN_JS); - this.add_builtin( - "theme-tomorrow_night.js", - playground_editor::THEME_TOMORROW_NIGHT_JS, - ); - } let custom_files = html_config .additional_css @@ -292,6 +229,23 @@ impl StaticFiles { } } } + symlink( + "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css", + destination.join("highlight.css"), + )?; + symlink( + "/usr/share/fonts-font-awesome/css/font-awesome.min.css", + destination.join("css/font-awesome.min.css"), + )?; + symlink( + "/usr/share/fonts-font-awesome/fonts", + destination.join("fonts"), + )?; + + symlink( + "/usr/share/javascript/mathjax/MathJax.js", + destination.join("MathJax.js"), + )?; let hash_map = self.hash_map; Ok(ResourceHelper { hash_map }) }