[FFmpeg-devel] [PATCH] Add generate-doc.sh to generate makeinfo-based ffmpeg docs

Michael Niedermayer michaelni at gmx.at
Sun Aug 24 13:17:56 CEST 2014


On Sun, Jul 20, 2014 at 02:22:37PM -0700, Timothy Gu wrote:
> Signed-off-by: Timothy Gu <timothygu99 at gmail.com>
> ---
>  README                | 12 +-----------
>  generate-doc.sh       | 41 +++++++++++++++++++++++++++++++++++++++++
>  src/template_doctitle |  1 -
>  3 files changed, 42 insertions(+), 12 deletions(-)
>  create mode 100755 generate-doc.sh
>  delete mode 100644 src/template_doctitle
> 
> diff --git a/README b/README
> index 93854ee..7f15db2 100644
> --- a/README
> +++ b/README
> @@ -15,17 +15,7 @@ GENERATE THE DOCUMENTATION
>  
>  /!\ None of the generated versions of the website contain the documentation.
>  
> -To generate the documentation pages:
> -- Add the HTML wrappers to your environment:
> -  $ export FFMPEG_HEADER1="$(cat src/template_head1 src/template_doctitle src/template_head_prod)"
> -  $ export FFMPEG_HEADER2="$(cat src/template_head2 src/template_doctitle src/template_head3)"
> -  $ export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
> -- Get the main ffmpeg repo:
> -  $ git clone git://source.ffmpeg.org/ffmpeg.git
> -- Compile the documentation using the ffmpeg main repo Makefile:
> -  $ make doc
> -- Copy the generated HTML files inside the website:
> -  $ cp /path/to/ffmpeg/doc/*.html /path/to/ffmpeg-web/htdocs/
> +To generate the documentation pages, just `./generate-doc.sh <ffmpeg-src>`.
>  
>  In case of a major CSS update, please also update the `style.min.css` file in
>  the main FFmpeg repo:
> diff --git a/generate-doc.sh b/generate-doc.sh
> new file mode 100755
> index 0000000..f953a9a
> --- /dev/null
> +++ b/generate-doc.sh
> @@ -0,0 +1,41 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2014 Tiancheng "Timothy" Gu.
> +#
> +# Permission to use, copy, modify, and/or distribute this software for any
> +# purpose with or without fee is hereby granted, provided that the above
> +# copyright notice and this permission notice appear in all copies.
> +#
> +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
> +# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
> +# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
> +# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> +
> +die() {
> +    echo $1
> +    exit 1
> +}
> +
> +if [ $# != 1 ]; then
> +    die "Usage: $0 <ffmpeg-source>"
> +fi
> +
> +src=$1
> +current_dir=$(pwd)
> +
> +export FFMPEG_HEADER1="$(cat src/template_head1)"
> +export FFMPEG_HEADER2="$(cat src/template_head_prod src/template_head2)"
> +export FFMPEG_HEADER3="$(cat src/template_head3)"
> +export FFMPEG_FOOTER="$(cat src/template_footer1 src/template_footer_prod src/template_footer2)"
> +
> +rm -rf build-doc
> +mkdir build-doc && cd build-doc
> +$src/configure --enable-gpl --disable-yasm || die "configure failed"
> +make doc || die "doc not made"
> +cp doc/*.html ../htdocs/ || die "copy failed"
> +
> +cd ..
> +rm -rf build-doc
> \ No newline at end of file


> diff --git a/src/template_doctitle b/src/template_doctitle
> deleted file mode 100644

this file is used by our docs building script on the server
if someone wants to look into updating it or changing it to use
something closer to generate-doc.sh, i can give him/her an account
note executing scripts from git like configure or Makefile from hooks
should be avoided, it poses security issues. It would allow anyone
with push access or anyone who obtains a key from such person to
execute code on the server.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140824/dd218cdc/attachment.asc>


More information about the ffmpeg-devel mailing list