]> git.ipfire.org Git - thirdparty/systemd.git/blob - DISTRO_PORTING
service: replace "failure" boolean by enum, and export it
[thirdparty/systemd.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. You might also want to update
14 status_welcome() in util.c.
15
16 2) Check the unit files in units/ if they match your
17 distribution. Most likely you will have to make additions to
18 units/*.m4 and create a copy of units/fedora/ with changes for
19 your distribution.
20
21 3) Adjust Makefile.am to register the unit files you added in
22 step 2. Also you might need to update the m4 invocation in
23 Makefile.am. Grep for the word "fedora" (case insensitively)
24 and you should be able to find the places where you need to
25 add/change things.
26
27 4) Try it out. Play around with 'systemd --test --system' for
28 a test run of systemd without booting. This will read the unit
29 files and print the initial transaction it would execute
30 during boot-up. This will also inform you about ordering loops
31 and suchlike.
32
33 CONTRIBUTING UPSTREAM:
34 We are interested in merging your changes upstream, if they
35 are for a big, and well-known distribution. Unfortunately we
36 don't have the time and resources to maintain
37 distribution-specific patches for all distributions on the
38 planet, hence please do not send us patches that add systemd
39 support for non-mainstream or niche distributions.
40
41 Thank you for understanding.
42
43 BE CONSIDERATE:
44 We'd like to keep differences between the distributions
45 minimal. This both simplifies our maintenance work, as well
46 as it helps administrators to move from one distribution to
47 another.
48
49 Hence we'd like to ask you to keep your changes minimal, and
50 not rename any units without a very good reason (if you need a
51 particular name for compatibility reasons, consider using
52 alias names via symlinks). Before you make changes that change
53 semantics from upstream, please talk to us!
54
55 In SysV almost every distribution uses a different
56 nomenclature and different locations for the boot-up
57 scripts. We'd like to avoid chaos like that with systemd right
58 from the beginning. So please, be considerate!