chiark / gitweb /
docs: gtk-doc warnings are annoying
[elogind.git] / README
diff --git a/README b/README
index 7f0399e7110e9514e023e0d5fe91ed5c53f622de..d947f27e28773c67bc4f16fe38943b6823ac81cb 100644 (file)
--- a/README
+++ b/README
-udev - Linux userspace device management
-
-Integrating udev in the system has complex dependencies and may differ from
-distribution to distribution. A system may not be able to boot up or work
-reliably without a properly installed udev version. The upstream udev project
-does not recommend replacing a distro's udev installation with the upstream
-version.
-
-The upstream udev project's set of default rules may require a most recent
-kernel release to work properly. This is currently version 2.6.31.
-
-Tools and rules shipped by udev are not public API and may change at any time.
-Never call any private tool in /lib/udev from any external application; it might
-just go away in the next release. Access to udev information is only offered
-by udevadm and libudev. Tools and rules in /lib/udev and the entire contents of
-the /dev/.udev directory are private to udev and do change whenever needed.
-
-Requirements:
-  - Version 2.6.27 of the Linux kernel with sysfs, procfs, signalfd, inotify,
-    unix domain sockets, networking and hotplug enabled:
-      CONFIG_HOTPLUG=y
-      CONFIG_UEVENT_HELPER_PATH=""
-      CONFIG_NET=y
-      CONFIG_UNIX=y
-      CONFIG_SYSFS=y
-      CONFIG_SYSFS_DEPRECATED*=n
-      CONFIG_PROC_FS=y
-      CONFIG_TMPFS=y
-      CONFIG_INOTIFY_USER=y
-      CONFIG_SIGNALFD=y
-      CONFIG_TMPFS_POSIX_ACL=y (user ACLs for device nodes)
-      CONFIG_BLK_DEV_BSG=y (SCSI devices)
-
-  - Udev does not work with the CONFIG_SYSFS_DEPRECATED* option.
-
-  - Unix domain sockets (CONFIG_UNIX) as a loadable kernel module may work,
-    but it is not supported.
-
-  - The deprecated hotplug helper /sbin/hotplug should be disabled in the
-    kernel configuration, it is not needed today, and may render the system
-    unusable because the kernel may create too many processes in parallel
-    so that the system runs out-of-memory.
-
-  - The proc filesystem must be mounted on /proc, and the sysfs filesystem must
-    be mounted at /sys. No other locations are supported by a standard
-    udev installation.
-
-  - The system must have the following group names resolvable at udev startup:
-      disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, and kmem.
-    Especially in LDAP setups, it is required that getgrnam() be able to resolve
-    these group names with only the rootfs mounted and while no network is
-    available.
-
-  - The 'udev extras' has the following dependencies:
-      libacl, libglib2, libusb, usbutils, pciutils, and gperf.
-    These dependencies can be disabled with the --disable-extras configure option.
-
-Setup:
-  - At bootup, the /dev directory should get the 'devtmpfs' filesystem
-    mounted. Udev manages the permissions and ownership of the kernel-created
-    device nodes, and udev possibly creates additional symlinks. If needed, udev also
-    works on an empty 'tmpfs' filesystem, but some static device nodes like
-    /dev/null, /dev/console, /dev/kmsg are needed to be able to start udev itself.
-
-  - The udev daemon should be started to handle device events sent by the kernel.
-    During bootup, the kernel can be asked to send events for all already existing
-    devices so that they too can be configured by udev. This is usually done by:
-      /sbin/udevadm trigger --type=subsystems
-      /sbin/udevadm trigger --type=devices
-
-  - Restarting the daemon never applies any rules to existing devices.
-
-  - New/changed rule files are picked up automatically; there is no daemon
-    restart or signal needed.
-
-Operation:
-  - Udev creates/removes device nodes in /dev, based on events the kernel
-    sends out on device creation/removal.
-
-  - All kernel events are matched against a set of specified rules, which
-    possibly hook into the event processing and load required kernel
-    modules to setup devices. For all devices the kernel exports a major/minor
-    number; if needed, udev creates a device node with the default kernel
-    name. If specified, udev applies permissions/ownership to the device
-    node, creates additional symlinks pointing to the node, and executes
-    programs to handle the device.
-
-  - The events udev handles, and the information udev merges into its device
-    database, can be accessed with libudev:
-      http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
-      http://www.kernel.org/pub/linux/utils/kernel/hotplug/gudev/
-
-For more details about udev and udev rules see the udev(7) man page.
-
-Please direct any comment/question to the linux-hotplug mailing list at:
-  linux-hotplug@vger.kernel.org
+systemd System and Service Manager
+
+DETAILS:
+        http://0pointer.de/blog/projects/systemd.html
+
+WEB SITE:
+        http://www.freedesktop.org/wiki/Software/systemd
+
+GIT:
+        git://anongit.freedesktop.org/systemd/systemd
+        ssh://git.freedesktop.org/git/systemd/systemd
+
+GITWEB:
+        http://cgit.freedesktop.org/systemd/systemd
+
+MAILING LIST:
+        http://lists.freedesktop.org/mailman/listinfo/systemd-devel
+        http://lists.freedesktop.org/mailman/listinfo/systemd-commits
+
+IRC:
+        #systemd on irc.freenode.org
+
+BUG REPORTS:
+        https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
+
+AUTHOR:
+        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/udev/ which is GPLv2.0+
+
+REQUIREMENTS:
+        Linux kernel >= 2.6.39
+                with devtmpfs
+                with cgroups (but it's OK to disable all controllers)
+                optional but strongly recommended: autofs4, ipv6
+        dbus >= 1.4.0
+        libcap
+        libblkid >= 2.20 (from util-linux)
+        libkmod >= 5
+        PAM >= 1.1.2 (optional)
+        libcryptsetup (optional)
+        libgcrypt (optional)
+        libaudit (optional)
+        libacl (optional)
+        libattr (optional)
+        libselinux (optional)
+        liblzma (optional)
+        tcpwrappers (optional)
+        libgcrypt (optional)
+        libqrencode (optional)
+        libmicrohttpd (optional)
+
+        When you build from git you need the following additional dependencies:
+
+        docbook-xsl
+        xsltproc
+        automake
+        autoconf
+        libtool
+        intltool
+        gperf
+        gtkdocize (optional)
+        python (optional)
+        make, gcc, and similar tools
+
+        During runtime you need the following dependencies:
+
+        util-linux > v2.18 (requires fsck -l, agetty -s)
+        sulogin (from sysvinit-tools, optional but recommended)
+        dracut (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 resolveable
+        under all circumstances. In fact, systemd-hostnamed will warn
+        if nss-myhostname is not installed. Packagers are encouraged to
+        add a dependency on nss-myhostname to the package that
+        includes systemd-hostnamed.
+
+        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.
+
+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.
+
+ENGINEERING AND CONSULTING SERVICES:
+        ProFUSION <http://profusion.mobi> offers professional
+        engineering and consulting services for systemd for embedded
+        and other use. Please contact Gustavo Barbieri
+        <barbieri@profusion.mobi> for more information.
+
+        Disclaimer: This notice is not a recommendation or official
+        endorsement. However, ProFUSION's upstream work has been very
+        beneficial for the systemd project.