X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=DISTRO_PORTING;h=d1a187aa41b22a427169ccac24842f20a790f151;hb=dcfb4b6103f0dc0becff2f91c856c7642544f235;hp=2b08bf81165be2650d7575dff1b19195c29d70ff;hpb=19c5f19d69bb5f520fa7213239490c55de06d99d;p=thirdparty%2Fsystemd.git diff --git a/DISTRO_PORTING b/DISTRO_PORTING index 2b08bf81165..d1a187aa41b 100644 --- a/DISTRO_PORTING +++ b/DISTRO_PORTING @@ -4,55 +4,68 @@ HOWTO: You need to make the follow changes to adapt systemd to your distribution: - 0) Make your distribution recognized via the autoconf checks - in configure.ac. Grep for the word "fedora" (case - insensitively) and you should be able to find the places where - you need to add/change things. - - 1) Patch src/hostname-setup.c so that systemd knows where to - read your host name from. You might also want to update - status_welcome() in util.c. - - 2) Check the unit files in units/ if they match your - distribution. Most likely you will have to make additions to - units/*.m4 and create a copy of units/fedora/ with changes for - your distribution. - - 3) Adjust Makefile.am to register the unit files you added in - step 2. Also you might need to update the m4 invocation in - Makefile.am. Grep for the word "fedora" (case insensitively) - and you should be able to find the places where you need to - add/change things. - - 4) Try it out. Play around with 'systemd --test --system' for - a test run of systemd without booting. This will read the unit - files and print the initial transaction it would execute - during boot-up. This will also inform you about ordering loops - and suchlike. + 1) Find the right configure parameters for: + + -D rootprefix= + -D sysvinit-path= + -D sysvrcnd-path= + -D rc-local= + -D halt-local= + -D loadkeys-path= + -D setfont-path= + -D tty-gid= + -D ntp-servers= + -D dns-servers= + -D support-url= + + 2) Try it out. Play around (as an ordinary user) with + '/usr/lib/systemd/systemd --test --system' for a test run + of systemd without booting. This will read the unit files and + print the initial transaction it would execute during boot-up. + This will also inform you about ordering loops and suchlike. + +NTP POOL: + By default, systemd-timesyncd uses the Google Public NTP servers + time[1-4].google.com, if no other NTP configuration is available. They + serve time that uses a leap second smear, and can be up to .5s off from + servers that use stepped leap seconds. + + https://developers.google.com/time/smear + + 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 + passing --with-ntp-servers= to configure. Registering vendor + pools is free: + + http://www.pool.ntp.org/en/vendors.html + + Use -D ntp-servers= to direct systemd-timesyncd to different fallback + NTP servers. + +DNS SERVERS: + By default, systemd-resolved uses the Google Public DNS servers + 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 as + fallback, if no other DNS configuration is available. + + Use -D dns-servers= to direct systemd-resolved to different fallback + DNS servers. + +PAM: + The default PAM config shipped by systemd is really bare bones. + It does not include many modules your distro might want to enable + to provide a more seamless experience. 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. + + Pass -D pamconfdir=no to meson to avoid installing this file and + instead install your own. CONTRIBUTING UPSTREAM: - We are interested in merging your changes upstream, if they - are for a big, and well-known distribution. Unfortunately we - don't have the time and resources to maintain - distribution-specific patches for all distributions on the - planet, hence please do not send us patches that add systemd - support for non-mainstream or niche distributions. + We generally do no longer accept distribution-specific patches to + systemd upstream. 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. Please + always consider adopting the upstream defaults. If that is not + possible, please maintain the relevant patches downstream. Thank you for understanding. - -BE CONSIDERATE: - We'd like to keep differences between the distributions - minimal. This both simplifies our maintenance work, as well - as it helps administrators to move from one distribution to - another. - - Hence we'd like to ask you to keep your changes minimal, and - not rename any units without a very good reason (if you need a - particular name for compatibility reasons, consider using - alias names via symlinks). Before you make changes that change - semantics from upstream, please talk to us! - - In SysV almost every distribution uses a different - nomenclature and different locations for the boot-up - scripts. We'd like to avoid chaos like that with systemd right - from the beginning. So please, be considerate!