From 8e3fee33afed8cb6a0945288f4773363a4d68912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 23 Feb 2024 09:48:47 +0100 Subject: [PATCH] Revert "docs: use collections to structure the data" This reverts commit 5e8ff010a1436d33bbf3c108335af6e0b4ff7a2a. This broke all the URLs, we can't have that. (And actually, we probably don't _want_ to make the change either. It's nicer to have all the pages in one directory, so one doesn't have to figure out to which collection the page belongs.) --- README.md | 8 ++-- docs/{_userdocs => }/API_FILE_SYSTEMS.md | 1 - docs/{_contributing => }/ARCHITECTURE.md | 2 +- .../AUTOMATIC_BOOT_ASSESSMENT.md | 0 docs/{_devdocs => }/AUTOPKGTEST.md | 0 docs/{_devdocs => }/BACKPORTS.md | 0 .../{_interfaces => }/BLOCK_DEVICE_LOCKING.md | 0 docs/{_devdocs => }/BOOT.md | 1 - docs/{_booting => }/BOOT_LOADER_INTERFACE.md | 2 +- .../BOOT_LOADER_SPECIFICATION.md | 0 docs/{_concepts => }/BUILDING_IMAGES.md | 0 docs/{_devdocs => }/CATALOG.md | 1 - docs/{_interfaces => }/CGROUP_DELEGATION.md | 0 docs/{_contributing => }/CODE_OF_CONDUCT.md | 0 docs/{_contributing => }/CODE_QUALITY.md | 2 +- docs/{_contributing => }/CODING_STYLE.md | 0 docs/{_interfaces => }/CONTAINER_INTERFACE.md | 0 docs/{_contributing => }/CONTRIBUTING.md | 6 +-- .../{_devdocs => }/CONTROL_GROUP_INTERFACE.md | 0 docs/{_groups => }/CONVERTING_TO_HOMED.md | 8 ++-- docs/{_concepts => }/COREDUMP.md | 0 docs/{_concepts => }/CREDENTIALS.md | 4 +- .../DAEMON_SOCKET_ACTIVATION.md | 1 - docs/{_userdocs => }/DEBUGGING.md | 1 - docs/{_concepts => }/DESKTOP_ENVIRONMENTS.md | 0 docs/{_concepts => }/DISTRO_PORTING.md | 0 .../{_interfaces => }/ELF_PACKAGE_METADATA.md | 0 docs/{_interfaces => }/ENVIRONMENT.md | 0 docs/{_userdocs => }/FAQ.md | 1 - .../FILE_DESCRIPTOR_STORE.md | 0 docs/{_groups => }/GROUP_RECORD.md | 2 +- docs/{_contributing => }/HACKING.md | 10 ++--- docs/{_groups => }/HOME_DIRECTORY.md | 2 +- docs/{_userdocs => }/INCOMPATIBILITIES.md | 2 +- docs/{_devdocs => }/INHIBITOR_LOCKS.md | 0 docs/{_interfaces => }/INITRD_INTERFACE.md | 4 +- .../JOURNAL_EXPORT_FORMATS.md | 4 +- docs/{_interfaces => }/JOURNAL_FILE_FORMAT.md | 2 +- .../JOURNAL_NATIVE_PROTOCOL.md | 0 docs/{_interfaces => }/MEMORY_PRESSURE.md | 0 docs/{_devdocs => }/MINIMAL_BUILDS.md | 0 docs/{_booting => }/MOUNT_REQUIREMENTS.md | 0 .../MY_SERVICE_CANT_GET_REATLIME.md | 1 - docs/{_networking => }/NETWORK_ONLINE.md | 0 docs/{_devdocs => }/OPTIMIZATIONS.md | 0 docs/{_interfaces => }/PASSWORD_AGENTS.md | 0 .../PORTABILITY_AND_STABILITY.md | 12 +++--- docs/{_concepts => }/PORTABLE_SERVICES.md | 0 .../PORTING_TO_NEW_ARCHITECTURES.md | 0 .../PREDICTABLE_INTERFACE_NAMES.md | 0 docs/{_devdocs => }/PRESET.md | 0 docs/{_concepts => }/RANDOM_SEEDS.md | 2 +- docs/{_contributing => }/RELEASE.md | 0 docs/{_networking => }/RESOLVED-VPNS.md | 0 .../{_interfaces => }/ROOT_STORAGE_DAEMONS.md | 4 +- docs/{_contributing => }/SECURITY.md | 0 .../{_userdocs => }/SEPARATE_USR_IS_BROKEN.md | 1 - docs/{_devdocs => }/SYSLOG.md | 0 .../SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md | 0 .../TEMPORARY_DIRECTORIES.md | 0 .../TESTING_WITH_SANITIZERS.md | 0 .../THE_CASE_FOR_THE_USR_MERGE.md | 0 docs/{_userdocs => }/TIPS_AND_TRICKS.md | 1 - docs/{_booting => }/TPM2_PCR_MEASUREMENTS.md | 0 docs/{_interfaces => }/TRANSIENT-SETTINGS.md | 0 docs/{_contributing => }/TRANSLATORS.md | 0 docs/{_groups => }/UIDS-GIDS.md | 0 docs/{_groups => }/USERDB_AND_DESKTOPS.md | 10 ++--- docs/{_groups => }/USER_GROUP_API.md | 4 +- docs/{_groups => }/USER_NAMES.md | 0 docs/{_groups => }/USER_RECORD.md | 8 ++-- docs/{_devdocs => }/VIRTUALIZED_TESTING.md | 0 .../WRITING_DESKTOP_ENVIRONMENTS.md | 0 .../WRITING_DISPLAY_MANAGERS.md | 0 .../WRITING_NETWORK_CONFIGURATION_MANAGERS.md | 0 .../WRITING_RESOLVER_CLIENTS.md | 0 .../WRITING_VM_AND_CONTAINER_MANAGERS.md | 0 docs/_config.yml | 29 +------------ docs/_data/extra_pages.json | 40 ++++++++++++++++++ docs/_data/project.json | 42 ------------------- docs/index.md | 30 +++++-------- meson.build | 14 +++---- test/units/testsuite-46.sh | 2 +- 83 files changed, 109 insertions(+), 155 deletions(-) rename docs/{_userdocs => }/API_FILE_SYSTEMS.md (99%) rename docs/{_contributing => }/ARCHITECTURE.md (99%) rename docs/{_booting => }/AUTOMATIC_BOOT_ASSESSMENT.md (100%) rename docs/{_devdocs => }/AUTOPKGTEST.md (100%) rename docs/{_devdocs => }/BACKPORTS.md (100%) rename docs/{_interfaces => }/BLOCK_DEVICE_LOCKING.md (100%) rename docs/{_devdocs => }/BOOT.md (99%) rename docs/{_booting => }/BOOT_LOADER_INTERFACE.md (99%) rename docs/{_booting => }/BOOT_LOADER_SPECIFICATION.md (100%) rename docs/{_concepts => }/BUILDING_IMAGES.md (100%) rename docs/{_devdocs => }/CATALOG.md (99%) rename docs/{_interfaces => }/CGROUP_DELEGATION.md (100%) rename docs/{_contributing => }/CODE_OF_CONDUCT.md (100%) rename docs/{_contributing => }/CODE_QUALITY.md (99%) rename docs/{_contributing => }/CODING_STYLE.md (100%) rename docs/{_interfaces => }/CONTAINER_INTERFACE.md (100%) rename docs/{_contributing => }/CONTRIBUTING.md (97%) rename docs/{_devdocs => }/CONTROL_GROUP_INTERFACE.md (100%) rename docs/{_groups => }/CONVERTING_TO_HOMED.md (97%) rename docs/{_concepts => }/COREDUMP.md (100%) rename docs/{_concepts => }/CREDENTIALS.md (99%) rename docs/{_userdocs => }/DAEMON_SOCKET_ACTIVATION.md (99%) rename docs/{_userdocs => }/DEBUGGING.md (99%) rename docs/{_concepts => }/DESKTOP_ENVIRONMENTS.md (100%) rename docs/{_concepts => }/DISTRO_PORTING.md (100%) rename docs/{_interfaces => }/ELF_PACKAGE_METADATA.md (100%) rename docs/{_interfaces => }/ENVIRONMENT.md (100%) rename docs/{_userdocs => }/FAQ.md (99%) rename docs/{_interfaces => }/FILE_DESCRIPTOR_STORE.md (100%) rename docs/{_groups => }/GROUP_RECORD.md (99%) rename docs/{_contributing => }/HACKING.md (98%) rename docs/{_groups => }/HOME_DIRECTORY.md (99%) rename docs/{_userdocs => }/INCOMPATIBILITIES.md (98%) rename docs/{_devdocs => }/INHIBITOR_LOCKS.md (100%) rename docs/{_interfaces => }/INITRD_INTERFACE.md (98%) rename docs/{_interfaces => }/JOURNAL_EXPORT_FORMATS.md (99%) rename docs/{_interfaces => }/JOURNAL_FILE_FORMAT.md (99%) rename docs/{_interfaces => }/JOURNAL_NATIVE_PROTOCOL.md (100%) rename docs/{_interfaces => }/MEMORY_PRESSURE.md (100%) rename docs/{_devdocs => }/MINIMAL_BUILDS.md (100%) rename docs/{_booting => }/MOUNT_REQUIREMENTS.md (100%) rename docs/{_userdocs => }/MY_SERVICE_CANT_GET_REATLIME.md (99%) rename docs/{_networking => }/NETWORK_ONLINE.md (100%) rename docs/{_devdocs => }/OPTIMIZATIONS.md (100%) rename docs/{_interfaces => }/PASSWORD_AGENTS.md (100%) rename docs/{_interfaces => }/PORTABILITY_AND_STABILITY.md (96%) rename docs/{_concepts => }/PORTABLE_SERVICES.md (100%) rename docs/{_contributing => }/PORTING_TO_NEW_ARCHITECTURES.md (100%) rename docs/{_networking => }/PREDICTABLE_INTERFACE_NAMES.md (100%) rename docs/{_devdocs => }/PRESET.md (100%) rename docs/{_concepts => }/RANDOM_SEEDS.md (99%) rename docs/{_contributing => }/RELEASE.md (100%) rename docs/{_networking => }/RESOLVED-VPNS.md (100%) rename docs/{_interfaces => }/ROOT_STORAGE_DAEMONS.md (99%) rename docs/{_contributing => }/SECURITY.md (100%) rename docs/{_userdocs => }/SEPARATE_USR_IS_BROKEN.md (99%) rename docs/{_devdocs => }/SYSLOG.md (100%) rename docs/{_devdocs => }/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md (100%) rename docs/{_interfaces => }/TEMPORARY_DIRECTORIES.md (100%) rename docs/{_contributing => }/TESTING_WITH_SANITIZERS.md (100%) rename docs/{_devdocs => }/THE_CASE_FOR_THE_USR_MERGE.md (100%) rename docs/{_userdocs => }/TIPS_AND_TRICKS.md (99%) rename docs/{_booting => }/TPM2_PCR_MEASUREMENTS.md (100%) rename docs/{_interfaces => }/TRANSIENT-SETTINGS.md (100%) rename docs/{_contributing => }/TRANSLATORS.md (100%) rename docs/{_groups => }/UIDS-GIDS.md (100%) rename docs/{_groups => }/USERDB_AND_DESKTOPS.md (97%) rename docs/{_groups => }/USER_GROUP_API.md (99%) rename docs/{_groups => }/USER_NAMES.md (100%) rename docs/{_groups => }/USER_RECORD.md (99%) rename docs/{_devdocs => }/VIRTUALIZED_TESTING.md (100%) rename docs/{_devdocs => }/WRITING_DESKTOP_ENVIRONMENTS.md (100%) rename docs/{_devdocs => }/WRITING_DISPLAY_MANAGERS.md (100%) rename docs/{_devdocs => }/WRITING_NETWORK_CONFIGURATION_MANAGERS.md (100%) rename docs/{_devdocs => }/WRITING_RESOLVER_CLIENTS.md (100%) rename docs/{_devdocs => }/WRITING_VM_AND_CONTAINER_MANAGERS.md (100%) delete mode 100644 docs/_data/project.json diff --git a/README.md b/README.md index b3bcf9ed940..c4522a2bac6 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,13 @@ Information about build requirements is provided in the [README file](README). Consult our [NEWS file](NEWS) for information about what's new in the most recent systemd versions. -Please see the [Code Map](docs/_contributing/ARCHITECTURE.md) for information about this repository's layout and content. +Please see the [Code Map](docs/ARCHITECTURE.md) for information about this repository's layout and content. -Please see the [Hacking guide](docs/_contributing/HACKING.md) for information on how to hack on systemd and test your modifications. +Please see the [Hacking guide](docs/HACKING.md) for information on how to hack on systemd and test your modifications. -Please see our [Contribution Guidelines](docs/_contributing/CONTRIBUTING.md) for more information about filing GitHub Issues and posting GitHub Pull Requests. +Please see our [Contribution Guidelines](docs/CONTRIBUTING.md) for more information about filing GitHub Issues and posting GitHub Pull Requests. -When preparing patches for systemd, please follow our [Coding Style Guidelines](docs/_contributing/CODING_STYLE.md). +When preparing patches for systemd, please follow our [Coding Style Guidelines](docs/CODING_STYLE.md). If you are looking for support, please contact our [mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel), join our [IRC channel #systemd on libera.chat](https://web.libera.chat/#systemd) or [Matrix channel](https://matrix.to/#/#systemd-project:matrix.org) diff --git a/docs/_userdocs/API_FILE_SYSTEMS.md b/docs/API_FILE_SYSTEMS.md similarity index 99% rename from docs/_userdocs/API_FILE_SYSTEMS.md rename to docs/API_FILE_SYSTEMS.md index a7e350b7aa0..84a1900e419 100644 --- a/docs/_userdocs/API_FILE_SYSTEMS.md +++ b/docs/API_FILE_SYSTEMS.md @@ -50,4 +50,3 @@ You have three options: 1. Disable any mounting on `/tmp` so that it resides on the same physical file system as the root directory. For that, execute `systemctl mask tmp.mount` 2. Mount a different, physical file system to `/tmp`. For that, simply create an entry for it in `/etc/fstab` as you would do for any other file system. 3. Keep `/tmp` but increase/decrease the size of it. For that, also just create an entry for it in `/etc/fstab` as you would do for any other `tmpfs` file system, and use the right `size=` option. - diff --git a/docs/_contributing/ARCHITECTURE.md b/docs/ARCHITECTURE.md similarity index 99% rename from docs/_contributing/ARCHITECTURE.md rename to docs/ARCHITECTURE.md index 1478ea0ef2f..33486203a65 100644 --- a/docs/_contributing/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -145,7 +145,7 @@ as a normal executable and executed for each of the input samples under with sanitizers and invoked as part of the test suite (if `-Dfuzz-tests=true` is configured). Thirdly, fuzzers are executed through fuzzing engines that try to find new "interesting" inputs through coverage feedback and massive -parallelization; see the links for oss-fuzz in [Code quality](CODE_QUALITY). +parallelization; see the links for oss-fuzz in [Code quality](CODE_QUALITY.md). For testing and debugging, fuzzers can be executed as any other program, including under `valgrind` or `gdb`. diff --git a/docs/_booting/AUTOMATIC_BOOT_ASSESSMENT.md b/docs/AUTOMATIC_BOOT_ASSESSMENT.md similarity index 100% rename from docs/_booting/AUTOMATIC_BOOT_ASSESSMENT.md rename to docs/AUTOMATIC_BOOT_ASSESSMENT.md diff --git a/docs/_devdocs/AUTOPKGTEST.md b/docs/AUTOPKGTEST.md similarity index 100% rename from docs/_devdocs/AUTOPKGTEST.md rename to docs/AUTOPKGTEST.md diff --git a/docs/_devdocs/BACKPORTS.md b/docs/BACKPORTS.md similarity index 100% rename from docs/_devdocs/BACKPORTS.md rename to docs/BACKPORTS.md diff --git a/docs/_interfaces/BLOCK_DEVICE_LOCKING.md b/docs/BLOCK_DEVICE_LOCKING.md similarity index 100% rename from docs/_interfaces/BLOCK_DEVICE_LOCKING.md rename to docs/BLOCK_DEVICE_LOCKING.md diff --git a/docs/_devdocs/BOOT.md b/docs/BOOT.md similarity index 99% rename from docs/_devdocs/BOOT.md rename to docs/BOOT.md index 98bcc2ef3d4..574cc080cfd 100644 --- a/docs/_devdocs/BOOT.md +++ b/docs/BOOT.md @@ -109,4 +109,3 @@ Links: [https://github.com/systemd/systemd](https://github.com/systemd/systemd) [http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/](http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/) - diff --git a/docs/_booting/BOOT_LOADER_INTERFACE.md b/docs/BOOT_LOADER_INTERFACE.md similarity index 99% rename from docs/_booting/BOOT_LOADER_INTERFACE.md rename to docs/BOOT_LOADER_INTERFACE.md index a1f6b595680..f915cbacc99 100644 --- a/docs/_booting/BOOT_LOADER_INTERFACE.md +++ b/docs/BOOT_LOADER_INTERFACE.md @@ -78,7 +78,7 @@ variables. All EFI variables use the vendor UUID * `1 << 1` → The boot loader honours `LoaderConfigTimeoutOneShot` when set. * `1 << 2` → The boot loader honours `LoaderEntryDefault` when set. * `1 << 3` → The boot loader honours `LoaderEntryOneShot` when set. - * `1 << 4` → The boot loader supports boot counting as described in [Automatic Boot Assessment](AUTOMATIC_BOOT_ASSESSMENT). + * `1 << 4` → The boot loader supports boot counting as described in [Automatic Boot Assessment](AUTOMATIC_BOOT_ASSESSMENT.md). * `1 << 5` → The boot loader supports looking for boot menu entries in the Extended Boot Loader Partition. * `1 << 6` → The boot loader supports passing a random seed to the OS. * `1 << 13` → The boot loader honours `menu-disabled` option when set. diff --git a/docs/_booting/BOOT_LOADER_SPECIFICATION.md b/docs/BOOT_LOADER_SPECIFICATION.md similarity index 100% rename from docs/_booting/BOOT_LOADER_SPECIFICATION.md rename to docs/BOOT_LOADER_SPECIFICATION.md diff --git a/docs/_concepts/BUILDING_IMAGES.md b/docs/BUILDING_IMAGES.md similarity index 100% rename from docs/_concepts/BUILDING_IMAGES.md rename to docs/BUILDING_IMAGES.md diff --git a/docs/_devdocs/CATALOG.md b/docs/CATALOG.md similarity index 99% rename from docs/_devdocs/CATALOG.md rename to docs/CATALOG.md index fa5e7b091e6..bcbf5b90bce 100644 --- a/docs/_devdocs/CATALOG.md +++ b/docs/CATALOG.md @@ -65,4 +65,3 @@ To add message catalog entries for log messages your application generates, plea * Use the [native Journal logging APIs](http://0pointer.de/blog/projects/journal-submit.html) to generate your messages, and define message IDs for all messages you want to add catalog entries for. You may use `journalctl --new-id128` to allocate new message IDs. * Write a catalog entry file for your messages and ship them in your package and install them to `/usr/lib/systemd/catalog/` (if you package your software with RPM use `%_journalcatalogdir`) * Ensure that after installation of your application's RPM/DEB "`journalctl --update-catalog`" is executed, in order to update the binary catalog index. (if you package your software with RPM use the `%journal_catalog_update` macro to achieve that.) - diff --git a/docs/_interfaces/CGROUP_DELEGATION.md b/docs/CGROUP_DELEGATION.md similarity index 100% rename from docs/_interfaces/CGROUP_DELEGATION.md rename to docs/CGROUP_DELEGATION.md diff --git a/docs/_contributing/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md similarity index 100% rename from docs/_contributing/CODE_OF_CONDUCT.md rename to docs/CODE_OF_CONDUCT.md diff --git a/docs/_contributing/CODE_QUALITY.md b/docs/CODE_QUALITY.md similarity index 99% rename from docs/_contributing/CODE_QUALITY.md rename to docs/CODE_QUALITY.md index 166b307b66b..0f983bd2997 100644 --- a/docs/_contributing/CODE_QUALITY.md +++ b/docs/CODE_QUALITY.md @@ -75,7 +75,7 @@ available functionality: 15. Each PR is automatically tested with [Address Sanitizer](https://clang.llvm.org/docs/AddressSanitizer.html) and [Undefined Behavior Sanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html). - See [Testing systemd using sanitizers](TESTING_WITH_SANITIZERS) + See [Testing systemd using sanitizers](TESTING_WITH_SANITIZERS.md) for more information. 16. Fossies provides [source code misspelling reports](https://fossies.org/features.html#codespell). diff --git a/docs/_contributing/CODING_STYLE.md b/docs/CODING_STYLE.md similarity index 100% rename from docs/_contributing/CODING_STYLE.md rename to docs/CODING_STYLE.md diff --git a/docs/_interfaces/CONTAINER_INTERFACE.md b/docs/CONTAINER_INTERFACE.md similarity index 100% rename from docs/_interfaces/CONTAINER_INTERFACE.md rename to docs/CONTAINER_INTERFACE.md diff --git a/docs/_contributing/CONTRIBUTING.md b/docs/CONTRIBUTING.md similarity index 97% rename from docs/_contributing/CONTRIBUTING.md rename to docs/CONTRIBUTING.md index f5999722433..e0f7c1d3ee4 100644 --- a/docs/_contributing/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -29,13 +29,13 @@ For older versions that are still supported by your distribution please use resp ## Security vulnerability reports -See [reporting of security vulnerabilities](SECURITY). +See [reporting of security vulnerabilities](SECURITY.md). ## Posting Pull Requests * Make sure to post PRs only relative to a recent tip of the `main` branch. -* Follow our [Coding Style](CODING_STYLE) when contributing code. This is a requirement for all code we merge. -* Please make sure to test your change before submitting the PR. See the [Hacking guide](HACKING) for details on how to do this. +* Follow our [Coding Style](CODING_STYLE.md) when contributing code. This is a requirement for all code we merge. +* Please make sure to test your change before submitting the PR. See the [Hacking guide](HACKING.md) for details on how to do this. * Make sure to run the test suite locally, before posting your PR. We use a CI system, meaning we don't even look at your PR if the build and tests don't pass. * If you need to update the code in an existing PR, force-push into the same branch, overriding old commits with new versions. * After you have pushed a new version, add a comment explaining the latest changes. If you are a member of the systemd project on GitHub, remove the `reviewed/needs-rework`/`ci-fails/needs-rework`/`needs-rebase` labels. diff --git a/docs/_devdocs/CONTROL_GROUP_INTERFACE.md b/docs/CONTROL_GROUP_INTERFACE.md similarity index 100% rename from docs/_devdocs/CONTROL_GROUP_INTERFACE.md rename to docs/CONTROL_GROUP_INTERFACE.md diff --git a/docs/_groups/CONVERTING_TO_HOMED.md b/docs/CONVERTING_TO_HOMED.md similarity index 97% rename from docs/_groups/CONVERTING_TO_HOMED.md rename to docs/CONVERTING_TO_HOMED.md index 5416a222767..06fc66f1950 100644 --- a/docs/_groups/CONVERTING_TO_HOMED.md +++ b/docs/CONVERTING_TO_HOMED.md @@ -16,10 +16,10 @@ it might be desirable to convert an existing, traditional user account to a Before continuing, please read up on these basic concepts: -* [Home Directories](HOME_DIRECTORY) -* [JSON User Records](USER_RECORD) -* [JSON Group Records](GROUP_RECORD) -* [User/Group Record Lookup API via Varlink](USER_GROUP_API) +* [Home Directories](HOME_DIRECTORY.md) +* [JSON User Records](USER_RECORD.md) +* [JSON Group Records](GROUP_RECORD.md) +* [User/Group Record Lookup API via Varlink](USER_GROUP_API.md) ## Caveat diff --git a/docs/_concepts/COREDUMP.md b/docs/COREDUMP.md similarity index 100% rename from docs/_concepts/COREDUMP.md rename to docs/COREDUMP.md diff --git a/docs/_concepts/CREDENTIALS.md b/docs/CREDENTIALS.md similarity index 99% rename from docs/_concepts/CREDENTIALS.md rename to docs/CREDENTIALS.md index ed30eacf2bf..153a42be547 100644 --- a/docs/_concepts/CREDENTIALS.md +++ b/docs/CREDENTIALS.md @@ -59,7 +59,7 @@ purpose. Specifically, the following features are provided: 8. Credentials are an effective way to pass parameters into services that run with `RootImage=` or `RootDirectory=` and thus cannot read these resources directly from the host directory tree. - Specifically, [Portable Services](PORTABLE_SERVICES) may be + Specifically, [Portable Services](PORTABLE_SERVICES.md) may be parameterized this way securely and robustly. 9. Credentials can be binary and relatively large (though currently an overall @@ -288,7 +288,7 @@ services where they are ultimately consumed. invokes. [`systemd-nspawn(1)`](https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#Credentials)'s `--set-credential=` and `--load-credential=` switches implement this, in order to pass arbitrary credentials from host to container payload. Also see - the [Container Interface](CONTAINER_INTERFACE) documentation. + the [Container Interface](CONTAINER_INTERFACE.md) documentation. 2. Quite similar, VMs can be passed credentials via SMBIOS OEM strings (example qemu command line switch `-smbios diff --git a/docs/_userdocs/DAEMON_SOCKET_ACTIVATION.md b/docs/DAEMON_SOCKET_ACTIVATION.md similarity index 99% rename from docs/_userdocs/DAEMON_SOCKET_ACTIVATION.md rename to docs/DAEMON_SOCKET_ACTIVATION.md index 797deaefd0a..1a027a37c80 100644 --- a/docs/_userdocs/DAEMON_SOCKET_ACTIVATION.md +++ b/docs/DAEMON_SOCKET_ACTIVATION.md @@ -120,4 +120,3 @@ It's possible to shut down the service and re-activate it using the web browser, sudo systemctl stop my-php-fpm-pool.socket my-php-fpm-pool.service sudo systemctl start my-php-fpm-pool.socket ``` - diff --git a/docs/_userdocs/DEBUGGING.md b/docs/DEBUGGING.md similarity index 99% rename from docs/_userdocs/DEBUGGING.md rename to docs/DEBUGGING.md index 1d3d829a3fc..dc1c8743b44 100644 --- a/docs/_userdocs/DEBUGGING.md +++ b/docs/DEBUGGING.md @@ -209,4 +209,3 @@ Whenever possible, the following should be mentioned and attached to your bug re * ideally after booting with `systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M printk.devkmsg=on` * The output of a systemd dump: `systemd-analyze dump > systemd-dump.txt` * The output of `/usr/lib/systemd/systemd --test --system --log-level=debug > systemd-test.txt 2>&1` - diff --git a/docs/_concepts/DESKTOP_ENVIRONMENTS.md b/docs/DESKTOP_ENVIRONMENTS.md similarity index 100% rename from docs/_concepts/DESKTOP_ENVIRONMENTS.md rename to docs/DESKTOP_ENVIRONMENTS.md diff --git a/docs/_concepts/DISTRO_PORTING.md b/docs/DISTRO_PORTING.md similarity index 100% rename from docs/_concepts/DISTRO_PORTING.md rename to docs/DISTRO_PORTING.md diff --git a/docs/_interfaces/ELF_PACKAGE_METADATA.md b/docs/ELF_PACKAGE_METADATA.md similarity index 100% rename from docs/_interfaces/ELF_PACKAGE_METADATA.md rename to docs/ELF_PACKAGE_METADATA.md diff --git a/docs/_interfaces/ENVIRONMENT.md b/docs/ENVIRONMENT.md similarity index 100% rename from docs/_interfaces/ENVIRONMENT.md rename to docs/ENVIRONMENT.md diff --git a/docs/_userdocs/FAQ.md b/docs/FAQ.md similarity index 99% rename from docs/_userdocs/FAQ.md rename to docs/FAQ.md index 5239dbb0e5f..483645b1e72 100644 --- a/docs/_userdocs/FAQ.md +++ b/docs/FAQ.md @@ -112,4 +112,3 @@ A: That's a long story, and that's why we have a wiki page of its own about this **Q: My systemd system always comes up with `/tmp` as a tiny `tmpfs`. How do I get rid of this?** A: That's also a long story, please have a look on [API File Systems](../API_FILE_SYSTEMS) - diff --git a/docs/_interfaces/FILE_DESCRIPTOR_STORE.md b/docs/FILE_DESCRIPTOR_STORE.md similarity index 100% rename from docs/_interfaces/FILE_DESCRIPTOR_STORE.md rename to docs/FILE_DESCRIPTOR_STORE.md diff --git a/docs/_groups/GROUP_RECORD.md b/docs/GROUP_RECORD.md similarity index 99% rename from docs/_groups/GROUP_RECORD.md rename to docs/GROUP_RECORD.md index f463b0a2a7b..c9d51cef9d0 100644 --- a/docs/_groups/GROUP_RECORD.md +++ b/docs/GROUP_RECORD.md @@ -8,7 +8,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later # JSON Group Records Long story short: JSON Group Records are to `struct group` what -[JSON User Records](USER_RECORD) are to `struct passwd`. +[JSON User Records](USER_RECORD.md) are to `struct passwd`. Conceptually, much of what applies to JSON user records also applies to JSON group records. They also consist of seven sections, with similar properties and diff --git a/docs/_contributing/HACKING.md b/docs/HACKING.md similarity index 98% rename from docs/_contributing/HACKING.md rename to docs/HACKING.md index 270c39b587a..bd792092f79 100644 --- a/docs/_contributing/HACKING.md +++ b/docs/HACKING.md @@ -11,8 +11,8 @@ We welcome all contributions to systemd. If you notice a bug or a missing feature, please feel invited to fix it, and submit your work as a [GitHub Pull Request (PR)](https://github.com/systemd/systemd/pull/new). -Please make sure to follow our [Coding Style](CODING_STYLE) when submitting -patches. Also have a look at our [Contribution Guidelines](CONTRIBUTING). +Please make sure to follow our [Coding Style](CODING_STYLE.md) when submitting +patches. Also have a look at our [Contribution Guidelines](CONTRIBUTING.md). When adding new functionality, tests should be added. For shared functionality (in `src/basic/` and `src/shared/`) unit tests should be sufficient. The general @@ -23,7 +23,7 @@ test executable. For features at a higher level, tests in `src/test/` are very strongly recommended. If that is not possible, integration tests in `test/` are encouraged. -Please also have a look at our list of [code quality tools](CODE_QUALITY) we +Please also have a look at our list of [code quality tools](CODE_QUALITY.md) we have setup for systemd, to ensure our codebase stays in good shape. Please always test your work before submitting a PR. For many of the components @@ -148,7 +148,7 @@ distribution and can be disabled by setting `-Dmode=release`. ## Sanitizers in mkosi -See [Testing systemd using sanitizers](TESTING_WITH_SANITIZERS) for more information +See [Testing systemd using sanitizers](TESTING_WITH_SANITIZERS.md) for more information on how to build with sanitizers enabled in mkosi. ## Fuzzers @@ -211,7 +211,7 @@ done ``` If you find a bug that impacts the security of systemd, please follow the -guidance in [CONTRIBUTING.md](CONTRIBUTING) on how to report a security vulnerability. +guidance in [CONTRIBUTING.md](CONTRIBUTING.md) on how to report a security vulnerability. For more details on building fuzzers and integrating with OSS-Fuzz, visit: diff --git a/docs/_groups/HOME_DIRECTORY.md b/docs/HOME_DIRECTORY.md similarity index 99% rename from docs/_groups/HOME_DIRECTORY.md rename to docs/HOME_DIRECTORY.md index f1b7fafed94..f6e061bd2b7 100644 --- a/docs/_groups/HOME_DIRECTORY.md +++ b/docs/HOME_DIRECTORY.md @@ -19,7 +19,7 @@ mechanism used. Inside of the home directory a file `~/.identity` contains the JSON formatted user record of the user. It follows the format defined in -[`JSON User Records`](USER_RECORD). It is recommended to bring the +[`JSON User Records`](USER_RECORD.md). It is recommended to bring the record into 'normalized' form (i.e. all objects should contain their fields sorted alphabetically by their key) before storing it there, though this is not required nor enforced. Since the user record is cryptographically signed, the diff --git a/docs/_userdocs/INCOMPATIBILITIES.md b/docs/INCOMPATIBILITIES.md similarity index 98% rename from docs/_userdocs/INCOMPATIBILITIES.md rename to docs/INCOMPATIBILITIES.md index be256deaf26..a7a2c1b8275 100644 --- a/docs/_userdocs/INCOMPATIBILITIES.md +++ b/docs/INCOMPATIBILITIES.md @@ -13,7 +13,7 @@ systemd provides a fair degree of compatibility with the behavior exposed by the * LSB header dependency information matters. The SysV implementations on many distributions did not use the dependency information encoded in LSB init script headers, or used them only in very limited ways. Due to that they are often incorrect or incomplete. systemd however fully interprets these headers and follows them closely at runtime (and not at installation time like some implementations). * Timeouts apply to all init script operations in systemd. While on SysV systems a hanging init script could freeze the system on systemd all init script operations are subject to a timeout of 5min. * Services are executed in completely clean execution contexts, no context of the invoking user session is inherited. Not even $HOME or similar are set. Init scripts depending on these will not work correctly. -* Services cannot read from stdin, as this will be connected to /dev/null. That means interactive init scripts are not supported (i.e. Debian's X-Interactive in the LSB header is not supported either.) Thankfully most distributions do not support interaction in init scripts anyway. If you need interaction to ask disk or SSL passphrases please consider using the minimal password querying framework systemd supports. ([details](PASSWORD_AGENTS), [manual page](http://0pointer.de/public/systemd-man/systemd-ask-password.html)) +* Services cannot read from stdin, as this will be connected to /dev/null. That means interactive init scripts are not supported (i.e. Debian's X-Interactive in the LSB header is not supported either.) Thankfully most distributions do not support interaction in init scripts anyway. If you need interaction to ask disk or SSL passphrases please consider using the minimal password querying framework systemd supports. ([details](../PASSWORD_AGENTS), [manual page](http://0pointer.de/public/systemd-man/systemd-ask-password.html)) * Additional verbs for init scripts are not supported. If your init script traditionally supported additional verbs for your init script simply move them to an auxiliary script. * Additional parameters to the standard verbs (i.e. to "start", "stop" and "status") are not supported. This was an extension of SysV that never was standardized officially, and is not supported in systemd. * Overriding the "restart" verb is not supported. This verb is always implemented by systemd itself, and consists of a "stop" followed by a "start". diff --git a/docs/_devdocs/INHIBITOR_LOCKS.md b/docs/INHIBITOR_LOCKS.md similarity index 100% rename from docs/_devdocs/INHIBITOR_LOCKS.md rename to docs/INHIBITOR_LOCKS.md diff --git a/docs/_interfaces/INITRD_INTERFACE.md b/docs/INITRD_INTERFACE.md similarity index 98% rename from docs/_interfaces/INITRD_INTERFACE.md rename to docs/INITRD_INTERFACE.md index 0461ae2607b..4e856f89177 100644 --- a/docs/_interfaces/INITRD_INTERFACE.md +++ b/docs/INITRD_INTERFACE.md @@ -40,7 +40,7 @@ Arch Linux initrds. line options, for example `--log-level=` and similar. * Storage daemons run from the initrd should follow the guide on - [systemd and Storage Daemons for the Root File System](ROOT_STORAGE_DAEMONS) + [systemd and Storage Daemons for the Root File System](ROOT_STORAGE_DAEMONS.md) to survive properly from the boot initrd all the way to the point where systemd jumps back into the initrd for shutdown. @@ -67,4 +67,4 @@ systemd. Here are a few terse notes: * The switch-root operation will result in a killing spree of all running processes. Some processes might need to be excluded from that, see the guide - on [systemd and Storage Daemons for the Root File System](ROOT_STORAGE_DAEMONS). + on [systemd and Storage Daemons for the Root File System](ROOT_STORAGE_DAEMONS.md). diff --git a/docs/_interfaces/JOURNAL_EXPORT_FORMATS.md b/docs/JOURNAL_EXPORT_FORMATS.md similarity index 99% rename from docs/_interfaces/JOURNAL_EXPORT_FORMATS.md rename to docs/JOURNAL_EXPORT_FORMATS.md index e1eb0d36d1c..2c4078aed92 100644 --- a/docs/_interfaces/JOURNAL_EXPORT_FORMATS.md +++ b/docs/JOURNAL_EXPORT_FORMATS.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later _Note that this document describes the binary serialization format of journals only, as used for transfer across the network. For interfacing with web technologies there's the Journal JSON Format, described below. -The binary format on disk is documented as the [Journal File Format](JOURNAL_FILE_FORMAT)._ +The binary format on disk is documented as the [Journal File Format](JOURNAL_FILE_FORMAT.md)._ _Before reading on, please make sure you are aware of the [basic properties of journal entries](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), in particular realize that they may include binary non-text data (though usually don't), and the same field might have multiple values assigned within the same entry (though usually hasn't)._ @@ -124,7 +124,7 @@ _SOURCE_REALTIME_TIMESTAMP=1423944916372858 _Note that this section describes the JSON serialization format of the journal only, as used for interfacing with web technologies. For binary transfer of journal data across the network there's the Journal Export Format described above. -The binary format on disk is documented as [Journal File Format](JOURNAL_FILE_FORMAT)._ +The binary format on disk is documented as [Journal File Format](JOURNAL_FILE_FORMAT.md)._ _Before reading on, please make sure you are aware of the [basic properties of journal entries](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html), in particular realize that they may include binary non-text data (though usually don't), and the same field might have multiple values assigned within the same entry (though usually hasn't)._ diff --git a/docs/_interfaces/JOURNAL_FILE_FORMAT.md b/docs/JOURNAL_FILE_FORMAT.md similarity index 99% rename from docs/_interfaces/JOURNAL_FILE_FORMAT.md rename to docs/JOURNAL_FILE_FORMAT.md index e0737c59332..a3edb56c88e 100644 --- a/docs/_interfaces/JOURNAL_FILE_FORMAT.md +++ b/docs/JOURNAL_FILE_FORMAT.md @@ -46,7 +46,7 @@ _Or, to put this in other words: this low-level document is probably not what you want to use as base of your project. You want our [C API](https://www.freedesktop.org/software/systemd/man/sd-journal.html) instead! And if you really don't want the C API, then you want the -[Journal Export Format or Journal JSON Format](JOURNAL_EXPORT_FORMATS) +[Journal Export Format or Journal JSON Format](JOURNAL_EXPORT_FORMATS.md) instead! This document is primarily for your entertainment and education. Thank you!_ diff --git a/docs/_interfaces/JOURNAL_NATIVE_PROTOCOL.md b/docs/JOURNAL_NATIVE_PROTOCOL.md similarity index 100% rename from docs/_interfaces/JOURNAL_NATIVE_PROTOCOL.md rename to docs/JOURNAL_NATIVE_PROTOCOL.md diff --git a/docs/_interfaces/MEMORY_PRESSURE.md b/docs/MEMORY_PRESSURE.md similarity index 100% rename from docs/_interfaces/MEMORY_PRESSURE.md rename to docs/MEMORY_PRESSURE.md diff --git a/docs/_devdocs/MINIMAL_BUILDS.md b/docs/MINIMAL_BUILDS.md similarity index 100% rename from docs/_devdocs/MINIMAL_BUILDS.md rename to docs/MINIMAL_BUILDS.md diff --git a/docs/_booting/MOUNT_REQUIREMENTS.md b/docs/MOUNT_REQUIREMENTS.md similarity index 100% rename from docs/_booting/MOUNT_REQUIREMENTS.md rename to docs/MOUNT_REQUIREMENTS.md diff --git a/docs/_userdocs/MY_SERVICE_CANT_GET_REATLIME.md b/docs/MY_SERVICE_CANT_GET_REATLIME.md similarity index 99% rename from docs/_userdocs/MY_SERVICE_CANT_GET_REATLIME.md rename to docs/MY_SERVICE_CANT_GET_REATLIME.md index eee389ad703..20d31fbde7e 100644 --- a/docs/_userdocs/MY_SERVICE_CANT_GET_REATLIME.md +++ b/docs/MY_SERVICE_CANT_GET_REATLIME.md @@ -26,4 +26,3 @@ Of course, that's quite a limitation, so here's how you work around this: Note that this all only applies to services. By default, user applications run in the root cgroup of the "cpu" hierarchy, which avoids these problems for normal user applications. In the long run we hope that the kernel is fixed to not require an RT budget to be assigned for any cgroup created before a process can acquire RT (i.e. a process' RT budget should be derived from the nearest ancestor cgroup which has a budget assigned, rather than unconditionally its own uninitialized budget.) Ideally, we'd also like to create a per-user cgroup by default, so that users with many processes get roughly the same amount of CPU as users with very few. - diff --git a/docs/_networking/NETWORK_ONLINE.md b/docs/NETWORK_ONLINE.md similarity index 100% rename from docs/_networking/NETWORK_ONLINE.md rename to docs/NETWORK_ONLINE.md diff --git a/docs/_devdocs/OPTIMIZATIONS.md b/docs/OPTIMIZATIONS.md similarity index 100% rename from docs/_devdocs/OPTIMIZATIONS.md rename to docs/OPTIMIZATIONS.md diff --git a/docs/_interfaces/PASSWORD_AGENTS.md b/docs/PASSWORD_AGENTS.md similarity index 100% rename from docs/_interfaces/PASSWORD_AGENTS.md rename to docs/PASSWORD_AGENTS.md diff --git a/docs/_interfaces/PORTABILITY_AND_STABILITY.md b/docs/PORTABILITY_AND_STABILITY.md similarity index 96% rename from docs/_interfaces/PORTABILITY_AND_STABILITY.md rename to docs/PORTABILITY_AND_STABILITY.md index abdc3dc6580..2854857d2b3 100644 --- a/docs/_interfaces/PORTABILITY_AND_STABILITY.md +++ b/docs/PORTABILITY_AND_STABILITY.md @@ -83,9 +83,9 @@ And now, here's the list of (hopefully) all APIs that we have introduced with sy | [hostnamed](https://www.freedesktop.org/software/systemd/man/org.freedesktop.hostname1.html) | D-Bus | yes | yes | GNOME | yes | [Ubuntu](https://launchpad.net/ubuntu/+source/ubuntu-system-service), [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially | | [localed](https://www.freedesktop.org/software/systemd/man/org.freedesktop.locale1.html) | D-Bus | yes | yes | GNOME | yes | [Ubuntu](https://launchpad.net/ubuntu/+source/ubuntu-system-service), [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially | | [timedated](https://www.freedesktop.org/software/systemd/man/org.freedesktop.timedate1.html) | D-Bus | yes | yes | GNOME | yes | [Gentoo](http://www.gentoo.org/proj/en/desktop/gnome/openrc-settingsd.xml), [BSD](http://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary) | partially | -| [initrd interface](INITRD_INTERFACE) | Environment, flag files | yes | yes | mkosi, dracut, ArchLinux | yes | ArchLinux | no | -| [Container interface](CONTAINER_INTERFACE) | Environment, Mounts | yes | yes | libvirt/LXC | yes | - | no | -| [Boot Loader interface](BOOT_LOADER_INTERFACE) | EFI variables | yes | yes | gummiboot | yes | - | no | +| [initrd interface](INITRD_INTERFACE.md) | Environment, flag files | yes | yes | mkosi, dracut, ArchLinux | yes | ArchLinux | no | +| [Container interface](CONTAINER_INTERFACE.md) | Environment, Mounts | yes | yes | libvirt/LXC | yes | - | no | +| [Boot Loader interface](BOOT_LOADER_INTERFACE.md) | EFI variables | yes | yes | gummiboot | yes | - | no | | [Service bus API](https://www.freedesktop.org/software/systemd/man/org.freedesktop.systemd1.html) | D-Bus | yes | yes | system-config-services | no | - | no | | [logind](https://www.freedesktop.org/software/systemd/man/org.freedesktop.login1.html) | D-Bus | yes | yes | GNOME | no | - | no | | [sd-bus.h API](https://www.freedesktop.org/software/systemd/man/sd-bus.html) | C Library | yes | yes | - | maybe | - | maybe | @@ -102,15 +102,15 @@ And now, here's the list of (hopefully) all APIs that we have introduced with sy | [$XDG_RUNTIME_DIR](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) | Environment | yes | yes | glib, GNOME | yes | - | no | | [$LISTEN_FDS $LISTEN_PID FD Passing](https://www.freedesktop.org/software/systemd/man/sd_listen_fds.html) | Environment | yes | yes | numerous (via sd-daemon.h) | yes | - | no | | [$NOTIFY_SOCKET Daemon Notifications](https://www.freedesktop.org/software/systemd/man/sd_notify.html) | Environment | yes | yes | a few, including udev | yes | - | no | -| [argv[0][0]='@' Logic](ROOT_STORAGE_DAEMONS) | `/proc` marking | yes | yes | mdadm | yes | - | no | +| [argv[0][0]='@' Logic](ROOT_STORAGE_DAEMONS.md) | `/proc` marking | yes | yes | mdadm | yes | - | no | | [Unit file format](https://www.freedesktop.org/software/systemd/man/systemd.unit.html) | File format | yes | yes | numerous | no | - | no | | [Network](https://www.freedesktop.org/software/systemd/man/systemd.network.html) & [Netdev file format](https://www.freedesktop.org/software/systemd/man/systemd.netdev.html) | File format | yes | yes | no | no | - | no | | [Link file format](https://www.freedesktop.org/software/systemd/man/systemd.link.html) | File format | yes | yes | no | no | - | no | -| [Journal File Format](JOURNAL_FILE_FORMAT) | File format | yes | yes | - | maybe | - | no | +| [Journal File Format](JOURNAL_FILE_FORMAT.md) | File format | yes | yes | - | maybe | - | no | | [Journal Export Format](JOURNAL_EXPORT_FORMATS.md#journal-export-format) | File format | yes | yes | - | yes | - | no | | [Journal JSON Format](JOURNAL_EXPORT_FORMATS.md#journal-json-format) | File format | yes | yes | - | yes | - | no | | [Cooperation in cgroup tree](https://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups) | Treaty | yes | yes | libvirt | yes | libvirt | no | -| [Password Agents](PASSWORD_AGENTS) | Socket+Files | yes | yes | - | yes | - | no | +| [Password Agents](PASSWORD_AGENTS.md) | Socket+Files | yes | yes | - | yes | - | no | | [udev multi-seat properties](https://www.freedesktop.org/software/systemd/man/sd-login.html) | udev Property | yes | yes | X11, gdm | no | - | no | | udev session switch ACL properties | udev Property | no | no | - | no | - | no | | [CLI of systemctl,...](https://www.freedesktop.org/software/systemd/man/systemctl.html) | CLI | yes | yes | numerous | no | - | no | diff --git a/docs/_concepts/PORTABLE_SERVICES.md b/docs/PORTABLE_SERVICES.md similarity index 100% rename from docs/_concepts/PORTABLE_SERVICES.md rename to docs/PORTABLE_SERVICES.md diff --git a/docs/_contributing/PORTING_TO_NEW_ARCHITECTURES.md b/docs/PORTING_TO_NEW_ARCHITECTURES.md similarity index 100% rename from docs/_contributing/PORTING_TO_NEW_ARCHITECTURES.md rename to docs/PORTING_TO_NEW_ARCHITECTURES.md diff --git a/docs/_networking/PREDICTABLE_INTERFACE_NAMES.md b/docs/PREDICTABLE_INTERFACE_NAMES.md similarity index 100% rename from docs/_networking/PREDICTABLE_INTERFACE_NAMES.md rename to docs/PREDICTABLE_INTERFACE_NAMES.md diff --git a/docs/_devdocs/PRESET.md b/docs/PRESET.md similarity index 100% rename from docs/_devdocs/PRESET.md rename to docs/PRESET.md diff --git a/docs/_concepts/RANDOM_SEEDS.md b/docs/RANDOM_SEEDS.md similarity index 99% rename from docs/_concepts/RANDOM_SEEDS.md rename to docs/RANDOM_SEEDS.md index b2712ca7411..8c9b7eee56f 100644 --- a/docs/_concepts/RANDOM_SEEDS.md +++ b/docs/RANDOM_SEEDS.md @@ -384,7 +384,7 @@ This primarily leaves two kind of systems in the cold: for an introduction why. That said, any boot loader can re-implement the logic described above, and can pass a random seed that systemd as PID 1 will then upload into the kernel's entropy pool. For details see the - [Boot Loader Interface](BOOT_LOADER_INTERFACE) documentation. + [Boot Loader Interface](BOOT_LOADER_INTERFACE.md) documentation. 11. *Why not pass the boot loader random seed via kernel command line instead of as EFI variable?* diff --git a/docs/_contributing/RELEASE.md b/docs/RELEASE.md similarity index 100% rename from docs/_contributing/RELEASE.md rename to docs/RELEASE.md diff --git a/docs/_networking/RESOLVED-VPNS.md b/docs/RESOLVED-VPNS.md similarity index 100% rename from docs/_networking/RESOLVED-VPNS.md rename to docs/RESOLVED-VPNS.md diff --git a/docs/_interfaces/ROOT_STORAGE_DAEMONS.md b/docs/ROOT_STORAGE_DAEMONS.md similarity index 99% rename from docs/_interfaces/ROOT_STORAGE_DAEMONS.md rename to docs/ROOT_STORAGE_DAEMONS.md index 69812c90559..1ffebd64984 100644 --- a/docs/_interfaces/ROOT_STORAGE_DAEMONS.md +++ b/docs/ROOT_STORAGE_DAEMONS.md @@ -106,7 +106,7 @@ to find a different solution to your problem._ The recommended way to distinguish between run-from-initrd and run-from-rootfs for a daemon is to check for `/etc/initrd-release` (which exists on all modern -initrd implementations, see the [initrd Interface](INITRD_INTERFACE) for +initrd implementations, see the [initrd Interface](INITRD_INTERFACE.md) for details) which when exists results in `argv[0][0]` being set to `@`, and otherwise doesn't. Something like this: @@ -191,4 +191,4 @@ few additional notes for supporting these setups: program consult this blog story: [Socket Activation](https://0pointer.de/blog/projects/socket-activation.html) -* Consider having a look at the [initrd Interface of systemd](INITRD_INTERFACE). +* Consider having a look at the [initrd Interface of systemd](INITRD_INTERFACE.md). diff --git a/docs/_contributing/SECURITY.md b/docs/SECURITY.md similarity index 100% rename from docs/_contributing/SECURITY.md rename to docs/SECURITY.md diff --git a/docs/_userdocs/SEPARATE_USR_IS_BROKEN.md b/docs/SEPARATE_USR_IS_BROKEN.md similarity index 99% rename from docs/_userdocs/SEPARATE_USR_IS_BROKEN.md rename to docs/SEPARATE_USR_IS_BROKEN.md index aa821f4a72f..8e9390eff44 100644 --- a/docs/_userdocs/SEPARATE_USR_IS_BROKEN.md +++ b/docs/SEPARATE_USR_IS_BROKEN.md @@ -38,4 +38,3 @@ On the Fedora distribution we have succeeded to clean up the situation and the c In this new definition of /usr, the directory can be mounted read-only by default, while the rootfs may be either read-write or read-only (for stateless systems) and contains only the empty mount point directories, compat-symlinks to /usr and the host-specific data like /etc, /root, /srv. In comparison to today's setups, the rootfs will be very small. The host-specific data will be properly separated from the installed operating system. The new /usr could also easily be shared read-only across several systems. Such a setup would be more efficient, can provide additional security, is more flexible to use, provides saner options for custom setups, and is much simpler to setup and maintain. For more information on this please continue to [The Case for the /usr Merge](../THE_CASE_FOR_THE_USR_MERGE). - diff --git a/docs/_devdocs/SYSLOG.md b/docs/SYSLOG.md similarity index 100% rename from docs/_devdocs/SYSLOG.md rename to docs/SYSLOG.md diff --git a/docs/_devdocs/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md b/docs/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md similarity index 100% rename from docs/_devdocs/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md rename to docs/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS.md diff --git a/docs/_interfaces/TEMPORARY_DIRECTORIES.md b/docs/TEMPORARY_DIRECTORIES.md similarity index 100% rename from docs/_interfaces/TEMPORARY_DIRECTORIES.md rename to docs/TEMPORARY_DIRECTORIES.md diff --git a/docs/_contributing/TESTING_WITH_SANITIZERS.md b/docs/TESTING_WITH_SANITIZERS.md similarity index 100% rename from docs/_contributing/TESTING_WITH_SANITIZERS.md rename to docs/TESTING_WITH_SANITIZERS.md diff --git a/docs/_devdocs/THE_CASE_FOR_THE_USR_MERGE.md b/docs/THE_CASE_FOR_THE_USR_MERGE.md similarity index 100% rename from docs/_devdocs/THE_CASE_FOR_THE_USR_MERGE.md rename to docs/THE_CASE_FOR_THE_USR_MERGE.md diff --git a/docs/_userdocs/TIPS_AND_TRICKS.md b/docs/TIPS_AND_TRICKS.md similarity index 99% rename from docs/_userdocs/TIPS_AND_TRICKS.md rename to docs/TIPS_AND_TRICKS.md index d9a106a9228..f181f122a84 100644 --- a/docs/_userdocs/TIPS_AND_TRICKS.md +++ b/docs/TIPS_AND_TRICKS.md @@ -183,4 +183,3 @@ $ systemd --test --system --unit=foobar.target ``` for a boot target foobar.target. Note that this is mostly a debugging tool that actually does a lot more than just calculate the initial transaction, so don't build scripts based on this. - diff --git a/docs/_booting/TPM2_PCR_MEASUREMENTS.md b/docs/TPM2_PCR_MEASUREMENTS.md similarity index 100% rename from docs/_booting/TPM2_PCR_MEASUREMENTS.md rename to docs/TPM2_PCR_MEASUREMENTS.md diff --git a/docs/_interfaces/TRANSIENT-SETTINGS.md b/docs/TRANSIENT-SETTINGS.md similarity index 100% rename from docs/_interfaces/TRANSIENT-SETTINGS.md rename to docs/TRANSIENT-SETTINGS.md diff --git a/docs/_contributing/TRANSLATORS.md b/docs/TRANSLATORS.md similarity index 100% rename from docs/_contributing/TRANSLATORS.md rename to docs/TRANSLATORS.md diff --git a/docs/_groups/UIDS-GIDS.md b/docs/UIDS-GIDS.md similarity index 100% rename from docs/_groups/UIDS-GIDS.md rename to docs/UIDS-GIDS.md diff --git a/docs/_groups/USERDB_AND_DESKTOPS.md b/docs/USERDB_AND_DESKTOPS.md similarity index 97% rename from docs/_groups/USERDB_AND_DESKTOPS.md rename to docs/USERDB_AND_DESKTOPS.md index 3a3da1317aa..9006eeb5ec3 100644 --- a/docs/_groups/USERDB_AND_DESKTOPS.md +++ b/docs/USERDB_AND_DESKTOPS.md @@ -21,10 +21,10 @@ are recommended. A few areas where that applies are discussed below. Before reading on, please read up on the basic concepts, specifically: -* [Home Directories](HOME_DIRECTORY) -* [JSON User Records](USER_RECORD) -* [JSON Group Records](GROUP_RECORD) -* [User/Group Record Lookup API via Varlink](USER_GROUP_API) +* [Home Directories](HOME_DIRECTORY.md) +* [JSON User Records](USER_RECORD.md) +* [JSON Group Records](GROUP_RECORD.md) +* [User/Group Record Lookup API via Varlink](USER_GROUP_API.md) ## Support for Suspending Home Directory Access during System Suspend @@ -147,7 +147,7 @@ solution only. In case you wonder, there's no automatic mechanism for converting existing users registered in `/etc/passwd` or LDAP to users managed by `systemd-homed`. There's documentation for doing this manually though, see -[Converting Existing Users to systemd-homed managed Users](CONVERTING_TO_HOMED). +[Converting Existing Users to systemd-homed managed Users](CONVERTING_TO_HOMED.md). ## Future Additions diff --git a/docs/_groups/USER_GROUP_API.md b/docs/USER_GROUP_API.md similarity index 99% rename from docs/_groups/USER_GROUP_API.md rename to docs/USER_GROUP_API.md index 567b8178f28..45e3c9da27f 100644 --- a/docs/_groups/USER_GROUP_API.md +++ b/docs/USER_GROUP_API.md @@ -7,8 +7,8 @@ SPDX-License-Identifier: LGPL-2.1-or-later # User/Group Record Lookup API via Varlink -JSON User/Group Records (as described in the [JSON User Records](USER_RECORD) -and [JSON Group Records](GROUP_RECORD) documents) that are defined on the +JSON User/Group Records (as described in the [JSON User Records](USER_RECORD.md) +and [JSON Group Records](GROUP_RECORD.md) documents) that are defined on the local system may be queried with a [Varlink](https://varlink.org/) API. This API takes both the role of what [`getpwnam(3)`](https://man7.org/linux/man-pages/man3/getpwnam.3.html) and diff --git a/docs/_groups/USER_NAMES.md b/docs/USER_NAMES.md similarity index 100% rename from docs/_groups/USER_NAMES.md rename to docs/USER_NAMES.md diff --git a/docs/_groups/USER_RECORD.md b/docs/USER_RECORD.md similarity index 99% rename from docs/_groups/USER_RECORD.md rename to docs/USER_RECORD.md index b88a67e66b8..f28106797e0 100644 --- a/docs/_groups/USER_RECORD.md +++ b/docs/USER_RECORD.md @@ -15,7 +15,7 @@ pairs, encoded as JSON. Specifically: 1. [`systemd-homed.service`](https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html) manages `human` user home directories and embeds these JSON records directly in the home directory images - (see [Home Directories](HOME_DIRECTORY) for details). + (see [Home Directories](HOME_DIRECTORY.md) for details). 2. [`pam_systemd`](https://www.freedesktop.org/software/systemd/man/pam_systemd.html) processes these JSON records for users that log in, and applies various @@ -72,7 +72,7 @@ the following extensions are envisioned: 4. Default parameters for backup applications and similar Similar to JSON User Records there are also -[JSON Group Records](GROUP_RECORD) that encapsulate UNIX groups. +[JSON Group Records](GROUP_RECORD.md) that encapsulate UNIX groups. JSON User Records are not suitable for storing all identity information about the user, such as binary data or large unstructured blobs of text. These parts @@ -80,7 +80,7 @@ of a user's identity should be stored in the [Blob Directories](USER_RECORD_BLOB JSON User Records may be transferred or written to disk in various protocols and formats. To inquire about such records defined on the local system use the -[User/Group Lookup API via Varlink](USER_GROUP_API). User/group records may +[User/Group Lookup API via Varlink](USER_GROUP_API.md). User/group records may also be dropped in number of drop-in directories as files. See [`nss-systemd(8)`](https://www.freedesktop.org/software/systemd/man/nss-systemd.html) for details. @@ -218,7 +218,7 @@ object. The following fields are currently defined: UNIX user name. This field is the only mandatory field, all others are optional. Corresponds with the `pw_name` field of `struct passwd` and the `sp_namp` field of `struct spwd` (i.e. the shadow user record stored in -`/etc/shadow`). See [User/Group Name Syntax](USER_NAMES) for +`/etc/shadow`). See [User/Group Name Syntax](USER_NAMES.md) for the (relaxed) rules the various systemd components enforce on user/group names. `realm` → The "realm" a user is defined in. This concept allows distinguishing diff --git a/docs/_devdocs/VIRTUALIZED_TESTING.md b/docs/VIRTUALIZED_TESTING.md similarity index 100% rename from docs/_devdocs/VIRTUALIZED_TESTING.md rename to docs/VIRTUALIZED_TESTING.md diff --git a/docs/_devdocs/WRITING_DESKTOP_ENVIRONMENTS.md b/docs/WRITING_DESKTOP_ENVIRONMENTS.md similarity index 100% rename from docs/_devdocs/WRITING_DESKTOP_ENVIRONMENTS.md rename to docs/WRITING_DESKTOP_ENVIRONMENTS.md diff --git a/docs/_devdocs/WRITING_DISPLAY_MANAGERS.md b/docs/WRITING_DISPLAY_MANAGERS.md similarity index 100% rename from docs/_devdocs/WRITING_DISPLAY_MANAGERS.md rename to docs/WRITING_DISPLAY_MANAGERS.md diff --git a/docs/_devdocs/WRITING_NETWORK_CONFIGURATION_MANAGERS.md b/docs/WRITING_NETWORK_CONFIGURATION_MANAGERS.md similarity index 100% rename from docs/_devdocs/WRITING_NETWORK_CONFIGURATION_MANAGERS.md rename to docs/WRITING_NETWORK_CONFIGURATION_MANAGERS.md diff --git a/docs/_devdocs/WRITING_RESOLVER_CLIENTS.md b/docs/WRITING_RESOLVER_CLIENTS.md similarity index 100% rename from docs/_devdocs/WRITING_RESOLVER_CLIENTS.md rename to docs/WRITING_RESOLVER_CLIENTS.md diff --git a/docs/_devdocs/WRITING_VM_AND_CONTAINER_MANAGERS.md b/docs/WRITING_VM_AND_CONTAINER_MANAGERS.md similarity index 100% rename from docs/_devdocs/WRITING_VM_AND_CONTAINER_MANAGERS.md rename to docs/WRITING_VM_AND_CONTAINER_MANAGERS.md diff --git a/docs/_config.yml b/docs/_config.yml index 3d44889f80d..412db1f413f 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -4,32 +4,7 @@ title: systemd baseurl: "" # the subpath of your site, e.g. /blog/ url: "https://systemd.io" # the base hostname & protocol for your site +permalink: /:title/ + # Build settings markdown: kramdown - -collections: - concepts: - title: 'Concepts' - output: true - contributing: - title: 'Contributing' - output: true - userdocs: - output: true - title: 'Documentation for Users and Administrators' - booting: - title: 'Booting' - output: true - interfaces: - title: 'Interfaces' - output: true - networking: - title: 'Networking' - output: true - groups: - title: 'Users, Groups and Home Directories' - output: true - devdocs: - title: 'Documentation for Developers' - output: true - diff --git a/docs/_data/extra_pages.json b/docs/_data/extra_pages.json index 908e3a83dc0..a393bb067a4 100644 --- a/docs/_data/extra_pages.json +++ b/docs/_data/extra_pages.json @@ -1,4 +1,44 @@ [ + { + "category": "Project", + "title": "mkosi Project - Build Bespoke OS Images", + "url": "https://mkosi.systemd.io/" + }, + { + "category": "Project", + "title": "Brand", + "url": "https://brand.systemd.io/" + }, + { + "category": "Project", + "title": "Mailing List", + "url": "https://lists.freedesktop.org/mailman/listinfo/systemd-devel" + }, + { + "category": "Project", + "title": "Mastodon", + "url": "https://mastodon.social/@pid_eins" + }, + { + "category": "Project", + "title": "Releases", + "url": "https://github.com/systemd/systemd/releases" + }, + { + "category": "Project", + "title": "GitHub Project Page", + "url": "https://github.com/systemd/systemd" + }, + { + "category": "Project", + "title": "Issues", + "url": "https://github.com/systemd/systemd/issues" + }, + { + "category": "Project", + "title": "Pull Requests", + "url": "https://github.com/systemd/systemd/pulls" + }, { "category": "Manual Pages", "title": "Index", diff --git a/docs/_data/project.json b/docs/_data/project.json deleted file mode 100644 index 606c7844832..00000000000 --- a/docs/_data/project.json +++ /dev/null @@ -1,42 +0,0 @@ -[ - { - "category": "Project", - "title": "mkosi Project - Build Bespoke OS Images", - "url": "https://mkosi.systemd.io/" - }, - { - "collection": "project", - "title": "Brand", - "url": "https://brand.systemd.io/" - }, - { - "collection": "project", - "title": "Mailing List", - "url": "https://lists.freedesktop.org/mailman/listinfo/systemd-devel" - }, - { - "collection": "project", - "title": "Mastodon", - "url": "https://mastodon.social/@pid_eins" - }, - { - "collection": "project", - "title": "Releases", - "url": "https://github.com/systemd/systemd/releases" - }, - { - "collection": "project", - "title": "GitHub Project Page", - "url": "https://github.com/systemd/systemd" - }, - { - "collection": "project", - "title": "Issues", - "url": "https://github.com/systemd/systemd/issues" - }, - { - "collection": "project", - "title": "Pull Requests", - "url": "https://github.com/systemd/systemd/pulls" - } -] diff --git a/docs/index.md b/docs/index.md index cd3916ca320..3c05c935504 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,27 +12,17 @@ systemd provides aggressive parallelization capabilities, uses socket and D-Bus Other parts include a logging daemon, utilities to control basic system configuration like the hostname, date, locale, maintain a list of logged-in users and running containers and virtual machines, system accounts, runtime directories and settings, and daemons to manage simple network configuration, network time synchronization, log forwarding, and name resolution. --- -## Project -{% for page in site.data.project %} -* [{{ page.title }}]({{ page.url | relative_url }}){% endfor %} - - -{% for c in site.collections %} - -{% if c.label != "posts" %} -## {{ c.title }} -{% for item in site[c.label] %} -* [{{ item.title }}]({{ item.url | relative_url }}){% endfor %} -{% endif %} -{% endfor %} - - -{% assign external_pages = site.data.extra_pages | group_by:"category" %} - -{% for category in external_pages %} -## {{ category.name }} -{% assign sorted = category.items | sort:"title" %}{% for page in sorted %} + +{% assign by_category = site.pages | group_by:"category" %} +{% assign extra_pages = site.data.extra_pages | group_by:"category" %} +{% assign merged = by_category | concat: extra_pages | sort:"name" %} + +{% for pair in merged %} + {% if pair.name != "" %} +## {{ pair.name }} +{% assign sorted = pair.items | sort:"title" %}{% for page in sorted %} * [{{ page.title }}]({{ page.url | relative_url }}){% endfor %} + {% endif %} {% endfor %} ## See also diff --git a/meson.build b/meson.build index 7b6f0716fec..bf9b8c7e749 100644 --- a/meson.build +++ b/meson.build @@ -2513,13 +2513,13 @@ install_data('LICENSE.GPL2', 'LICENSE.LGPL2.1', 'NEWS', 'README', - 'docs/_contributing/CODING_STYLE.md', - 'docs/_concepts/DISTRO_PORTING.md', - 'docs/_interfaces/ENVIRONMENT.md', - 'docs/_contributing/HACKING.md', - 'docs/_interfaces/TRANSIENT-SETTINGS.md', - 'docs/_contributing/TRANSLATORS.md', - 'docs/_groups/UIDS-GIDS.md', + 'docs/CODING_STYLE.md', + 'docs/DISTRO_PORTING.md', + 'docs/ENVIRONMENT.md', + 'docs/HACKING.md', + 'docs/TRANSIENT-SETTINGS.md', + 'docs/TRANSLATORS.md', + 'docs/UIDS-GIDS.md', install_dir : docdir) install_subdir('LICENSES', diff --git a/test/units/testsuite-46.sh b/test/units/testsuite-46.sh index 52f92c5f570..d097ccdac8c 100755 --- a/test/units/testsuite-46.sh +++ b/test/units/testsuite-46.sh @@ -305,7 +305,7 @@ homectl remove blob-user export PAGER= # Create a couple of user/group records to test io.systemd.DropIn -# See docs/_groups/USER_RECORD.md and docs/_groups/GROUP_RECORD.md +# See docs/USER_RECORD.md and docs/GROUP_RECORD.md mkdir -p /run/userdb/ cat >"/run/userdb/dropingroup.group" <<\EOF {