]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - DISTRO_PORTING
meson: increase timeout for parse_hwdb.py test to 90 s
[thirdparty/systemd.git] / DISTRO_PORTING
index 419053832d7b23324492cf31c1fe2e3a5bce15e2..68107e46c96a839df04b095979462b614976baab 100644 (file)
@@ -1,36 +1,62 @@
 Porting systemd To New Distributions
 
+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) Find the right configure parameters for:
 
-        1) Patch src/hostname-setup.c so that systemd knows where to
-        read your host name from.
+            --with-rootprefix=
+            --with-sysvinit-path=
+            --with-sysvrcnd-path=
+            --with-rc-local-script-path-start=
+            --with-rc-local-script-path-stop=
+            --with-kbd-loadkeys=
+            --with-kbd-setfont=
+            --with-tty-gid=
+            --with-ntp-servers=
+            --with-support-url=
 
-        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.
+        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
 
-        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.
+NTP POOL:
 
-        4) Try it out.
+        By default, timesyncd uses the Google Public NTP servers
+        time[1-4].google.com. 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
+
+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 --with-pamconfdir=no to ./configure 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 adds systemd
-        support to 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.