chiark / gitweb /
manager: get rid of destinction between running_as=system and running_as=init, as...
[elogind.git] / DISTRO_PORTING
1 Porting systemd To New Distributions
2
3 HOWTO:
4         You need to make the follow changes to adapt systemd to your
5         distribution:
6
7         0) Make your distribution recognized via the autoconf checks
8         in configure.ac. Grep for the word "fedora" (case
9         insensitively) and you should be able to find the places where
10         you need to add/change things.
11
12         1) Patch src/hostname-setup.c so that systemd knows where to
13         read your host name from.
14
15         2) Check the unit files in units/ if they match your
16         distribution. Most likely you will have to make additions to
17         units/*.m4 and create a copy of units/fedora/ with changes for
18         your distribution.
19
20         3) Adjust Makefile.am to register the unit files you added in
21         step 2. Also you might need to update the m4 invocation in
22         Makefile.am. Grep for the word "fedora" (case insensitively)
23         and you should be able to find the places where you need to
24         add/change things.
25
26         4) Try it out. Play around with 'systemd --test
27         --running-as=init' for a test run of systemd without
28         booting. This will read the unit files and print the initial
29         transaction it would execute during boot-up. This will also
30         inform you about ordering loops and suchlike.
31
32 CONTRIBUTING UPSTREAM:
33         We are interested in merging your changes upstream, if they
34         are for a big, and well-known distribution. Unfortunately we
35         don't have the time and resources to maintain
36         distribution-specific patches for all distributions on the
37         planet, hence please do not send us patches that add systemd
38         support for non-mainstream or niche distributions.
39
40         Thank you for understanding.
41
42 BE CONSIDERATE:
43         We'd like to keep differences between the distributions
44         minimal. This both simplifies our maintenance work, as well
45         as it helps administrators to move from one distribution to
46         another.
47
48         Hence we'd like to ask you to keep your changes minimal, and
49         not rename any units without a very good reason (if you need a
50         particular name for compatibility reasons, consider using
51         alias names via symlinks). Before you make changes that change
52         semantics from upstream, please talk to us!
53
54         In SysV almost every distribution uses a different
55         nomenclature and different locations for the boot-up
56         scripts. We'd like to avoid chaos like that with systemd right
57         from the beginning. So please, be considerate!