0

Update relative links to Linux docs

This is a followup to [1].

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1974901

TBR=sky

Change-Id: I442ffe121378607bdc5e1b16c081b8d66b138955
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1980900
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727226}
This commit is contained in:
Tom Anderson
2019-12-23 19:55:37 +00:00
committed by Commit Bot
parent 88fd9b151a
commit 93e49e49ba
27 changed files with 77 additions and 76 deletions

@ -39,12 +39,12 @@ used when committed.
## Document Index
### Checking Out and Building
* [Linux Build Instructions](linux_build_instructions.md) - Linux
* [Linux Build Instructions](linux/build_instructions.md) - Linux
* [Mac Build Instructions](mac_build_instructions.md) - MacOS
* [Windows Build Instructions](windows_build_instructions.md) - Windows
* [Android Build Instructions](android_build_instructions.md) - Android target
(on a Linux host)
* [Cast Build Instructions](linux_cast_build_instructions.md) - Cast target
* [Cast Build Instructions](linux/cast_build_instructions.md) - Cast target
(on a Linux host)
* [Cast for Android Build Instructions](android_cast_build_instructions.md) -
Cast for Android (on a Linux host)
@ -53,7 +53,7 @@ used when committed.
* [iOS Build Instructions](ios/build_instructions.md) - iOS target (on a MacOS
host)
* [Chrome OS Build Instructions](chromeos_build_instructions.md) - Chrome OS
* [Linux Chromium ARM Recipes](linux_chromium_arm.md) - Recipes for building
* [Linux Chromium ARM Recipes](linux/chromium_arm.md) - Recipes for building
Chromium for ARM on Linux.
* [Chrome Component Build](component_build.md) - Faster builds using more
libraries
@ -193,47 +193,47 @@ used when committed.
how the bots are maintained.
### Misc Linux-Specific Docs
* [Linux Proxy Config](linux_proxy_config.md) - Network proxy sources on Linux
* [Debugging SSL on Linux](linux_debugging_ssl.md) - Tips on debugging SSL
* [Linux Proxy Config](linux/proxy_config.md) - Network proxy sources on Linux
* [Debugging SSL on Linux](linux/debugging_ssl.md) - Tips on debugging SSL
code in Linux
* [Linux Cert Managment](linux_cert_management.md) - Managing X.509
* [Linux Cert Managment](linux/cert_management.md) - Managing X.509
Certificates in Linux
* [Tips for Debugging on Linux](linux_debugging.md)
* [Linux GTK Theme Integration](linux_gtk_theme_integration.md) - Having
* [Tips for Debugging on Linux](linux/debugging.md)
* [Linux GTK Theme Integration](linux/gtk_theme_integration.md) - Having
Chrome match the GTK+ theme.
* [Browser Plugins on Linux](linux_plugins.md) - A collection of links to
* [Browser Plugins on Linux](linux/plugins.md) - A collection of links to
information on how browser plugins work on Linux
* [Linux Crash Dumping](linux_crash_dumping.md) - How Breakpad uploads crash
* [Linux Crash Dumping](linux/crash_dumping.md) - How Breakpad uploads crash
reports to Google crash servers.
* [Linux Minidump to Core](linux_minidump_to_core.md) - How to convert a
* [Linux Minidump to Core](linux/minidump_to_core.md) - How to convert a
Breakpad-generated minidump files to a core file readable by most debuggersx
* [Linux Sandbox IPC](linux_sandbox_ipc.md) - The lower level UPC system used
* [Linux Sandbox IPC](linux/sandbox_ipc.md) - The lower level UPC system used
to route requests from the bottom of the call stack up into the browser.
* [Linux Dev Build as Default Browser](linux_dev_build_as_default_browser.md) -
* [Linux Dev Build as Default Browser](linux/dev_build_as_default_browser.md) -
How to configure a Dev build of Chrome as the default browser in Linux.
* [Linux Chromium Packages](linux_chromium_packages.md) - Packages of Chromium
* [Linux Chromium Packages](linux/chromium_packages.md) - Packages of Chromium
browser (not Chrome) provided by some Linux distributions.
* [`seccomp` Sandbox Crash Dumping](seccomp_sandbox_crash_dumping.md) - Notes
on crash dumping a process running in a seccomp sandbox.
* [Linux Password Storage](linux_password_storage.md) - Keychain integrations
* [Linux Password Storage](linux/password_storage.md) - Keychain integrations
between Chromium and Linux.
* [Linux Sublime Development](sublime_ide.md) - Using Sublime as an IDE
for Chromium development on Linux.
* [Building and Debugging GTK](linux_building_debug_gtk.md) - Building
* [Building and Debugging GTK](linux/building_debug_gtk.md) - Building
Chromium against GTK using lower optimization levels and/or more debugging
symbols.
* [Debugging GTK](linux_debugging_gtk.md) - Using the GTK Debug packages and
* [Debugging GTK](linux/debugging_gtk.md) - Using the GTK Debug packages and
related tools.
* [Chroot Notes](using_a_linux_chroot.md) - Setting up a chroot to work around
* [Chroot Notes](linux/using_a_chroot.md) - Setting up a chroot to work around
libfreetype differences in some versions of Linux.
* [Linux Sandboxing](linux_sandboxing.md) - The Linux multi-process model to
* [Linux Sandboxing](linux/sandboxing.md) - The Linux multi-process model to
isolate browser components with different privileges.
* [Zygote Process](linux_zygote.md) - How the Linux Zygote process, used to
* [Zygote Process](linux/zygote.md) - How the Linux Zygote process, used to
spawn new processes, works.
* [Running Web Tests on Linux](testing/web_tests_linux.md) - Linux-specific
instructions for running web tests.
* [Linux Sysroot Images](linux_sysroot.md) - How builds use libraries on Linux
* [Linux Hardware Video Decoding](linux_hw_video_decode.md) - Enabling
* [Linux Sysroot Images](linux/sysroot.md) - How builds use libraries on Linux
* [Linux Hardware Video Decoding](linux/hw_video_decode.md) - Enabling
hardware video decode codepaths on Linux
### Misc MacOS-Specific Docs
@ -387,13 +387,13 @@ used when committed.
* [System Hardening Features](system_hardening_features.md) - A list of
current and planned Chrome OS security features.
* [WebView Policies](webview_policies.md)
* [Linux Profiling](linux_profiling.md) - How to profile Chromium on Linux
* [Linux Graphics Pipeline](linux_graphics_pipeline.md)
* [Linux `SUID` Sandbox](linux_suid_sandbox.md) - Sandboxing renderers using a
* [Linux Profiling](linux/profiling.md) - How to profile Chromium on Linux
* [Linux Graphics Pipeline](linux/graphics_pipeline.md)
* [Linux `SUID` Sandbox](linux/suid_sandbox.md) - Sandboxing renderers using a
SUID binary on Linux
* [Linux `SUID` Sandbox Development](linux_suid_sandbox_development.md) -
* [Linux `SUID` Sandbox Development](linux/suid_sandbox_development.md) -
Development on the above system.
* [Linux PID Namespace Support](linux_pid_namespace_support.md)
* [Linux PID Namespace Support](linux/pid_namespace_support.md)
* [Vanilla msysgit workflow](vanilla_msysgit_workflow.md) - A workflow for
using mostly vanilla git on Windows.
* [Old Chromoting Build Instructions](old_chromoting_build_instructions.md)

@ -19,7 +19,7 @@ instead.
* You must have Git and Python installed already.
Most development is done on Ubuntu. Other distros may or may not work;
see the [Linux instructions](linux_build_instructions.md) for some suggestions.
see the [Linux instructions](linux/build_instructions.md) for some suggestions.
Building the Android client on Windows or Mac is not supported and doesn't work.

@ -19,7 +19,7 @@ Are you a Google employee? See
* You must have Git and Python installed already.
Most development is done on Ubuntu. Other distros may or may not work;
see the [Linux instructions](linux_build_instructions.md) for some suggestions.
see the [Linux instructions](linux/build_instructions.md) for some suggestions.
Building the Android client on Windows or Mac is not supported and doesn't work.

@ -2,7 +2,7 @@
Chromium on Linux has two general flavors: You can either get
[Google Chrome](http://www.google.com/chrome?platform=linux) or chromium-browser
(see [Linux Chromium Packages](linux_chromium_packages.md)).
(see [Linux Chromium Packages](linux/chromium_packages.md)).
This page tries to describe the differences between the two.
In short, Google Chrome is the Chromium open source project built, packaged, and
@ -12,7 +12,7 @@ builds **on Linux**.
## Google Chrome
* Colorful logo
* [Reports crashes](linux_crash_dumping.md) only if turned on.
* [Reports crashes](linux/crash_dumping.md) only if turned on.
Please include symbolized backtraces in bug reports if you don't have crash
reporting turned on.
* User metrics only if turned on
@ -30,7 +30,7 @@ builds **on Linux**.
## Chromium
* Blue logo
* Does not ever [report crashes](linux_crash_dumping.md). Please include
* Does not ever [report crashes](linux/crash_dumping.md). Please include
symbolized backtraces in bug reports.
* User metrics are never reported.
* Video and Audio codecs (may vary by distro)

@ -17,7 +17,7 @@ make persistent changes to the computer or access information that is
confidential. The architecture and exact assurances that the sandbox provides
are dependent on the operating system. This document covers the Windows
implementation as well as the general design. The Linux implementation is
described [here](../linux_sandboxing.md), the OSX implementation
described [here](../linux/sandboxing.md), the OSX implementation
[here](http://dev.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design).
If you don't feel like reading this whole document you can read the

@ -4,7 +4,7 @@
## Debugging
[Linux Debugging](linux_debugging.md) has some Emacs-specific debugging tips.
[Linux Debugging](linux/debugging.md) has some Emacs-specific debugging tips.
## Syntax-error Highlighting

@ -14,7 +14,7 @@ you might want to build:
* [Chrome OS](chromeos_build_instructions.md)
* [Fuchsia](fuchsia_build_instructions.md)
* [iOS](ios/build_instructions.md)
* [Linux](linux_build_instructions.md)
* [Linux Cast](linux_cast_build_instructions.md)
* [Linux](linux/build_instructions.md)
* [Linux Cast](linux/cast_build_instructions.md)
* [Mac](mac_build_instructions.md)
* [Windows](windows_build_instructions.md)

@ -332,18 +332,18 @@ other settings):
### More links
* Information about [building with Clang](clang.md).
* You may want to [use a chroot](using_a_linux_chroot.md) to
* You may want to [use a chroot](linux/using_a_chroot.md) to
isolate yourself from versioning or packaging conflicts.
* Cross-compiling for ARM? See [LinuxChromiumArm](linux_chromium_arm.md).
* Cross-compiling for ARM? See [LinuxChromiumArm](chromium_arm.md).
* Want to use Eclipse as your IDE? See
[LinuxEclipseDev](linux_eclipse_dev.md).
[LinuxEclipseDev](eclipse_dev.md).
* Want to use your built version as your default browser? See
[LinuxDevBuildAsDefaultBrowser](linux_dev_build_as_default_browser.md).
[LinuxDevBuildAsDefaultBrowser](dev_build_as_default_browser.md).
## Next Steps
If you want to contribute to the effort toward a Chromium-based browser for
Linux, please check out the [Linux Development page](linux_development.md) for
Linux, please check out the [Linux Development page](development.md) for
more information.
## Notes for other distros <a name="notes"></a>

@ -121,7 +121,7 @@ $ gn gen out/Default --args='is_chromecast=true'
### <a name="faster-builds"></a>Faster builds
You might try some of the suggestions on the
[Linux build setup](linux_build_instructions.md#faster-builds).
[Linux build setup](build_instructions.md#faster-builds).
## Build cast\_shell
@ -164,4 +164,4 @@ hooks as needed.
### More links
* Want to use Eclipse as your IDE? See
[LinuxEclipseDev](linux_eclipse_dev.md).
[LinuxEclipseDev](eclipse_dev.md).

@ -317,7 +317,7 @@ core-dump by sending SIGABRT to the relevant process:
## Breakpad minidump files
See [linux_minidump_to_core.md](linux_minidump_to_core.md)
See [minidump_to_core.md](linux/minidump_to_core.md)
## Running Tests
@ -444,7 +444,7 @@ of macros like `IPC_MESSAGE_LOG_ENABLED` or `IPC_MESSAGE_MACROS_LOG_ENABLED`.
See
https://sites.google.com/a/chromium.org/dev/developers/profiling-chromium-and-webkit
and [Linux Profiling](linux_profiling.md).
and [Linux Profiling](profiling.md).
## i18n
@ -475,7 +475,7 @@ with the appropriate instructions if you know what they are.)
## Breakpad
See the last section of [Linux Crash Dumping](linux_crash_dumping.md).
See the last section of [Linux Crash Dumping](crash_dumping.md).
## Drag and Drop

@ -30,7 +30,7 @@ NOTE: I tried debugging pango in a similar manner, but for some reason gdb
didn't pick up the symbols from the symbols from the `-dbg` package. I ended up
building from source and setting my `LD_LIBRARY_PATH`.
See [linux_building_debug_gtk.md](linux_building_debug_gtk.md) for more on how
See [building_debug_gtk.md](linux/building_debug_gtk.md) for more on how
to build your own debug version of GTK.
## Parasite

@ -57,7 +57,7 @@ that we need `libdbus-1-dev` and `libdbus-1-3`. Add these both to the
`DEBIAN_PACKAGES` list in
[`//build/linux/sysroot_scripts/sysroot-creator-sid.sh`](https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/sysroot-creator-sid.sh).
Building and uploading the sysroot images is detailed in [Linux sysroot
images](https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux_sysroot.md).
images](https://chromium.googlesource.com/chromium/src.git/+/master/docs/sysroot.md).
You may need to add additional dependent libraries for your new library.
## Whitelist the new dependencies
@ -194,5 +194,5 @@ Then add `:libdbus-1-3` to
`//third_party/instrumented_libraries:locally_built`'s `deps`.
See [Linux Instrumented
Libraries](https://chromium.googlesource.com/chromium/src.git/+/master/docs/linux_instrumented_libraries.md)
Libraries](https://chromium.googlesource.com/chromium/src.git/+/master/docs/instrumented_libraries.md)
for instructions on building and uploading the instrumented libraries.

@ -7,7 +7,7 @@ Please join us on IRC for the most up-to-date development discussion:
## Checkout and Build
See the [Linux build instructions](linux_build_instructions.md).
See the [Linux build instructions](build_instructions.md).
## What Needs Work
@ -37,8 +37,8 @@ See [Contributing code](contributing.md).
## Debugging
See [Linux debugging](linux_debugging.md).
See [Linux debugging](debugging.md).
## Documents
[Linux Graphics Pipeline](linux_graphics_pipeline.md)
[Linux Graphics Pipeline](graphics_pipeline.md)

@ -31,7 +31,7 @@ Checkout, Build, & Run
Chromium](https://www.chromium.org/developers/how-tos/get-the-code).
Googlers should checkout chromium source code as described here:
[Building Chromium on a corporate Linux
workstation](https://companydoc.corp.google.com/company/teams/chrome/linux_build_instructions.md?cl=head)
workstation](https://companydoc.corp.google.com/company/teams/chrome/build_instructions.md?cl=head)
We want to build on linux on top of Ozone with gbm platform. The
following instructions builds chromium targets along with minigbm

@ -1,6 +1,6 @@
# Linux PID Namespace Support
The [LinuxSUIDSandbox](linux_suid_sandbox.md) currently relies on support for
The [LinuxSUIDSandbox](suid_sandbox.md) currently relies on support for
the `CLONE_NEWPID` flag in Linux's
[clone() system call](http://www.kernel.org/doc/man-pages/online/pages/man2/clone.2.html).
You can check whether your system supports PID namespaces with the code below,

@ -15,7 +15,7 @@ file-descriptor based system. See `sandbox/linux/services/libc_interceptor.cc`.
Thus we define a small IPC system which doesn't depend on anything but `base`
and which can make synchronous requests to the browser process.
The [zygote](linux_zygote.md) starts with a `UNIX DGRAM` socket installed in a
The [zygote](zygote.md) starts with a `UNIX DGRAM` socket installed in a
well known file descriptor slot (currently 4). Requests can be written to this
socket which are then processed on a special "sandbox IPC" process. Requests
have a magic `int` at the beginning giving the type of the request.

@ -58,7 +58,7 @@ A SUID binary that will create a new network and PID namespace, as well as
To disable it, use `--disable-setuid-sandbox`. (Do not remove the binary or
unset `CHROME_DEVEL_SANDBOX`, it is not supported).
Main page: [LinuxSUIDSandbox](linux_suid_sandbox.md)
Main page: [LinuxSUIDSandbox](suid_sandbox.md)
## User namespaces sandbox
@ -140,12 +140,12 @@ for 'dynamic' since dynamic transitions are a little obscure in SELinux)
Sandboxing can make developing harder, see:
* [this page](linux_suid_sandbox_development.md) for the `setuid` sandbox
* [this page](suid_sandbox_development.md) for the `setuid` sandbox
* [this page](https://www.chromium.org/for-testers/bug-reporting-guidelines/hanging-tabs)
for triggering crashes
* [this page for debugging tricks](linux_debugging.md)
* [this page for debugging tricks](debugging.md)
## See also
* [LinuxSandboxIPC](linux_sandbox_ipc.md)
* [How Chromium's Linux sandbox affects Native Client](https://chromium.googlesource.com/native_client/src/native_client.git/+/master/docs/linux_outer_sandbox.md)
* [LinuxSandboxIPC](sandbox_ipc.md)
* [How Chromium's Linux sandbox affects Native Client](https://chromium.googlesource.com/native_client/src/native_client.git/+/master/docs/outer_sandbox.md)

@ -6,7 +6,7 @@ This page is mostly out-of-date.*
With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its
renderers using a `SUID` helper binary. This is one of
[our layer-1 sandboxing solutions](linux_sandboxing.md).
[our layer-1 sandboxing solutions](sandboxing.md).
## `SUID` helper executable
@ -39,7 +39,7 @@ The `SUID` helper is responsible for the first two:
In addition:
* The [Linux Zygote](linux_zygote.md) startup code sets the process to be
* The [Linux Zygote](zygote.md) startup code sets the process to be
_undumpable_ using
[prctl()](http://www.kernel.org/doc/man-pages/online/pages/man2/prctl.2.html).
This stops sandboxed processes from being able to `ptrace()` each other.
@ -123,7 +123,7 @@ Chromium binary somewhere else you need to modify this string.
## See also
* [LinuxSUIDSandboxDevelopment](linux_suid_sandbox_development.md)
* [LinuxSandboxing](linux_sandboxing.md)
* [LinuxSUIDSandboxDevelopment](suid_sandbox_development.md)
* [LinuxSandboxing](sandboxing.md)
* General information on Chromium sandboxing:
https://dev.chromium.org/developers/design-documents/sandbox

@ -4,7 +4,7 @@
See https://bugs.chromium.org/p/chromium/issues/detail?id=598454
This page is mostly out-of-date.*
For context see [LinuxSUIDSandbox](linux_suid_sandbox.md)
For context see [LinuxSUIDSandbox](suid_sandbox.md)
We need a SUID helper binary to turn on the sandbox on Linux.

@ -14,7 +14,7 @@ More specifically, on Linux, it allows to:
up to ~8 MB per process. See [Appendix C](#appendix-c-overall-memory-impact).
Security-wise, the Zygote is responsible for setting up and bookkeeping the
[namespace sandbox](linux_sandboxing.md).
[namespace sandbox](sandboxing.md).
Furthermore it is the only reasonable way to keep a reference to a binary
and a set of shared libraries that can be exec'ed. In the model used on Windows

@ -66,7 +66,7 @@
`mremap` onto shared memory to dedupe after-the-fact.
[almost no memory overhead]: https://devblogs.microsoft.com/oldnewthing/20160413-00/?p=93301
[zygote]: linux_zygote.md
[zygote]: linux/zygote.md
[relro_sharing]: android_native_libraries.md#relro-sharing
### Start-up Time

@ -36,7 +36,7 @@ If you've already checked out a copy of the browser's codebase, you can skip
this section, although you'll still need to run `gclient runhooks` to ensure you
build using the API keys you just generated.
1. [Install the build dependencies](linux_build_instructions_prerequisites.md).
1. [Install the build dependencies](linux/build_instructions_prerequisites.md).
1. Install the depot\_tools utilities, a process that is documented at
https://dev.chromium.org/developers/how-tos/install-depot-tools.
1. Download the Chromium source code by running:

@ -211,7 +211,7 @@ Caveats:
* For the GBM platform, you may need to terminate your X server (or any other
display server) prior to testing.
* During development, you may need to configure
[sandboxing](linux_sandboxing.md) or to disable it.
[sandboxing](linux/sandboxing.md) or to disable it.
## Ozone Platforms

@ -10,7 +10,7 @@ These are instructions for collecting a CPU profile of chromium. All of the prof
This doc is intended to be an authoritative one-stop resource for profiling chromium. At the time of writing, there are a number of existing docs with profiling instructions, in varying states of obsolescence:
* [./linux_profiling.md](./linux_profiling.md)
* [./linux/profiling.md](./linux/profiling.md)
* [./profiling_content_shell_on_android.md](./profiling_content_shell_on_android.md)
* https://www.chromium.org/developers/profiling-chromium-and-webkit
* https://www.chromium.org/developers/telemetry/profiling

@ -42,5 +42,5 @@ Here are some mechanisms that could make this safe:
## See also
* [LinuxCrashDumping](linux_crash_dumping.md)
* [LinuxCrashDumping](linux/crash_dumping.md)
* [Issue 37728](https://crbug.com/37728)

@ -59,7 +59,7 @@ If `fast/dom/object-plugin-hides-properties.html` and
using a chroot jail with Lucid 64-bit user space to be sure that your system
matches the checked in baselines. You can use `build/install-chroot.sh` to
set up a Lucid 64 chroot. Learn more about
[using a linux chroot](using_a_linux_chroot.md).
[using a linux chroot](linux/using_a_chroot.md).
## Getting a web test into a debugger

@ -146,10 +146,11 @@ void SetuidSandboxHost::PrependWrapper(base::CommandLine* cmd_line) {
struct stat st;
if (sandbox_binary.empty() || stat(sandbox_binary.c_str(), &st) != 0) {
LOG(FATAL) << "The SUID sandbox helper binary is missing: "
<< sandbox_binary << " Aborting now. See "
"https://chromium.googlesource.com/"
"chromium/src/+/master/docs/"
"linux_suid_sandbox_development.md.";
<< sandbox_binary
<< " Aborting now. See "
"https://chromium.googlesource.com/"
"chromium/src/+/master/docs/"
"linux/suid_sandbox_development.md.";
}
if (access(sandbox_binary.c_str(), X_OK) != 0 || (st.st_uid != 0) ||