[FFmpeg-devel] [PATCH 1/2] Use makeinfo to generate html doc for the new website

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Sun Jul 20 17:24:36 CEST 2014


On 19.07.2014 19:58, Timothy Gu wrote:
> texi2html is deprecated by upstream in favor of makeinfo/texi2any. See:
>
> - https://www.gnu.org/software/texinfo/manual/texinfo/html_node/texi2html.html
> - https://wiki.debian.org/Texi2htmlTransition
> - https://lists.debian.org/debian-devel/2013/05/msg01516.html
>
> This is actually two separate changes. But as makeinfo and texi2html
> adopt 2 (very) different init file syntaxes, it is easier to do the two
> transitions at once.
>
> Based on a patch by Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>.

Thanks for following up on this.

> Fixes Trac ticket #3232.
>
> Signed-off-by: Timothy Gu <timothygu99 at gmail.com>
> ---
>   configure         |   3 +-
>   doc/Makefile      |   8 +--
>   doc/platform.texi |   2 +-
>   doc/t2h.init      | 115 --------------------------------
>   doc/t2h.pm        | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   5 files changed, 199 insertions(+), 122 deletions(-)
>   delete mode 100644 doc/t2h.init
>   create mode 100644 doc/t2h.pm
>
> diff --git a/configure b/configure
> index 742dfe1..3f635ad 100755
> --- a/configure
> +++ b/configure
> @@ -2607,7 +2607,7 @@ ffserver_select="ffm_muxer rtp_protocol rtsp_demuxer"
>   # documentation
>   podpages_deps="perl"
>   manpages_deps="perl pod2man"
> -htmlpages_deps="perl texi2html"
> +htmlpages_deps="perl makeinfo"
>   txtpages_deps="perl makeinfo"
>   doc_deps_any="manpages htmlpages podpages txtpages"
>
> @@ -4844,7 +4844,6 @@ else
>   fi
>   enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs
>
> -texi2html --help 2> /dev/null | grep -q 'init-file' && enable texi2html || disable texi2html
>   makeinfo --version > /dev/null 2>&1 && enable makeinfo  || disable makeinfo
>   perl -v            > /dev/null 2>&1 && enable perl      || disable perl
>   pod2man --help     > /dev/null 2>&1 && enable pod2man   || disable pod2man


As texi2html won't be used anymore, it should also be removed from 
HAVE_LIST:
@@ -1789,7 +1789,6 @@ HAVE_LIST="
      perl
      pod2man
      sdl
-    texi2html
      threads
      vdpau_x11
      xlib
@@ -5323,7 +5321,6 @@ echo "safe bitstream reader     ${safe_b
  echo "safe bitstream reader     ${safe_bitstream_reader-no}"
  echo "SDL support               ${sdl-no}"
  echo "opencl enabled            ${opencl-no}"
-echo "texi2html enabled         ${texi2html-no}"
  echo "perl enabled              ${perl-no}"
  echo "pod2man enabled           ${pod2man-no}"
  echo "makeinfo enabled          ${makeinfo-no}"

> diff --git a/doc/Makefile b/doc/Makefile
> index 99f588a..8eb1d5d 100644
> --- a/doc/Makefile
> +++ b/doc/Makefile
> @@ -80,14 +80,14 @@ $(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
>   	$(M)doc/print_options $* > $@
>
>   doc/%.html: TAG = HTML
> -doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
> +doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
>   	$(Q)$(TEXIDEP)
> -	$(M)texi2html -I doc -monolithic --D=config-not-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
> +	$(M)makeinfo --html -I doc --no-split -D config-not-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
>
>   doc/%-all.html: TAG = HTML
> -doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
> +doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.pm $(GENTEXI)
>   	$(Q)$(TEXIDEP)
> -	$(M)texi2html -I doc -monolithic --D=config-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
> +	$(M)makeinfo --html -I doc --no-split -D config-all --init-file=$(SRC_PATH)/doc/t2h.pm --output $@ $<
>
>   doc/%.pod: TAG = POD
>   doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
> diff --git a/doc/platform.texi b/doc/platform.texi
> index c71121f..b529500 100644
> --- a/doc/platform.texi
> +++ b/doc/platform.texi
> @@ -275,7 +275,7 @@ llrint() in its C library.
>   Install your Cygwin with all the "Base" packages, plus the
>   following "Devel" ones:
>   @example
> -binutils, gcc4-core, make, git, mingw-runtime, texi2html
> +binutils, gcc4-core, make, git, mingw-runtime, texinfo
>   @end example
>
>   In order to run FATE you will also need the following "Utils" packages:
> diff --git a/doc/t2h.init b/doc/t2h.init
> deleted file mode 100644
> index e7760f4..0000000
> --- a/doc/t2h.init
> +++ /dev/null
[...]
> diff --git a/doc/t2h.pm b/doc/t2h.pm
> new file mode 100644
> index 0000000..c2fc263
> --- /dev/null
> +++ b/doc/t2h.pm
> @@ -0,0 +1,193 @@
> +# makeinfo HTML output init file
> +#
> +# Copyright (c) 2014 Andreas Cadhalpun
> +# Copyright (c) 2014 Tiancheng "Timothy" Gu
> +#
> +# This file is part of FFmpeg.
> +#
> +# FFmpeg 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 3 of the License, or
> +# (at your option) any later version.

I assume you put GPL-3+ here, because ffmpeg_float is adapted from GNU 
Texinfo. In that case the copyright should be mentioned here:
Copyright 2011, 2012 Free Software Foundation, Inc.

However, I would prefer it, if there was a way to put this under 
LGPL-2.1+ to make it consistent with the rest of FFmpeg, but that could 
violate the license of Texinfo. As I'm no lawyer, I don't know for sure.

> +#
> +# FFmpeg 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
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with FFmpeg; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +# Add an icon and stylesheet. We don't use 'CSS_LINES' in addition to
> +# EXTRA_HEAD because it's easier to maintain this way.
> +set_from_init_file('EXTRA_HEAD',
> +    $ENV{"FFMPEG_EXTRA_HEAD"} || '
> +    <link rel="icon" href="favicon.png" type="image/png">
> +    <link rel="stylesheet" type="text/css" href="style.min.css">

Could somebody please add the source of the minified style.min.css?
That file isn't really human readable and certainly not in the preferred 
form of modification.

The rest of the patch looks good to me.

Best regards,
Andreas


More information about the ffmpeg-devel mailing list