From bff4ca431b0146cb0cbb3935905f50714072a0d9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 5 Nov 2007 15:10:13 +0000 Subject: [PATCH] add a man page for the pulseaudio binary. More will follow. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2023 fefdeb5f-60dc-0310-8127-8f9354f1896f --- Makefile.am | 2 +- configure.ac | 40 ++++- man/Makefile.am | 60 ++++++++ man/pulseaudio.1.xml.in | 379 ++++++++++++++++++++++++++++++++++++++++++++++++ man/xmltoman.css | 30 ++++ man/xmltoman.dtd | 39 +++++ man/xmltoman.xsl | 129 ++++++++++++++++ src/daemon/cmdline.c | 2 +- 8 files changed, 678 insertions(+), 3 deletions(-) create mode 100644 man/Makefile.am create mode 100644 man/pulseaudio.1.xml.in create mode 100644 man/xmltoman.css create mode 100644 man/xmltoman.dtd create mode 100644 man/xmltoman.xsl diff --git a/Makefile.am b/Makefile.am index 79608a2..a41dc6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,7 +18,7 @@ # USA. EXTRA_DIST = bootstrap.sh LICENSE GPL LGPL doxygen/Makefile.am doxygen/Makefile.in doxygen/doxygen.conf.in README todo -SUBDIRS=src doxygen +SUBDIRS=src doxygen man MAINTAINERCLEANFILES = noinst_DATA = diff --git a/configure.ac b/configure.ac index 07db982..f6e548b 100644 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,7 @@ m4_define(PA_MAJOR, [0]) m4_define(PA_MINOR, [9]) m4_define(PA_MICRO, [7]) -AC_INIT([pulseaudio], PA_MAJOR.PA_MINOR.PA_MICRO,[mzcbylcnhqvb (at) 0pointer (dot) de]) +AC_INIT([pulseaudio], PA_MAJOR.PA_MINOR.PA_MICRO,[mzchyfrnhqvb (at) 0pointer (dot) net]) AC_CONFIG_SRCDIR([src/daemon/main.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign -Wall]) @@ -832,6 +832,43 @@ AC_SUBST(DBUS_LIBS) AC_SUBST(HAVE_DBUS) AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1]) +### Build and Install man pages ### +AC_ARG_ENABLE(manpages, + AS_HELP_STRING([--disable-manpages],[Disable building and installation of man pages]), +[case "${enableval}" in + yes) manpages=yes ;; + no) manpages=no ;; + *) AC_MSG_ERROR([bad value ${enableval} for --disable-manpages]) ;; +esac],[manpages=yes]) + +if test x$manpages = xyes ; then + # + # XMLTOMAN manpage generation + # + AC_ARG_ENABLE(xmltoman, + AS_HELP_STRING([--disable-xmltoman],[Enable rebuilding of man pages with xmltoman]), + [case "${enableval}" in + yes) xmltoman=yes ;; + no) xmltoman=no ;; + *) AC_MSG_ERROR([bad value ${enableval} for --disable-xmltoman]) ;; + esac],[xmltoman=yes]) + + if test x$xmltoman = xyes ; then + AC_CHECK_PROG(have_xmltoman, xmltoman, yes, no) + fi + + if test x$have_xmltoman = xno -o x$xmltoman = xno; then + if ! test -e man/pulseaudio.1 ; then + AC_MSG_ERROR([*** xmltoman was not found or was disabled, it is required to build the manpages as they have not been pre-built, install xmltoman, pass --disable-manpages or dont pass --disable-xmltoman]) + exit 1 + fi + AC_MSG_WARN([*** Not rebuilding man pages as xmltoman is not found ***]) + xmltoman=no + fi +fi +AM_CONDITIONAL([USE_XMLTOMAN], [test "x$xmltoman" = xyes]) +AM_CONDITIONAL([BUILD_MANPAGES], [test "x$manpages" = xyes]) + #### PulseAudio system group & user ##### AC_ARG_WITH(system_user, AS_HELP_STRING([--with-system-user=],[User for running the PulseAudio daemon as a system-wide instance (pulse)])) @@ -914,6 +951,7 @@ AM_CONDITIONAL([FORCE_PREOPEN], [test "x$FORCE_PREOPEN" = "x1"]) AC_CONFIG_FILES([ Makefile src/Makefile +man/Makefile libpulse.pc libpulse-simple.pc libpulse-browse.pc diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..b701a2e --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,60 @@ +# $Id$ +# +# This file is part of PulseAudio. +# +# PulseAudio is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# PulseAudio is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with PulseAudio; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +pulseconfdir=$(sysconfdir)/pulse + +if BUILD_MANPAGES + +man_MANS = \ + pulseaudio.1 + +noinst_DATA = \ + pulseaudio.1.xml + +CLEANFILES = \ + $(noinst_DATA) + +pulseaudio.1.xml: pulseaudio.1.xml.in Makefile + sed -e 's,@pulseconfdir\@,$(pulseconfdir),g' \ + -e 's,@PACKAGE_BUGREPORT\@,$(PACKAGE_BUGREPORT),g' \ + -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' $< > $@ + +if USE_XMLTOMAN + +CLEANFILES += \ + $(man_MANS) + +pulseaudio.1: pulseaudio.1.xml Makefile + xmltoman $< > $@ + +xmllint: $(noinst_DATA) + for f in $(noinst_DATA) ; do \ + xmllint --noout --valid "$$f" || exit 1 ; \ + done + +endif + +endif + +EXTRA_DIST = \ + $(man_MANS) \ + pulseaudio.1.xml.in + xmltoman.css \ + xmltoman.xsl \ + xmltoman.dtd diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in new file mode 100644 index 0000000..b30f448 --- /dev/null +++ b/man/pulseaudio.1.xml.in @@ -0,0 +1,379 @@ + + + + + + + + + + + + pulseaudio [options] + pulseaudio --help + pulseaudio --dump-conf + pulseaudio --dump-modules + pulseaudio --dump-resample-methods + pulseaudio --cleanup-shm + pulseaudio --kill + pulseaudio --check + + + +

PulseAudio is a networked low-latency sound server for Linux, POSIX and Windows systems.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

~/.pulse/daemon.conf, + @pulseconfdir@/daemon.conf: configuration settings + for the PulseAudio daemon. If the version in the user's home + directory does not exist the global configuration file is + loaded. See for + more information.

+ +

~/.pulse/default.pa, + @pulseconfdir@/default.pa: the default configuration + script to execute when the PulseAudio daemon is started. If the + version in the user's home directory does not exist the global + configuration script is loaded. See for more information.

+ +

~/.pulse/client.conf, + @pulseconfdir@/client.conf: configuration settings + for PulseAudio client applications. If the version in the user's + home directory does not exist the global configuration file is + loaded. See for + more information.

+ +
+ +
+ +

SIGINT, SIGTERM: the PulseAudio daemon will shut + down (Same as --kill).

+ +

SIGHUP: dump a long status report to STDOUT or + syslog, depending on the configuration.

+ +

SIGUSR1: load module-cli, allowing runtime + reconfiguration via STDIN/STDOUT.

+ +

SIGUSR2: load module-cli-protocol-unix, allowing + runtime reconfiguration via a AF_UNIX socket. See for more information.

+ +
+ +
+ +

Group pulse-rt: if the PulseAudio binary is marked + SUID root, then membership of the calling user in this group + decides whether real-time and/or high-priority scheduling is + enabled. Please note that enabling real-time scheduling is a + security risk (see below).

+ +

Group pulse-access: if PulseAudio is running as a system + daemon (see --system above) access is granted to + members of this group when they connect via AF_UNIX sockets. If + PulseAudio is running as a user daemon this group has no + meaning.

+ +

User pulse, group pulse: if PulseAudio is running as a system + daemon (see --system above) and is started as root the + daemon will drop priviliges and become a normal user process using + this user and group. If PulseAudio is running as a user daemon + this user and group has no meaning.

+
+ +
+ Blablub +
+ +
+

The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from

+
+ +
+

+ , , , +

+
+ +
diff --git a/man/xmltoman.css b/man/xmltoman.css new file mode 100644 index 0000000..579a4fd --- /dev/null +++ b/man/xmltoman.css @@ -0,0 +1,30 @@ +/* $Id$ */ + +/*** + This file is part of PulseAudio. + + PulseAudio is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your + option) any later version. + + PulseAudio is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with PulseAudio; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. +***/ + +body { color: black; background-color: white; } +a:link, a:visited { color: #900000; } +h1 { text-transform:uppercase; font-size: 18pt; } +p { margin-left:1cm; margin-right:1cm; } +.cmd { font-family:monospace; } +.file { font-family:monospace; } +.arg { text-transform:uppercase; font-family:monospace; font-style: italic; } +.opt { font-family:monospace; font-weight: bold; } +.manref { font-family:monospace; } +.option .optdesc { margin-left:2cm; } diff --git a/man/xmltoman.dtd b/man/xmltoman.dtd new file mode 100644 index 0000000..121e62c --- /dev/null +++ b/man/xmltoman.dtd @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/man/xmltoman.xsl b/man/xmltoman.xsl new file mode 100644 index 0000000..8d4ca21 --- /dev/null +++ b/man/xmltoman.xsl @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + <xsl:value-of select="@name"/>(<xsl:value-of select="@section"/>) + + + +

Name

+

+ - +

+ + + +
+ + +

+ +

+
+ + +

+ +

+
+ + + + + + + + + + + + + + +
+ +
+
+ + +

Synopsis

+ +
+ + +

Synopsis

+ +
+ + +

Description

+ +
+ + +

Options

+ +
+ + +

+ +
+ + +
+
+ + + + + () + + + () + + + + + + + + +
diff --git a/src/daemon/cmdline.c b/src/daemon/cmdline.c index 0c84044..cfd2c84 100644 --- a/src/daemon/cmdline.c +++ b/src/daemon/cmdline.c @@ -144,7 +144,7 @@ void pa_cmdline_help(const char *argv0) { " --log-target={auto,syslog,stderr} Specify the log target\n" " -p, --dl-search-path=PATH Set the search path for dynamic shared\n" " objects (plugins)\n" - " --resample-method=[METHOD] Use the specified resampling method\n" + " --resample-method=METHOD Use the specified resampling method\n" " (See --dump-resample-methods for\n" " possible values)\n" " --use-pid-file[=BOOL] Create a PID file\n" -- 2.7.4