]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - DISTRO_PORTING
Merge pull request #8025 from sourcejedi/pid1_journal_or2
[thirdparty/systemd.git] / DISTRO_PORTING
index 2b08bf81165be2650d7575dff1b19195c29d70ff..d1a187aa41b22a427169ccac24842f20a790f151 100644 (file)
@@ -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!