From d1ab0ca07372649dad70a0348d75e394f254e1b6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 15 May 2010 23:06:41 +0200 Subject: [PATCH] man: add some initial man page work --- .gitignore | 3 + Makefile.am | 58 ++++++++--- configure.ac | 50 +++++++++- man/systemd.service.xml | 213 ++++++++++++++++++++++++++++++++++++++++ man/systemd.unit.xml | 121 +++++++++++++++++++++++ 5 files changed, 429 insertions(+), 16 deletions(-) create mode 100644 man/systemd.service.xml create mode 100644 man/systemd.unit.xml diff --git a/.gitignore b/.gitignore index b9cb51c0..b83dd9ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ +*.5 +*.html *~ +*.tar.gz test-ns test-loopback systemd-initctl.service diff --git a/Makefile.am b/Makefile.am index 8ad1969b..e562b18a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,12 +17,12 @@ ACLOCAL_AMFLAGS = -I m4 -pkgsysconfdir=$(sysconfdir)/systemd dbuspolicydir=$(sysconfdir)/dbus-1/system.d -udevrulesdir=/lib/udev/rules.d +udevrulesdir=@udevrulesdir@ +pkgsysconfdir=$(sysconfdir)/systemd systemunitdir=$(pkgdatadir)/system -sessionunitdir=$(pkgdatadir)/system +sessionunitdir=$(pkgdatadir)/session AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ @@ -35,8 +35,9 @@ AM_CPPFLAGS = \ -DCGROUP_AGENT_PATH=\"$(pkglibexecdir)/systemd-cgroups-agent\" \ -DSYSTEMD_BINARY_PATH=\"$(sbindir)/systemd\" -# -DSYSTEMD_BINARY_PATH=\"/home/lennart/projects/systemd/systemd\" -VALA_CFLAGS=-Wno-unused-variable -Wno-unused-function +VALA_CFLAGS = \ + -Wno-unused-variable \ + -Wno-unused-function sbin_PROGRAMS = \ systemd @@ -60,27 +61,24 @@ noinst_PROGRAMS = \ test-ns \ test-loopback -dbuspolicy_DATA = \ +dist_dbuspolicy_DATA = \ org.freedesktop.systemd1.conf -udevrules_DATA = \ +dist_udevrules_DATA = \ 99-systemd.rules -systemunit_DATA = \ +dist_systemunit_DATA = \ units/emergency.service \ - systemd-initctl.service \ units/systemd-initctl.socket \ - systemd-logger.service \ units/systemd-logger.socket +systemunit_DATA = \ + systemd-initctl.service \ + systemd-logger.service + EXTRA_DIST = \ - org.freedesktop.systemd1.conf \ - 99-systemd.rules \ - units/emergency.service \ units/systemd-initctl.service.in \ - units/systemd-initctl.socket \ units/systemd-logger.service.in \ - units/systemd-logger.socket \ LICENSE \ README @@ -147,6 +145,21 @@ EXTRA_DIST += \ linux/auto_dev-ioctl.h \ initreq.h +dist_man_MANS = \ + systemd.unit.5 \ + systemd.service.5 + +HTMLMANS = \ + systemd.unit.html \ + systemd.service.html + +dist_noinst_DATA = \ + $(HTMLMANS) + +EXTRA_DIST += \ + man/systemd.unit.xml \ + man/systemd.service.xml + systemd_SOURCES = \ $(COMMON_SOURCES) \ main.c @@ -251,6 +264,18 @@ CLEANFILES = \ systemd-initctl.service \ systemd-logger.service +if HAVE_XSLTPROC +%.5: man/%.xml + $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +%.html: man/%.xml + $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< + +CLEANFILES += \ + $(dist_man_MANS) \ + $(HTMLMANS) +endif + install-data-hook: $(MKDIR_P) -m 0755 \ $(DESTDIR)$(pkgsysconfdir)/system \ @@ -259,3 +284,6 @@ install-data-hook: $(DESTDIR)/cgroup/debug rm -f $(DESTDIR)$(sysconfdir)/xdg/systemd/session ln -sf $(DESTDIR)$(pkgsysconfdir)/session $(DESTDIR)$(sysconfdir)/xdg/systemd/session + +DISTCHECK_CONFIGURE_FLAGS = \ + --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) diff --git a/configure.ac b/configure.ac index 65353d52..de61b2d5 100644 --- a/configure.ac +++ b/configure.ac @@ -43,7 +43,43 @@ AM_PROG_CC_C_O AC_PROG_GCC_TRADITIONAL AC_USE_SYSTEM_EXTENSIONS -CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -Wno-missing-field-initializers]) +CC_CHECK_CFLAGS_APPEND([ \ + -Wall \ + -W \ + -Wextra \ + -pipe \ + -Wno-long-long \ + -Winline \ + -Wvla \ + -Wno-overlength-strings \ + -Wundef \ + -Wformat=2 \ + -Wlogical-op \ + -Wsign-compare \ + -Wformat-security \ + -Wmissing-include-dirs \ + -Wformat-nonliteral \ + -Wold-style-definition \ + -Wpointer-arith \ + -Winit-self \ + -Wdeclaration-after-statement \ + -Wfloat-equal \ + -Wmissing-prototypes \ + -Wstrict-prototypes \ + -Wredundant-decls \ + -Wmissing-declarations \ + -Wmissing-noreturn \ + -Wshadow \ + -Wendif-labels \ + -Wcast-align \ + -Wstrict-aliasing=2 \ + -Wwrite-strings \ + -Wno-unused-parameter \ + -ffast-math \ + -Wp,-D_FORTIFY_SOURCE=2 \ + -fno-common \ + -fdiagnostics-show-option \ + -Wno-missing-field-initializers]) AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])]) @@ -51,6 +87,7 @@ AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers n # This makes sure pkg.m4 is available. m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) + PKG_CHECK_MODULES(UDEV, [ libudev ]) AC_SUBST(UDEV_CFLAGS) AC_SUBST(UDEV_LIBS) @@ -98,6 +135,9 @@ AC_SUBST(CGROUP_LIBS) AM_PROG_VALAC([0.7]) AC_SUBST(VAPIDIR) +AC_PATH_PROG([XSLTPROC], [xsltproc]) +AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x) + AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, or none])) if test "z$with_distro" = "z"; then if test "$cross_compiling" = yes; then @@ -174,6 +214,13 @@ AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo) AC_DEFINE_UNQUOTED(SPECIAL_DBUS_SERVICE, ["$special_dbus_service"], [D-Bus service name]) AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$special_syslog_service"], [syslog service name]) +AC_ARG_WITH([udevrulesdir], + AS_HELP_STRING([--with-udevrulesdir=DIR], [Diectory for udev rules]), + [], + [with_udevrulesdir=/lib/udev/rules.d]) +AC_SUBST([udevrulesdir], [$with_udevrulesdir]) + + AC_OUTPUT([Makefile]) echo " @@ -185,4 +232,5 @@ echo " Syslog service: ${special_syslog_service} D-Bus service: ${special_dbus_service} Gtk: ${have_gtk} + udev rules dir: ${with_udevrulesdir} " diff --git a/man/systemd.service.xml b/man/systemd.service.xml new file mode 100644 index 00000000..5285ce3d --- /dev/null +++ b/man/systemd.service.xml @@ -0,0 +1,213 @@ + + + + + + + + + systemd.service + systemd + + + + Developer + Lennart + Poettering + lennart@poettering.net + + + + + + systemd.service + 5 + + + + systemd.service + systemd service configuration files + + + + systemd.service + + + + Description + + A configuration file ending in .service encodes + information about a process controlled and supervised + by systemd. + + This man page lists the configuration options + specific to this unit type. See + systemd.unit5 + for the common options of all unit configuration + files. + + + + Options + + + + Type= + + One of + forking, + simple, + finish, + dbus. + + If set to + forking + (the default) it is expected + that the process configured + with + ExecStart= + will start up and call + fork(). The + parent process is expected to + finish when start-up is + complete and all communication + channels set up. The child + continues to run as the main + daemon process. This is the + behaviour of traditional UNIX + daemons. If this setting is + used it is recommended to also + use the + PIDFile= + option, so that systemd can + identify the main process of + the daemon. systemd will start + follow-up units as soon as the + parent process exited. + + If set to + simple (the + recommended value) it is + expected that the process + configured with + ExecStart= + is the main process of the + daemon. In this mode + communication channels must be + available before the daemon is + started up, as systemd will + immediately start follow-up + units. + + Behaviour of + finish is + similar to + simple, + however it is expected that + the process has to exit before + systemd starts follow-up + units. ValidNoProcess= + is particularly useful for + this type of service. + + Behaviour of + dbus is + similar to + simple, + however it is expected that + the daemon acquires a name on + the D-Bus bus, as configured + by + BusName=. Follow-up + units will be started after + the name has been + acquired. + + + + ValidNoProcess= + + Takes a boolean value + that specifies whether the service + shall be considered active + even when all its processes + exited. Defaults to no. + + + + + PIDFile= + + Takes an absolute file + name pointing to the PID file + of this daemon. Use of this + option is recommended for + services where + Type= is + set to + forking. + + + + + BusName= + + Takes a D-Bus bus name + that this service is reachable + as. This option is mandatory + for services where + Type= is + set to + dbus, but + its use is otherwise + recommended as well if the + process takes a name on the + D-Bus bus. + + + + + ExecStart= + + Takes a command line + that is executed when this + service shall be started + up. The first word of the + command line must be an + absolute file name. It is + mandatory to set this option + for all services. + + + + + + + + See Also + + systemd8, + systemctl8 + systemd.unit5 + + + + diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml new file mode 100644 index 00000000..cfa1b094 --- /dev/null +++ b/man/systemd.unit.xml @@ -0,0 +1,121 @@ + + + + + + + + + systemd.unit + systemd + + + + Developer + Lennart + Poettering + lennart@poettering.net + + + + + + systemd.unit + 5 + + + + systemd.unit + systemd unit configuration files + + + + systemd.service + systemd.socket + systemd.device + systemd.mount + systemd.automount + systemd.swap + systemd.target + + + + Description + + A unit configuration file encodes information + about a service, a socket, a mount point, an automount + point, a swap file or patition, or a start-up target + controlled and supervised by systemd. The syntax is + inspired by XDG .desktop files, + which are in turn inspired by Windows + .ini files. + + This man pages lists the common configuration + options of the various unit types. + + + + Options + + + + Names= + + Additional names for this unit. The names + listed here mus have the same suffix (i.e. type) + as the identifier name. This option may be + specified more than once. + + + + Requires= + + Dependencies on other + units. If this units get + activated the units listed + here will be activated as + well. If one of the other + units gets deactivated or its + activation fails, this unit + will be deactivated. This + option may be specified more + than once. + + + + + + + See Also + + systemd8, + systemctl8 + systemd.service5 + systemd.socket5 + systemd.device5 + systemd.mount5 + systemd.automount5 + systemd.swap5 + systemd.target5 + + + + -- 2.39.5