1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-03 05:18:09 +03:00

docs/DISTRO_PORTING: format text

This commit is contained in:
hulkoba 2024-02-26 14:37:06 +01:00
parent cd851d6270
commit 345115d603
No known key found for this signature in database
GPG Key ID: ACB6C4A3A4F2BE2F

View File

@ -9,8 +9,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later
## HOWTO ## HOWTO
You need to make the follow changes to adapt systemd to your You need to make the follow changes to adapt systemd to your distribution:
distribution:
1. Find the right configure parameters for: 1. Find the right configure parameters for:
@ -27,23 +26,22 @@ distribution:
2. Try it out. 2. Try it out.
Play around (as an ordinary user) with Play around (as an ordinary user) with
`/usr/lib/systemd/systemd --test --system` for a test run `/usr/lib/systemd/systemd --test --system` for a test run of systemd without booting.
of systemd without booting. This will read the unit files and This will read the unit files and print the initial transaction it would execute during boot-up.
print the initial transaction it would execute during boot-up.
This will also inform you about ordering loops and suchlike. This will also inform you about ordering loops and suchlike.
## Compilation options ## Compilation options
The default configuration does not enable any optimization or hardening The default configuration does not enable any optimization or hardening options.
options. This is suitable for development and testing, but not for end-user This is suitable for development and testing, but not for end-user
installations. installations.
For deployment, optimization (`-O2` or `-O3` compiler options), link time For deployment, optimization (`-O2` or `-O3` compiler options), link time
optimization (`-Db_lto=true` meson option), and hardening (e.g. optimization (`-Db_lto=true` meson option), and hardening (e.g.
`-D_FORTIFY_SOURCE=2`, `-fstack-protector-strong`, `-fstack-clash-protection`, `-D_FORTIFY_SOURCE=2`, `-fstack-protector-strong`, `-fstack-clash-protection`,
`-fcf-protection`, `-pie` compiler options, and `-z relro`, `-z now`, `-fcf-protection`, `-pie` compiler options, and `-z relro`, `-z now`,
`--as-needed` linker options) are recommended. The most appropriate set of `--as-needed` linker options) are recommended.
options depends on the architecture and distribution specifics so no default is The most appropriate set of options depends on the architecture and distribution specifics so no default is
provided. provided.
## NTP Pool ## NTP Pool
@ -56,8 +54,9 @@ and can be up to .5s off from servers that use stepped leap seconds.
If you prefer to use leap second steps, please register your own If you prefer to use leap second steps, please register your own
vendor pool at ntp.org and make it the built-in default by vendor pool at ntp.org and make it the built-in default by
passing `-Dntp-servers=` to meson. Registering vendor passing `-Dntp-servers=` to meson.
pools is [free](http://www.pool.ntp.org/en/vendors.html). Registering vendor pools is
[free](http://www.pool.ntp.org/en/vendors.html).
Use `-Dntp-servers=` to direct systemd-timesyncd to different fallback Use `-Dntp-servers=` to direct systemd-timesyncd to different fallback
NTP servers. NTP servers.
@ -75,8 +74,8 @@ DNS servers.
The default PAM config shipped by systemd is really bare bones. The default PAM config shipped by systemd is really bare bones.
It does not include many modules your distro might want to enable It does not include many modules your distro might want to enable
to provide a more seamless experience. For example, limits set in to provide a more seamless experience.
`/etc/security/limits.conf` will not be read unless you load `pam_limits`. For example, limits set in `/etc/security/limits.conf` will not be read unless you load `pam_limits`.
Make sure you add modules your distro expects from user services. Make sure you add modules your distro expects from user services.
Pass `-Dpamconfdir=no` to meson to avoid installing this file and Pass `-Dpamconfdir=no` to meson to avoid installing this file and
@ -85,10 +84,9 @@ instead install your own.
## Contributing Upstream ## Contributing Upstream
We generally no longer accept distribution-specific patches to We generally no longer accept distribution-specific patches to
systemd upstream. If you have to make changes to systemd's source code systemd upstream.
to make it work on your distribution, unless your code is generic If you have to make changes to systemd's source code to make it work on your distribution, unless your code is generic enough to be generally useful, we are unlikely to merge it.
enough to be generally useful, we are unlikely to merge it. Please Please always consider adopting the upstream defaults.
always consider adopting the upstream defaults. If that is not If that is not possible, please maintain the relevant patches downstream.
possible, please maintain the relevant patches downstream.
Thank you for understanding. Thank you for understanding.