chiark / gitweb /
event: move all library calls over to new assert_return() macro
[elogind.git] / README
diff --git a/README b/README
index 430d091804837752ccfdac084adec5720264ef43..b39cd377dfd43175d9bccdbdbf51af8fbae668d0 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-systemd System and Session Manager
+systemd System and Service Manager
 
 DETAILS:
         http://0pointer.de/blog/projects/systemd.html
@@ -7,11 +7,11 @@ WEB SITE:
         http://www.freedesktop.org/wiki/Software/systemd
 
 GIT:
-        git://anongit.freedesktop.org/systemd
-        ssh://git.freedesktop.org/git/systemd
+        git://anongit.freedesktop.org/systemd/systemd
+        ssh://git.freedesktop.org/git/systemd/systemd
 
 GITWEB:
-        http://cgit.freedesktop.org/systemd/
+        http://cgit.freedesktop.org/systemd/systemd
 
 MAILING LIST:
         http://lists.freedesktop.org/mailman/listinfo/systemd-devel
@@ -24,13 +24,175 @@ BUG REPORTS:
         https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
 
 AUTHOR:
-        Lennart Poettering with major support from Kay Sievers
+        Lennart Poettering
+        Kay Sievers
+        ...and many others
+
+LICENSE:
+        LGPLv2.1+ for all code
+        - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
+        - except src/shared/MurmurHash3.c which is Public Domain
+        - except src/journal/lookup3.c which is Public Domain
+        - except src/udev/* which is (currently still) GPLv2, GPLv2+
 
 REQUIREMENTS:
-        Linux kernel >= 2.6.30 (with autofs4, devtmpfs, cgroups)
-        libudev >= 151
-        libcgroup >= 0.35
-        vala >= 0.80
-        gtk+ >= 2.20
-        dbus >= 1.2.24
+        Linux kernel >= 3.0
+          CONFIG_DEVTMPFS
+          CONFIG_CGROUPS (it's OK to disable all controllers)
+          CONFIG_INOTIFY_USER
+          CONFIG_SIGNALFD
+          CONFIG_TIMERFD
+          CONFIG_EPOLL
+          CONFIG_NET
+          CONFIG_SYSFS
+
+        Linux kernel >= 3.8 for Smack support
+
+        Udev will fail to work with the legacy layout:
+          CONFIG_SYSFS_DEPRECATED=n
+
+        Legacy hotplug slows down the system and confuses udev:
+          CONFIG_UEVENT_HELPER_PATH=""
+
+        Userspace firmware loading is deprecated, will go away, and
+        sometimes causes problems:
+          CONFIG_FW_LOADER_USER_HELPER=n
+
+        Some udev rules and virtualization detection relies on it:
+          CONFIG_DMIID
+
+        Mount and bind mount handling might require it:
+          CONFIG_FHANDLE
+
+        Support for some SCSI devices serial number retrieval, to
+        create additional symlinks in /dev/disk/ and /dev/tape:
+          CONFIG_BLK_DEV_BSG
+
+        Optional but strongly recommended:
+          CONFIG_IPV6
+          CONFIG_AUTOFS4_FS
+          CONFIG_TMPFS_POSIX_ACL
+          CONFIG_TMPFS_XATTR
+          CONFIG_SECCOMP
+
+        For systemd-bootchart a kernel with procfs support and several
+        proc output options enabled is required:
+          CONFIG_PROC_FS
+          CONFIG_SCHEDSTATS
+          CONFIG_SCHED_DEBUG
+
+        For UEFI systems:
+          CONFIG_EFI_VARS
+          CONFIG_EFI_PARTITION
+
+        Note that kernel auditing is broken when used with systemd's
+        container code. When using systemd in conjunction with
+        containers please make sure to either turn off auditing at
+        runtime using the kernel command line option "audit=0", or
+        turn it off at kernel compile time using:
+          CONFIG_AUDIT=n
+
+        dbus >= 1.4.0
         libcap
+        libblkid >= 2.20 (from util-linux) (optional)
+        libkmod >= 14 (optional)
+        PAM >= 1.1.2 (optional)
+        libcryptsetup (optional)
+        libaudit (optional)
+        libacl (optional)
+        libattr (optional)
+        libselinux (optional)
+        liblzma (optional)
+        tcpwrappers (optional)
+        libgcrypt (optional)
+        libqrencode (optional)
+        libmicrohttpd (optional)
+        libpython (optional)
+        make, gcc, and similar tools
+
+        During runtime you need the following additional dependencies:
+
+        util-linux >= v2.19 (requires fsck -l, agetty -s)
+        sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
+        dracut (optional)
+        PolicyKit (optional)
+
+        When building from git you need the following additional dependencies:
+
+        docbook-xsl
+        xsltproc
+        automake
+        autoconf
+        libtool
+        intltool
+        gperf
+        gtkdocize (optional)
+        python (optional)
+        sphinx (optional)
+        python-lxml (entirely optional)
+
+        When systemd-hostnamed is used it is strongly recommended to
+        install nss-myhostname to ensure that in a world of
+        dynamically changing hostnames the hostname stays resolvable
+        under all circumstances. In fact, systemd-hostnamed will warn
+        if nss-myhostname is not installed.
+
+        Note that D-Bus can link against libsystemd-login.so, which
+        results in a cyclic build dependency. To accommodate for this
+        please build D-Bus without systemd first, then build systemd,
+        then rebuild D-Bus with systemd support.
+
+        To build HTML documentation for python-systemd using sphinx,
+        please first install systemd (using 'make install'), and then
+        invoke sphinx-build with 'make sphinx-<target>', with <target>
+        being 'html' or 'latexpdf'. If using DESTDIR for installation,
+        pass the same DESTDIR to 'make sphinx-html' invocation.
+
+USERS AND GROUPS:
+        Default udev rules use the following standard system group
+        names, which need to be resolvable by getgrnam() at any time,
+        even in the very early boot stages, where no other databases
+        and network are available:
+
+        tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk
+
+        During runtime the journal daemon requires the
+        "systemd-journal" system group to exist. New journal files will
+        be readable by this group (but not writable) which may be used
+        to grant specific users read access.
+
+        It is also recommended to grant read access to all journal
+        files to the system groups "wheel" and "adm" with a command
+        like the following in the post installation script of the
+        package:
+
+        # setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
+
+        The journal gateway daemon requires the
+        "systemd-journal-gateway" system user and group to
+        exist. During execution this network facing service will drop
+        privileges and assume this uid/gid for security reasons.
+
+WARNINGS:
+        systemd will warn you during boot if /etc/mtab is not a
+        symlink to /proc/mounts. Please ensure that /etc/mtab is a
+        proper symlink.
+
+        systemd will warn you during boot if /usr is on a different
+        file system than /. While in systemd itself very little will
+        break if /usr is on a separate partition many of its
+        dependencies very likely will break sooner or later in one
+        form or another. For example udev rules tend to refer to
+        binaries in /usr, binaries that link to libraries in /usr or
+        binaries that refer to data files in /usr. Since these
+        breakages are not always directly visible systemd will warn
+        about this, since this kind of file system setup is not really
+        supported anymore by the basic set of Linux OS components.
+
+        For more information on this issue consult
+        http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
+
+        To run systemd under valgrind, compile with VALGRIND defined
+        (e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
+        false positives will be triggered by code which violates
+        some rules but is actually safe.