GUACAMOLE-423: Automatically populate package version within manpages.
Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/76a6e410 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/76a6e410 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/76a6e410 Branch: refs/heads/staging/0.9.14 Commit: 76a6e410316b66926c28b57878fb359577cfaaca Parents: 798ba1e Author: Michael Jumper <[email protected]> Authored: Wed Dec 6 00:44:34 2017 -0800 Committer: Michael Jumper <[email protected]> Committed: Thu Dec 7 19:10:45 2017 -0800 ---------------------------------------------------------------------- configure.ac | 3 + src/guacd/.gitignore | 4 + src/guacd/Makefile.am | 8 +- src/guacd/man/guacd.8 | 118 ------------------- src/guacd/man/guacd.8.in | 115 +++++++++++++++++++ src/guacd/man/guacd.conf.5 | 181 ----------------------------- src/guacd/man/guacd.conf.5.in | 178 +++++++++++++++++++++++++++++ src/guacenc/.gitignore | 3 + src/guacenc/Makefile.am | 4 +- src/guacenc/man/guacenc.1 | 80 ------------- src/guacenc/man/guacenc.1.in | 77 +++++++++++++ src/guaclog/guaclog | 228 +++++++++++++++++++++++++++++++++++++ 12 files changed, 614 insertions(+), 385 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/configure.ac ---------------------------------------------------------------------- diff --git a/configure.ac b/configure.ac index b2d678c..5f6c119 100644 --- a/configure.ac +++ b/configure.ac @@ -1203,7 +1203,10 @@ AC_CONFIG_FILES([Makefile src/terminal/Makefile src/libguac/Makefile src/guacd/Makefile + src/guacd/man/guacd.8 + src/guacd/man/guacd.conf.5 src/guacenc/Makefile + src/guacenc/man/guacenc.1 src/pulse/Makefile src/protocols/rdp/Makefile src/protocols/ssh/Makefile http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/.gitignore ---------------------------------------------------------------------- diff --git a/src/guacd/.gitignore b/src/guacd/.gitignore index c5e2fa2..6db8c7e 100644 --- a/src/guacd/.gitignore +++ b/src/guacd/.gitignore @@ -6,6 +6,10 @@ init.d/guacd guacd guacd.exe +# Documentation (built from .in files) +man/guacd.8 +man/guacd.conf.5 + # Object code *.o *.so http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/Makefile.am ---------------------------------------------------------------------- diff --git a/src/guacd/Makefile.am b/src/guacd/Makefile.am index 14ab5db..8edcd25 100644 --- a/src/guacd/Makefile.am +++ b/src/guacd/Makefile.am @@ -59,10 +59,10 @@ guacd_LDFLAGS = \ @PTHREAD_LIBS@ \ @SSL_LIBS@ -EXTRA_DIST = \ - init.d/guacd.in \ - man/guacd.8 \ - man/guacd.conf.5 +EXTRA_DIST = \ + init.d/guacd.in \ + man/guacd.8.in \ + man/guacd.conf.5.in CLEANFILES = $(init_SCRIPTS) http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/man/guacd.8 ---------------------------------------------------------------------- diff --git a/src/guacd/man/guacd.8 b/src/guacd/man/guacd.8 deleted file mode 100644 index 8e497e3..0000000 --- a/src/guacd/man/guacd.8 +++ /dev/null @@ -1,118 +0,0 @@ -.\" -.\" Licensed to the Apache Software Foundation (ASF) under one -.\" or more contributor license agreements. See the NOTICE file -.\" distributed with this work for additional information -.\" regarding copyright ownership. The ASF licenses this file -.\" to you under the Apache License, Version 2.0 (the -.\" "License"); you may not use this file except in compliance -.\" with the License. You may obtain a copy of the License at -.\" -.\" http://www.apache.org/licenses/LICENSE-2.0 -.\" -.\" Unless required by applicable law or agreed to in writing, -.\" software distributed under the License is distributed on an -.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -.\" KIND, either express or implied. See the License for the -.\" specific language governing permissions and limitations -.\" under the License. -.\" -.TH guacd 8 "1 Jun 2017" "version 0.9.13-incubating" "Guacamole" -. -.SH NAME -guacd \- Guacamole proxy daemon -. -.SH SYNOPSIS -.B guacd -[\fB-b\fR \fIHOST\fR] -[\fB-l\fR \fIPORT\fR] -[\fB-p\fR \fIPID FILE\fR] -[\fB-L\fR \fILOG LEVEL\fR] -[\fB-C\fR \fICERTIFICATE FILE\fR] -[\fB-K\fR \fIKEY FILE\fR] -[\fB-f\fR] -. -.SH DESCRIPTION -.B guacd -is the Guacamole proxy daemon used by the Guacamole web application and -framework. As JavaScript cannot handle binary protocols (like VNC and remote -desktop) efficiently, a new text-based protocol was developed which would -contain a common superset of the operations needed for efficient remote -desktop access, but would be easy for JavaScript programs to process. -.B guacd -is the proxy which translates between arbitrary protocols and the Guacamole -protocol. -. -.SH OPTIONS -.TP -\fB\-b\fR \fIHOST\fR -Changes the host or address that -.B guacd -listens on. -.TP -\fB\-l\fR \fIPORT\fR -Changes the port that -.B guacd -listens on (the default is port 4822). -.TP -\fB\-p\fR \fIFILE\fR -Causes -.B guacd -to write the PID of the daemon process to the specified -file. This is useful for init scripts and is used by the provided init -script. -.TP -\fB\-L\fR \fILEVEL\fR -Sets the maximum level at which -.B guacd -will log messages to syslog and, if running in the foreground, the console. -Legal values are -.B trace, -.B debug, -.B info, -.B warning, -and -.B error. -The default value is -.B info. -.TP -\fB\-f\fR -Causes -.B guacd -to run in the foreground, rather than automatically forking into the -background. -. -.SH SSL/TLS OPTIONS -If libssl was present at the time -.B guacd -was compiled, it will contain SSL/TLS support, and connections between the -web application and -.B guacd -can be encrypted if a certificate file is given. -.P -When using a chain of certificates, you must append the additional certificates -to your server certificate. This can be done easily with the standard -.B cat -command. Beware that the certificate for -.B guacd -.I must -be the first certificate in the file. -.TP -\fB-C\fR \fICERTIFICATE FILE\fR -Enables SSL/TLS using the given cerficiate file. Future connections to -this instance of -.B guacd -will require SSL/TLS enabled in the client (the web application). If -this option is not given, communication with guacd must be unencrypted. -.TP -\fB-K\fR \fIKEY FILE\fR -Enables SSL/TLS using the given private key file. Future connections to -this instance of -.B guacd -will require SSL/TLS enabled in the client (the web application). If -this option is not given, communication with guacd must be unencrypted. -. -.SH SEE ALSO -.BR guacd.conf (5) -. -.SH AUTHOR -Written by Michael Jumper <[email protected]> http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/man/guacd.8.in ---------------------------------------------------------------------- diff --git a/src/guacd/man/guacd.8.in b/src/guacd/man/guacd.8.in new file mode 100644 index 0000000..c5ed918 --- /dev/null +++ b/src/guacd/man/guacd.8.in @@ -0,0 +1,115 @@ +.\" +.\" Licensed to the Apache Software Foundation (ASF) under one +.\" or more contributor license agreements. See the NOTICE file +.\" distributed with this work for additional information +.\" regarding copyright ownership. The ASF licenses this file +.\" to you under the Apache License, Version 2.0 (the +.\" "License"); you may not use this file except in compliance +.\" with the License. You may obtain a copy of the License at +.\" +.\" http://www.apache.org/licenses/LICENSE-2.0 +.\" +.\" Unless required by applicable law or agreed to in writing, +.\" software distributed under the License is distributed on an +.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +.\" KIND, either express or implied. See the License for the +.\" specific language governing permissions and limitations +.\" under the License. +.\" +.TH guacd 8 "1 Jun 2017" "version @PACKAGE_VERSION@" "Apache Guacamole" +. +.SH NAME +guacd \- Guacamole proxy daemon +. +.SH SYNOPSIS +.B guacd +[\fB-b\fR \fIHOST\fR] +[\fB-l\fR \fIPORT\fR] +[\fB-p\fR \fIPID FILE\fR] +[\fB-L\fR \fILOG LEVEL\fR] +[\fB-C\fR \fICERTIFICATE FILE\fR] +[\fB-K\fR \fIKEY FILE\fR] +[\fB-f\fR] +. +.SH DESCRIPTION +.B guacd +is the Guacamole proxy daemon used by the Guacamole web application and +framework. As JavaScript cannot handle binary protocols (like VNC and remote +desktop) efficiently, a new text-based protocol was developed which would +contain a common superset of the operations needed for efficient remote +desktop access, but would be easy for JavaScript programs to process. +.B guacd +is the proxy which translates between arbitrary protocols and the Guacamole +protocol. +. +.SH OPTIONS +.TP +\fB\-b\fR \fIHOST\fR +Changes the host or address that +.B guacd +listens on. +.TP +\fB\-l\fR \fIPORT\fR +Changes the port that +.B guacd +listens on (the default is port 4822). +.TP +\fB\-p\fR \fIFILE\fR +Causes +.B guacd +to write the PID of the daemon process to the specified +file. This is useful for init scripts and is used by the provided init +script. +.TP +\fB\-L\fR \fILEVEL\fR +Sets the maximum level at which +.B guacd +will log messages to syslog and, if running in the foreground, the console. +Legal values are +.B trace, +.B debug, +.B info, +.B warning, +and +.B error. +The default value is +.B info. +.TP +\fB\-f\fR +Causes +.B guacd +to run in the foreground, rather than automatically forking into the +background. +. +.SH SSL/TLS OPTIONS +If libssl was present at the time +.B guacd +was compiled, it will contain SSL/TLS support, and connections between the +web application and +.B guacd +can be encrypted if a certificate file is given. +.P +When using a chain of certificates, you must append the additional certificates +to your server certificate. This can be done easily with the standard +.B cat +command. Beware that the certificate for +.B guacd +.I must +be the first certificate in the file. +.TP +\fB-C\fR \fICERTIFICATE FILE\fR +Enables SSL/TLS using the given cerficiate file. Future connections to +this instance of +.B guacd +will require SSL/TLS enabled in the client (the web application). If +this option is not given, communication with guacd must be unencrypted. +.TP +\fB-K\fR \fIKEY FILE\fR +Enables SSL/TLS using the given private key file. Future connections to +this instance of +.B guacd +will require SSL/TLS enabled in the client (the web application). If +this option is not given, communication with guacd must be unencrypted. +. +.SH SEE ALSO +.BR guacd.conf (5) http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/man/guacd.conf.5 ---------------------------------------------------------------------- diff --git a/src/guacd/man/guacd.conf.5 b/src/guacd/man/guacd.conf.5 deleted file mode 100644 index 49dd7da..0000000 --- a/src/guacd/man/guacd.conf.5 +++ /dev/null @@ -1,181 +0,0 @@ -.\" -.\" Licensed to the Apache Software Foundation (ASF) under one -.\" or more contributor license agreements. See the NOTICE file -.\" distributed with this work for additional information -.\" regarding copyright ownership. The ASF licenses this file -.\" to you under the Apache License, Version 2.0 (the -.\" "License"); you may not use this file except in compliance -.\" with the License. You may obtain a copy of the License at -.\" -.\" http://www.apache.org/licenses/LICENSE-2.0 -.\" -.\" Unless required by applicable law or agreed to in writing, -.\" software distributed under the License is distributed on an -.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -.\" KIND, either express or implied. See the License for the -.\" specific language governing permissions and limitations -.\" under the License. -.\" -.TH guacd.conf 5 "1 Jun 2017" "version 0.9.13-incubating" "Guacamole" -. -.SH NAME -/etc/guacamole/guacd.conf \- Configuration file for guacd -. -.SH DESCRIPTION -.B /etc/guacamole/guacd.conf -is the configuration file for the Guacamole proxy daemon used by the Guacamole -web application and framework, -.B guacd. -Use of this file is entirely optional, and all of its options can be specified -from the command line when running -.B guacd. -If you provide both the -.B guacd.conf -file and command line options, the command line options will take precedence. -. -.SH SYNTAX -.B guacd.conf -is made up of sections, where each section contains a set of parameter/value -pairs. The parameters available are dictated by the section in use, and -parameters may only be specified within a section. -.P -The beginning of each section is denoted with a section name in brackets, and -each section ends implicitly with the beginning of a new section, or at the end -of the file. -.TP -\fB[server]\fR -Contains parameters which control how -.B guacd -behaves as a server, from a network perspective. -.TP -\fB[daemon]\fR -Parameters which configure how -.B guacd -behaves as a daemon, such as what file should contain the PID, if any. -.TP -\fB[ssl]\fR -Parameters which control the SSL support of -.B guacd, -such as the certificate and private key used for encryption of the Guacamole -protocol. This section and its parameters are only valid if -.B guacd -was built with SSL support. -.P -Parameters within sections are written as a parameter name, followed by an -equals sign, followed by the parameter value, all on one line. Comments may be -placed anywhere, and consist of arbitrary text following a -.B # -symbol until end-of-line: -.TP -\fIname\fR \fB=\fR \fIvalue\fR \fB#\fR \fISome arbitrary comment text\fR -.P -Beware that it is the combination of the section name with the parameter name -that makes up the fully qualified name of a parameter. Each parameter -absolutely -.I must -be placed only within its proper section, or -.B guacd.conf -will fail to be parsed, and -.B guacd -will not start. -.P -If special characters need to be placed within a parameter value, such as -whitespace, \fB#\fR, \fB"\fR, or \fB\\\fR, the entire value must be enclosed in -double quotes, and each occurrence of \fB"\fR or \fB\\\fR within the value must -be escaped with backslashes: -.TP -\fIname\fR \fB=\fR \fB"\fR\fIquoted # value \\\\ with \\" special characters\fR\fB"\fR -. -.SH SERVER PARAMETERS -.TP -\fBbind_host\fR \fB=\fR \fIHOSTNAME\fR -Requires -.B guacd -to bind to a specific host when listening for connections. By default, -.B guacd -will bind to localhost only. -.TP -\fBbind_port\fR \fB=\fR \fIPORT\fR -Requires -.B guacd -to bind to a specific port when listening for connections. By default, -.B guacd -will bind to port 4822. -. -.SH DAEMON PARAMETERS -.TP -\fBlog_level\fR \fB=\fR \fILEVEL\fR -Sets the maximum level at which -.B guacd -will log messages to syslog and, if running in the foreground, the console. -Legal values are -.B trace, -.B debug, -.B info, -.B warning, -and -.B error. -The default value is -.B info. -.TP -\fBpid_file\fR \fB=\fR \fIFILE\fR -Causes -.B guacd -to write its PID to the specified file upon startup. Note that -.B guacd -must have sufficient privileges to create or write this file, or it will fail -to start. This parameter is typically needed for startup scripts, such that the -script can report on the status of -.B guacd -and kill it if necessary. -. -.SH SSL PARAMETERS -If -.B guacd -was built with SSL support, then connections between the web application and -.B guacd -can be encrypted if an SSL certificate and key file are given. -.P -When using a chain of certificates, you must append the additional certificates -to your server certificate. This can be done easily with the standard -.B cat -command. Beware that the certificate for -.B guacd -.I must -be the first certificate in the file. -.TP -\fBserver_certificate\fR \fB=\fR \fICERTIFICATE FILE\fR -Enables SSL/TLS using the given cerficiate file. Future connections to -.B guacd -will require SSL/TLS enabled in the client (the web application). -.TP -\fBserver_key\fR \fB=\fR \fIKEY FILE\fR -Enables SSL/TLS using the given private key file. Future connections to -.B guacd -will require SSL/TLS enabled in the client (the web application). -. -.SH EXAMPLE -.nf -.RS -# -# guacd.conf example -# - -[daemon] - -pid_file = /var/run/guacd.pid - -[server] - -bind_host = localhost -bind_port = 4822 - -[ssl] - -server_certificate = /etc/ssl/certs/guacd.crt -server_key = /etc/ssl/private/guacd.key -.RE -.fi -. -.SH AUTHOR -Written by Michael Jumper <[email protected]> http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacd/man/guacd.conf.5.in ---------------------------------------------------------------------- diff --git a/src/guacd/man/guacd.conf.5.in b/src/guacd/man/guacd.conf.5.in new file mode 100644 index 0000000..524bd5c --- /dev/null +++ b/src/guacd/man/guacd.conf.5.in @@ -0,0 +1,178 @@ +.\" +.\" Licensed to the Apache Software Foundation (ASF) under one +.\" or more contributor license agreements. See the NOTICE file +.\" distributed with this work for additional information +.\" regarding copyright ownership. The ASF licenses this file +.\" to you under the Apache License, Version 2.0 (the +.\" "License"); you may not use this file except in compliance +.\" with the License. You may obtain a copy of the License at +.\" +.\" http://www.apache.org/licenses/LICENSE-2.0 +.\" +.\" Unless required by applicable law or agreed to in writing, +.\" software distributed under the License is distributed on an +.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +.\" KIND, either express or implied. See the License for the +.\" specific language governing permissions and limitations +.\" under the License. +.\" +.TH guacd.conf 5 "1 Jun 2017" "version @PACKAGE_VERSION@" "Apache Guacamole" +. +.SH NAME +/etc/guacamole/guacd.conf \- Configuration file for guacd +. +.SH DESCRIPTION +.B /etc/guacamole/guacd.conf +is the configuration file for the Guacamole proxy daemon used by the Guacamole +web application and framework, +.B guacd. +Use of this file is entirely optional, and all of its options can be specified +from the command line when running +.B guacd. +If you provide both the +.B guacd.conf +file and command line options, the command line options will take precedence. +. +.SH SYNTAX +.B guacd.conf +is made up of sections, where each section contains a set of parameter/value +pairs. The parameters available are dictated by the section in use, and +parameters may only be specified within a section. +.P +The beginning of each section is denoted with a section name in brackets, and +each section ends implicitly with the beginning of a new section, or at the end +of the file. +.TP +\fB[server]\fR +Contains parameters which control how +.B guacd +behaves as a server, from a network perspective. +.TP +\fB[daemon]\fR +Parameters which configure how +.B guacd +behaves as a daemon, such as what file should contain the PID, if any. +.TP +\fB[ssl]\fR +Parameters which control the SSL support of +.B guacd, +such as the certificate and private key used for encryption of the Guacamole +protocol. This section and its parameters are only valid if +.B guacd +was built with SSL support. +.P +Parameters within sections are written as a parameter name, followed by an +equals sign, followed by the parameter value, all on one line. Comments may be +placed anywhere, and consist of arbitrary text following a +.B # +symbol until end-of-line: +.TP +\fIname\fR \fB=\fR \fIvalue\fR \fB#\fR \fISome arbitrary comment text\fR +.P +Beware that it is the combination of the section name with the parameter name +that makes up the fully qualified name of a parameter. Each parameter +absolutely +.I must +be placed only within its proper section, or +.B guacd.conf +will fail to be parsed, and +.B guacd +will not start. +.P +If special characters need to be placed within a parameter value, such as +whitespace, \fB#\fR, \fB"\fR, or \fB\\\fR, the entire value must be enclosed in +double quotes, and each occurrence of \fB"\fR or \fB\\\fR within the value must +be escaped with backslashes: +.TP +\fIname\fR \fB=\fR \fB"\fR\fIquoted # value \\\\ with \\" special characters\fR\fB"\fR +. +.SH SERVER PARAMETERS +.TP +\fBbind_host\fR \fB=\fR \fIHOSTNAME\fR +Requires +.B guacd +to bind to a specific host when listening for connections. By default, +.B guacd +will bind to localhost only. +.TP +\fBbind_port\fR \fB=\fR \fIPORT\fR +Requires +.B guacd +to bind to a specific port when listening for connections. By default, +.B guacd +will bind to port 4822. +. +.SH DAEMON PARAMETERS +.TP +\fBlog_level\fR \fB=\fR \fILEVEL\fR +Sets the maximum level at which +.B guacd +will log messages to syslog and, if running in the foreground, the console. +Legal values are +.B trace, +.B debug, +.B info, +.B warning, +and +.B error. +The default value is +.B info. +.TP +\fBpid_file\fR \fB=\fR \fIFILE\fR +Causes +.B guacd +to write its PID to the specified file upon startup. Note that +.B guacd +must have sufficient privileges to create or write this file, or it will fail +to start. This parameter is typically needed for startup scripts, such that the +script can report on the status of +.B guacd +and kill it if necessary. +. +.SH SSL PARAMETERS +If +.B guacd +was built with SSL support, then connections between the web application and +.B guacd +can be encrypted if an SSL certificate and key file are given. +.P +When using a chain of certificates, you must append the additional certificates +to your server certificate. This can be done easily with the standard +.B cat +command. Beware that the certificate for +.B guacd +.I must +be the first certificate in the file. +.TP +\fBserver_certificate\fR \fB=\fR \fICERTIFICATE FILE\fR +Enables SSL/TLS using the given cerficiate file. Future connections to +.B guacd +will require SSL/TLS enabled in the client (the web application). +.TP +\fBserver_key\fR \fB=\fR \fIKEY FILE\fR +Enables SSL/TLS using the given private key file. Future connections to +.B guacd +will require SSL/TLS enabled in the client (the web application). +. +.SH EXAMPLE +.nf +.RS +# +# guacd.conf example +# + +[daemon] + +pid_file = /var/run/guacd.pid + +[server] + +bind_host = localhost +bind_port = 4822 + +[ssl] + +server_certificate = /etc/ssl/certs/guacd.crt +server_key = /etc/ssl/private/guacd.key +.RE +.fi http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacenc/.gitignore ---------------------------------------------------------------------- diff --git a/src/guacenc/.gitignore b/src/guacenc/.gitignore index d705721..6bef5a8 100644 --- a/src/guacenc/.gitignore +++ b/src/guacenc/.gitignore @@ -3,3 +3,6 @@ guacenc guacenc.exe +# Documentation (built from .in files) +man/guacenc.1 + http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacenc/Makefile.am ---------------------------------------------------------------------- diff --git a/src/guacenc/Makefile.am b/src/guacenc/Makefile.am index 4d22182..b5039cb 100644 --- a/src/guacenc/Makefile.am +++ b/src/guacenc/Makefile.am @@ -96,6 +96,6 @@ guacenc_LDFLAGS = \ @SWSCALE_LIBS@ \ @WEBP_LIBS@ -EXTRA_DIST = \ - man/guacenc.1 +EXTRA_DIST = \ + man/guacenc.1.in http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacenc/man/guacenc.1 ---------------------------------------------------------------------- diff --git a/src/guacenc/man/guacenc.1 b/src/guacenc/man/guacenc.1 deleted file mode 100644 index a36617a..0000000 --- a/src/guacenc/man/guacenc.1 +++ /dev/null @@ -1,80 +0,0 @@ -.\" -.\" Licensed to the Apache Software Foundation (ASF) under one -.\" or more contributor license agreements. See the NOTICE file -.\" distributed with this work for additional information -.\" regarding copyright ownership. The ASF licenses this file -.\" to you under the Apache License, Version 2.0 (the -.\" "License"); you may not use this file except in compliance -.\" with the License. You may obtain a copy of the License at -.\" -.\" http://www.apache.org/licenses/LICENSE-2.0 -.\" -.\" Unless required by applicable law or agreed to in writing, -.\" software distributed under the License is distributed on an -.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -.\" KIND, either express or implied. See the License for the -.\" specific language governing permissions and limitations -.\" under the License. -.\" -.TH guacenc 1 "1 Jun 2017" "version 0.9.13-incubating" "Guacamole" -. -.SH NAME -guacenc \- Guacamole video encoder -. -.SH SYNOPSIS -.B guacenc -[\fB-s\fR \fIWIDTH\fRx\fIHEIGHT\fR] -[\fB-r\fR \fIBITRATE\fR] -[\fB-f\fR] -[\fIFILE\fR]... -. -.SH DESCRIPTION -.B guacenc -is a video encoder which accepts Guacamole protocol dumps, such as those saved -when screen recording is enabled on a Guacamole connection, writing standard -video files as output. -.B guacenc -is essentially an implementation of a Guacamole client which accepts -its input from files instead of a network connection, and renders directly to -video instead of to the user's screen. -.P -Each \fIFILE\fR specified will be encoded as a raw MPEG-4 video stream to a new -file named \fIFILE\fR.m4v, encoded according to the other options specified. By -default, the output video will be \fI640\fRx\fI480\fR pixels, and will be saved -with a bitrate of \fI2000000\fR bits per second (2 Mbps). These defaults can be -overridden with the \fB-s\fR and \fB-r\fR options respectively. Existing files -will not be overwritten; the encoding process for any input file will be -aborted if it would result in overwriting an existing file. -.P -Guacamole acquires a write lock on recordings as they are being written. By -default, -.B guacenc -will check whether the each input file is locked and will refuse to read and -encode an input file if it appears to be an in-progress recording. This -behavior can be overridden by specifying the \fB-f\fR option. Encoding an -in-progress recording will still result in a valid video; the video will simply -cover the user's session only up to the current point in time. -. -.SH OPTIONS -.TP -\fB-s\fR \fIWIDTH\fRx\fIHEIGHT\fR -Changes the resolution of the video that -.B guacenc -renders. By default, this will be \fI640\fRx\fI480\fR. -.TP -\fB-r\fR \fIBITRATE\fR -Changes the bitrate that -.B guacenc -will use for the saved video. This is specified in bits per second. By default, -this will be \fI2000000\fR (2 Mbps). Higher values will result in larger but -higher-quality video files. Lower values will result in smaller but -lower-quality video files. -.TP -\fB-f\fR -Overrides the default behavior of -.B guacenc -such that input files will be encoded even if they appear to be recordings of -in-progress Guacamole sessions. -. -.SH AUTHOR -Written by Michael Jumper <[email protected]> http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guacenc/man/guacenc.1.in ---------------------------------------------------------------------- diff --git a/src/guacenc/man/guacenc.1.in b/src/guacenc/man/guacenc.1.in new file mode 100644 index 0000000..edb75f6 --- /dev/null +++ b/src/guacenc/man/guacenc.1.in @@ -0,0 +1,77 @@ +.\" +.\" Licensed to the Apache Software Foundation (ASF) under one +.\" or more contributor license agreements. See the NOTICE file +.\" distributed with this work for additional information +.\" regarding copyright ownership. The ASF licenses this file +.\" to you under the Apache License, Version 2.0 (the +.\" "License"); you may not use this file except in compliance +.\" with the License. You may obtain a copy of the License at +.\" +.\" http://www.apache.org/licenses/LICENSE-2.0 +.\" +.\" Unless required by applicable law or agreed to in writing, +.\" software distributed under the License is distributed on an +.\" "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +.\" KIND, either express or implied. See the License for the +.\" specific language governing permissions and limitations +.\" under the License. +.\" +.TH guacenc 1 "1 Jun 2017" "version @PACKAGE_VERSION@" "Apache Guacamole" +. +.SH NAME +guacenc \- Guacamole video encoder +. +.SH SYNOPSIS +.B guacenc +[\fB-s\fR \fIWIDTH\fRx\fIHEIGHT\fR] +[\fB-r\fR \fIBITRATE\fR] +[\fB-f\fR] +[\fIFILE\fR]... +. +.SH DESCRIPTION +.B guacenc +is a video encoder which accepts Guacamole protocol dumps, such as those saved +when screen recording is enabled on a Guacamole connection, writing standard +video files as output. +.B guacenc +is essentially an implementation of a Guacamole client which accepts +its input from files instead of a network connection, and renders directly to +video instead of to the user's screen. +.P +Each \fIFILE\fR specified will be encoded as a raw MPEG-4 video stream to a new +file named \fIFILE\fR.m4v, encoded according to the other options specified. By +default, the output video will be \fI640\fRx\fI480\fR pixels, and will be saved +with a bitrate of \fI2000000\fR bits per second (2 Mbps). These defaults can be +overridden with the \fB-s\fR and \fB-r\fR options respectively. Existing files +will not be overwritten; the encoding process for any input file will be +aborted if it would result in overwriting an existing file. +.P +Guacamole acquires a write lock on recordings as they are being written. By +default, +.B guacenc +will check whether the each input file is locked and will refuse to read and +encode an input file if it appears to be an in-progress recording. This +behavior can be overridden by specifying the \fB-f\fR option. Encoding an +in-progress recording will still result in a valid video; the video will simply +cover the user's session only up to the current point in time. +. +.SH OPTIONS +.TP +\fB-s\fR \fIWIDTH\fRx\fIHEIGHT\fR +Changes the resolution of the video that +.B guacenc +renders. By default, this will be \fI640\fRx\fI480\fR. +.TP +\fB-r\fR \fIBITRATE\fR +Changes the bitrate that +.B guacenc +will use for the saved video. This is specified in bits per second. By default, +this will be \fI2000000\fR (2 Mbps). Higher values will result in larger but +higher-quality video files. Lower values will result in smaller but +lower-quality video files. +.TP +\fB-f\fR +Overrides the default behavior of +.B guacenc +such that input files will be encoded even if they appear to be recordings of +in-progress Guacamole sessions. http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/76a6e410/src/guaclog/guaclog ---------------------------------------------------------------------- diff --git a/src/guaclog/guaclog b/src/guaclog/guaclog new file mode 100755 index 0000000..8fffe5d --- /dev/null +++ b/src/guaclog/guaclog @@ -0,0 +1,228 @@ +#! /bin/sh + +# guaclog - temporary wrapper script for .libs/guaclog +# Generated by libtool (GNU libtool) 2.4.6 +# +# The guaclog program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/mjumper/apache/guacamole/guacamole-server/src/guaclog; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/home/mjumper/google-cloud-sdk/bin:/home/mjumper/google-cloud-sdk/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mjumper/.local/bin:/home/mjumper/bin:/home/mjumper/node_modules/.bin; export PATH; gcc -Werror -Wall -I../../src/libguac -g -O2 -o \$progdir/\$file guaclog-guaclog.o guaclog-instructions.o guaclog-instruction-key.o guac log-interpret.o guaclog-keydef.o guaclog-log.o guaclog-state.o ../../src/libguac/.libs/libguac.so -lcairo -ldl -ljpeg -lpng -lpthread -lssl -lcrypto -lossp-uuid -logg -lvorbis -lvorbisenc -lwebp -Wl,-rpath -Wl,/home/mjumper/apache/guacamole/guacamole-server/src/libguac/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.4.6' + notinst_deplibs=' ../../src/libguac/libguac.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + file="$0" + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + ECHO="printf %s\\n" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string --lt- +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's ../../libtool value, followed by no. +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=$0 + shift + for lt_opt + do + case "$lt_opt" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'` + test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=. + lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'` + cat "$lt_dump_D/$lt_dump_F" + exit 0 + ;; + --lt-*) + $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n "$lt_option_debug"; then + echo "guaclog:guaclog:$LINENO: libtool wrapper (GNU libtool) 2.4.6" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + $ECHO "guaclog:guaclog:$LINENO: newargv[$lt_dump_args_N]: $lt_arg" + lt_dump_args_N=`expr $lt_dump_args_N + 1` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ + + if test -n "$lt_option_debug"; then + $ECHO "guaclog:guaclog:$LINENO: newargv[0]: $progdir/$program" 1>&2 + func_lt_dump_args ${1+"$@"} 1>&2 + fi + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from $@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case " $* " in + *\ --lt-*) + for lt_wr_arg + do + case $lt_wr_arg in + --lt-*) ;; + *) set x "$@" "$lt_wr_arg"; shift;; + esac + shift + done ;; + esac + func_exec_program_core ${1+"$@"} +} + + # Parse options + func_parse_lt_options "$0" ${1+"$@"} + + # Find the directory that this script lives in. + thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'guaclog' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + $ECHO "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + func_exec_program ${1+"$@"} + fi + else + # The program doesn't exist. + $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + $ECHO "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi
