gnome-remote-desktop/0001-Add-man-page.patch
2022-03-14 11:10:15 +01:00

221 lines
5.8 KiB
Diff

From 712d6a036cfb6b49ad35d4d27ba8255f5fef36b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 14 Mar 2022 10:38:55 +0100
Subject: [PATCH] Add man page
Uses asciidoc; the stylesheet was copied from gnome-shell.
---
.gitlab-ci.yml | 3 +-
man/grdctl.txt | 88 ++++++++++++++++++++++++++++++++++++++++++++++
man/meson.build | 9 +++++
man/stylesheet.xsl | 27 ++++++++++++++
meson.build | 5 +++
meson_options.txt | 5 +++
6 files changed, 136 insertions(+), 1 deletion(-)
create mode 100644 man/grdctl.txt
create mode 100644 man/meson.build
create mode 100644 man/stylesheet.xsl
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f261657..735bb64 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,7 +9,7 @@ stages:
.gnome-remote-desktop.fedora:35@common:
variables:
FDO_DISTRIBUTION_VERSION: 35
- BASE_TAG: '2022-02-11.0'
+ BASE_TAG: '2022-03-14.0'
FDO_UPSTREAM_REPO: GNOME/gnome-remote-desktop
FDO_DISTRIBUTION_EXEC: |
dnf -y update && dnf -y upgrade &&
@@ -21,6 +21,7 @@ stages:
dnf builddep -y gnome-remote-desktop &&
dnf install -y 'pkgconfig(epoxy)' 'pkgconfig(libdrm)' 'pkgconfig(gbm)' \
'pkgconfig(gudev-1.0)' &&
+ dnf install -y asciidoc &&
# To test
dnf install -y 'pkgconfig(libvncclient)' &&
diff --git a/man/grdctl.txt b/man/grdctl.txt
new file mode 100644
index 0000000..83777da
--- /dev/null
+++ b/man/grdctl.txt
@@ -0,0 +1,88 @@
+GRDCTL(1)
+=========
+:man manual: User Commands
+:man source: GNOME-REMOTE-DESKTOP
+:doctype: manpage
+:date: March 2022
+
+NAME
+----
+grdctl - Command line tool for configuring GNOME Remote Desktop
+
+SYNOPSIS
+--------
+*grdctl* ['OPTION'...] ['COMMAND'] ['SUBCOMMAND'...]
+
+DESCRIPTION
+-----------
+grdctl provides methods for configuring the GNOME Remote Desktop service,
+for example setting credentials.
+
+OPTIONS
+-------
+*--help*::
+Show help text.
+
+GENERAL COMMANDS
+----------------
+*status*::
+Show current status.
+
+RDP COMMANDS
+------------
+*rdp* *enable*::
+Enable the RDP backend.
+
+*rdp* *disable*::
+Disable the RDP backend.
+
+*rdp* *set-tls-cert* 'TLS-CERT'::
+Set path to TLS certificate.
+
+*rdp* *set-tls-key* 'TLS-KEY'::
+Set path to TLS key.
+
+*rdp* *set-credentials* 'USERNAME' 'PASSWORD'::
+Set username and password credentials.
+
+*rdp* *clear-credentials*::
+Clear username and password credentials.
+
+*rdp* *enable-view-only*::
+Disable remote control of input devices.
+
+*rdp* *disable-view-only*::
+Enable remote control of input devices.
+
+VNC COMMANDS
+------------
+*vnc* *enable*::
+Enable the VNC backend.
+
+*vnc* *disable*::
+Disable the VNC backend.
+
+*vnc* *set-password* 'PASSWORD'::
+Set the VNC password.
+
+*vnc* *clear-password*::
+Clear the VNC password.
+
+*vnc* *set-auth-method* 'AUTH-METHOD'::
+Set the authorization method used for new VNC connections. Can be either
+*password* or *prompt*.
+
+*vnc* *enable-view-only*:
+Disable remote control of input devices.
+
+*vnc* *disable-view-only*::
+Enable remote control of input devices.
+
+BUGS
+----
+The bug tracker can be reached by visiting the website
+https://gitlab.gnome.org/GNOME/gnome-remote-desktop/issues. Before sending
+a bug report, please verify that you have the latest version of
+gnome-remote-desktop. Many bugs (major and minor) are fixed at each
+release, and if yours is out of date, the problem may already have been
+solved.
diff --git a/man/meson.build b/man/meson.build
new file mode 100644
index 0000000..1e73f11
--- /dev/null
+++ b/man/meson.build
@@ -0,0 +1,9 @@
+a2x = find_program('a2x')
+
+custom_target('man page',
+ input: ['grdctl.txt', 'stylesheet.xsl'],
+ output: 'grdctl.1',
+ command: [a2x, '-v', '-D', '@OUTDIR@', '--xsl-file', '@INPUT1@', '-f' ,'manpage', '@INPUT0@'],
+ install_dir: mandir + '/man1',
+ install: true
+)
diff --git a/man/stylesheet.xsl b/man/stylesheet.xsl
new file mode 100644
index 0000000..047bd1b
--- /dev/null
+++ b/man/stylesheet.xsl
@@ -0,0 +1,27 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'>
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/>
+
+<xsl:template match="variablelist/title">
+ <xsl:text>.PP&#10;</xsl:text>
+ <xsl:call-template name="bold">
+ <xsl:with-param name="node" select="."/>
+ <xsl:with-param name="context" select=".."/>
+ </xsl:call-template>
+ <xsl:text>&#10;</xsl:text>
+</xsl:template>
+
+<xsl:template match="varlistentry[preceding-sibling::title]">
+ <xsl:if test="not(preceding-sibling::varlistentry)">
+ <xsl:text>.RS 4&#10;</xsl:text>
+ <!-- comment out the leading .PP added by the original template -->
+ <xsl:text>.\"</xsl:text>
+ </xsl:if>
+ <xsl:apply-imports/>
+ <xsl:if test="position() = last()">
+ <xsl:text>.RE&#10;</xsl:text>
+ </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/meson.build b/meson.build
index 6bd2420..0660cd0 100644
--- a/meson.build
+++ b/meson.build
@@ -55,6 +55,7 @@ endif
prefix = get_option('prefix')
libexecdir = join_paths(prefix, get_option('libexecdir'))
datadir = join_paths(prefix, get_option('datadir'))
+mandir = join_paths(prefix, get_option('mandir'))
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
grd_datadir = join_paths(datadir, 'gnome-remote-desktop')
@@ -93,6 +94,10 @@ subdir('src')
subdir('tests')
subdir('po')
+if get_option('man')
+ subdir('man')
+endif
+
meson.add_install_script('meson_post_install.py')
output = [
diff --git a/meson_options.txt b/meson_options.txt
index 3527588..2897f30 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,8 @@
+option('man',
+ type: 'boolean',
+ value: true,
+ description: 'Generate man pages')
+
option('rdp',
type: 'boolean',
value: true,
--
2.34.1