On Wednesday, July 08, 2015 09:03:45 AM Mike Miller wrote: > On Wed, Jul 08, 2015 at 18:36:29 +0900, Norbert Preining wrote: > > Great, does that mean I don't need to investigate 3.8.2 build fixes > > anymore? I am on a conference and low on time, so I couldn't > > do more testing and fixing for the 3.8.2 version. > > Yes, I think the patch I submitted should be sufficient. > > I'll try to find some time to do a true source package build test with > octave-3.8.2-xbackslash-texinfo.diff, but I'm also a little short on > time at the moment. Scott, if you beat me to it that would be helpful. Adding the patch and retrying the last failed build worked. I'm trying a build in a clean chroot now using the attached proposed NMU debdiff. If it builds, I'll upload it directly as previously mentioned (if any Octave maintainer would prefer I don't because they are taking care of it, please speak up). I do not intend to NMU 4.0 in experimental since it's not needed to complete the transition. Thanks to both Norbert and Mike for all your help. Scott K
diff -Nru octave-3.8.2/debian/changelog octave-3.8.2/debian/changelog
--- octave-3.8.2/debian/changelog 2014-12-01 15:26:56.000000000 -0500
+++ octave-3.8.2/debian/changelog 2015-07-08 13:39:13.000000000 -0400
@@ -1,3 +1,14 @@
+octave (3.8.2-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTBFS with texinfo 6 (Closes: #790533)
+ - Add texlive-fonts-recommended to build-depends (needed for texinfo 6)
+ - Add debian/patches/dont-use-included-texinfo-texmfcnf and
+ xbackslash-texinfo.diff (Patches thanks to Norbert Preining and
+ Mike Miller)
+
+ -- Scott Kitterman <scott@kitterman.com> Wed, 08 Jul 2015 13:36:14 -0400
+
octave (3.8.2-4) unstable; urgency=medium
* mkoctfile-infinite-loop.patch: fix infinite loop of mkoctfile -M on
diff -Nru octave-3.8.2/debian/control octave-3.8.2/debian/control
--- octave-3.8.2/debian/control 2014-10-10 14:30:24.000000000 -0400
+++ octave-3.8.2/debian/control 2015-07-06 08:41:44.000000000 -0400
@@ -4,7 +4,8 @@
Maintainer: Debian Octave Group <pkg-octave-devel@lists.alioth.debian.org>
Uploaders: Sébastien Villemot <sebastien@debian.org>
Build-Depends: gfortran, debhelper (>= 9), automake, dh-autoreconf, texinfo,
- texlive-latex-base, texlive-generic-recommended, epstool, transfig, pstoedit,
+ texlive-latex-base, texlive-generic-recommended, texlive-fonts-recommended,
+ epstool, transfig, pstoedit,
libreadline-dev, xauth, xvfb,
libncurses5-dev, gperf, libhdf5-dev (>= 1.8.8),
libblas-dev (>=1.2-7), liblapack-dev (>= 3.4.1-4), gnuplot-nox, libfftw3-dev,
diff -Nru octave-3.8.2/debian/patches/dont-use-included-texinfo-texmfcnf octave-3.8.2/debian/patches/dont-use-included-texinfo-texmfcnf
--- octave-3.8.2/debian/patches/dont-use-included-texinfo-texmfcnf 1969-12-31 19:00:00.000000000 -0500
+++ octave-3.8.2/debian/patches/dont-use-included-texinfo-texmfcnf 2015-07-06 08:49:12.000000000 -0400
@@ -0,0 +1,21 @@
+Index: octave-3.8.2/doc/interpreter/Makefile.am
+==================================================================+--- octave-3.8.2.orig/doc/interpreter/Makefile.am 2015-07-06 08:45:00.056336660 -0400
++++ octave-3.8.2/doc/interpreter/Makefile.am 2015-07-06 08:49:09.840347338 -0400
+@@ -20,16 +20,6 @@
+
+ include $(top_srcdir)/build-aux/common.mk
+
+-TEXINFO_TEX = ../texinfo.tex
+-
+-## Leading PATH_SEPARATOR required due to weak parsing by dvips (12/04/09)
+-TEXINPUTS := "$(PATH_SEPARATOR)$(srcdir)$(PATH_SEPARATOR)$(TEXINPUTS)$(PATH_SEPARATOR)"
+-export TEXINPUTS
+-
+-## Include custom texmf.cnf necessary to run @seealso macro
+-TEXMFCNF := "..$(PATH_SEPARATOR)$(srcdir)/..$(PATH_SEPARATOR)$(TEXMFCNF)$(PATH_SEPARATOR)"
+-export TEXMFCNF
+-
+ dist_man_MANS = \
+ mkoctfile.1 \
+ octave-cli.1 \
diff -Nru octave-3.8.2/debian/patches/escape-backslash-for-texinfo-in-source octave-3.8.2/debian/patches/escape-backslash-for-texinfo-in-source
--- octave-3.8.2/debian/patches/escape-backslash-for-texinfo-in-source 1969-12-31 19:00:00.000000000 -0500
+++ octave-3.8.2/debian/patches/escape-backslash-for-texinfo-in-source 2015-07-06 08:43:43.000000000 -0400
@@ -0,0 +1,27 @@
+---
+ libinterp/corefcn/utils.cc | 2 +-
+ scripts/io/beep.m | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- octave.orig/libinterp/corefcn/utils.cc
++++ octave/libinterp/corefcn/utils.cc
+@@ -1379,7 +1379,7 @@
+ \n\
+ Implementation Note: Strings are first converted to double values before the\n\
+ checks for valid indices are made. Unless a string contains the NULL\n\
+-character @nospell{\"\\0\"}, it will always be a valid index.\n\
++character @nospell{\"\\\\0\"}, it will always be a valid index.\n\
+ @end deftypefn")
+ {
+ octave_value retval;
+--- octave.orig/scripts/io/beep.m
++++ octave/scripts/io/beep.m
+@@ -20,7 +20,7 @@
+ ## @deftypefn {Function File} {} beep ()
+ ## Produce a beep from the speaker (or visual bell).
+ ##
+-## This function sends the alarm character @qcode{"\a"} to the terminal.
++## This function sends the alarm character @qcode{"\\a"} to the terminal.
+ ## Depending on the user's configuration this may produce an audible beep,
+ ## a visual bell, or nothing at all.
+ ## @seealso{puts, fputs, printf, fprintf}
diff -Nru octave-3.8.2/debian/patches/series octave-3.8.2/debian/patches/series
--- octave-3.8.2/debian/patches/series 2014-12-01 15:26:52.000000000 -0500
+++ octave-3.8.2/debian/patches/series 2015-07-08 13:36:06.000000000 -0400
@@ -10,3 +10,5 @@
hdf5-flags.patch
hdf5-mkoctfile.patch
mkoctfile-infinite-loop.patch
+dont-use-included-texinfo-texmfcnf
+xbackslash-texinfo.diff
diff -Nru octave-3.8.2/debian/patches/xbackslash-texinfo.diff octave-3.8.2/debian/patches/xbackslash-texinfo.diff
--- octave-3.8.2/debian/patches/xbackslash-texinfo.diff 1969-12-31 19:00:00.000000000 -0500
+++ octave-3.8.2/debian/patches/xbackslash-texinfo.diff 2015-07-08 13:35:11.000000000 -0400
@@ -0,0 +1,201 @@
+diff --git a/doc/interpreter/func.txi b/doc/interpreter/func.txi
+--- a/doc/interpreter/func.txi
++++ b/doc/interpreter/func.txi
+@@ -114,8 +114,8 @@
+ @end example
+
+ The @code{printf} statement (@pxref{Input and Output}) simply tells
+-Octave to print the string @qcode{"\a"}. The special character @samp{\a}
+-stands for the alert character (ASCII 7). @xref{Strings}.
++Octave to print the string @qcode{"@xbackslashchar{}a"}. The special character
++@samp{\a} stands for the alert character (ASCII 7). @xref{Strings}.
+
+ Once this function is defined, you can ask Octave to evaluate it by
+ typing the name of the function.
+diff --git a/libinterp/corefcn/error.cc b/libinterp/corefcn/error.cc
+--- a/libinterp/corefcn/error.cc
++++ b/libinterp/corefcn/error.cc
+@@ -1093,11 +1093,12 @@
+ which will only stop execution if an error has been found.\n\
+ \n\
+ Implementation Note: For compatibility with @sc{matlab}, escape\n\
+-sequences (e.g., @qcode{\"\\n\"} => newline) are processed in @var{template}\n\
+-regardless of whether @var{template} has been defined within single quotes\n\
+-as long as there are two or more input arguments.\n\
++sequences (e.g., @qcode{\"@xbackslashchar{}n\"} => newline) are processed in\n\
++@var{template} regardless of whether @var{template} has been defined within\n\
++single quotes as long as there are two or more input arguments.\n\
+ Use a second backslash to stop interpolation of the escape sequence (e.g.,\n\
+-\"\\\\n\") or use the @code{regexptranslate} function.\n\
++\"@xbackslashchar{}@xbackslashchar{}n\") or use the @code{regexptranslate}\n\
++function.\n\
+ @seealso{warning, lasterror}\n\
+ @end deftypefn")
+ {
+@@ -1265,11 +1266,12 @@
+ workspace.\n\
+ \n\
+ Implementation Note: For compatibility with @sc{matlab}, escape\n\
+-sequences (e.g., @qcode{\"\\n\"} => newline) are processed in @var{template}\n\
+-regardless of whether @var{template} has been defined within single quotes\n\
+-as long as there are two or more input arguments.\n\
++sequences (e.g., @qcode{\"@xbackslashchar{}n\"} => newline) are processed in\n\
++@var{template} regardless of whether @var{template} has been defined within\n\
++single quotes as long as there are two or more input arguments.\n\
+ Use a second backslash to stop interpolation of the escape sequence (e.g.,\n\
+-\"\\\\n\") or use the @code{regexptranslate} function.\n\
++\"@xbackslashchar{}@xbackslashchar{}n\") or use the @code{regexptranslate}\n\
++function.\n\
+ @seealso{warning_ids, lastwarn, error}\n\
+ @end deftypefn")
+ {
+diff --git a/libinterp/corefcn/regexp.cc b/libinterp/corefcn/regexp.cc
+--- a/libinterp/corefcn/regexp.cc
++++ b/libinterp/corefcn/regexp.cc
+@@ -677,10 +677,11 @@
+ @end table\n\
+ \n\
+ Implementation Note: For compatibility with @sc{matlab}, ordinary escape\n\
+-sequences (e.g., @qcode{\"\\n\"} => newline) are processed in @var{pat}\n\
+-regardless of whether @var{pat} has been defined within single quotes. Use\n\
+-a second backslash to stop interpolation of the escape sequence (e.g.,\n\
+-\"\\\\n\") or use the @code{regexptranslate} function.\n\
++sequences (e.g., @qcode{\"@xbackslashchar{}n\"} => newline) are processed in\n\
++@var{pat} regardless of whether @var{pat} has been defined within single\n\
++quotes. Use a second backslash to stop interpolation of the escape sequence\n\
++(e.g., \"@xbackslashchar{}@xbackslashchar{}n\") or use the\n\
++@code{regexptranslate} function.\n\
+ \n\
+ The outputs of @code{regexp} default to the order given below\n\
+ \n\
+@@ -1309,10 +1310,11 @@
+ @end table\n\
+ \n\
+ Implementation Note: For compatibility with @sc{matlab}, ordinary escape\n\
+-sequences (e.g., @qcode{\"\\n\"} => newline) are processed in both @var{pat}\n\
+-and @var{repstr} regardless of whether they were defined within single\n\
+-quotes. Use a second backslash to stop interpolation of the escape sequence\n\
+-(e.g., \"\\\\n\") or use the @code{regexptranslate} function.\n\
++sequences (e.g., @qcode{\"@xbackslashchar{}n\"} => newline) are processed in\n\
++both @var{pat} and @var{repstr} regardless of whether they were defined\n\
++within single quotes. Use a second backslash to stop interpolation of the\n\
++escape sequence (e.g., \"@xbackslashchar{}@xbackslashchar{}n\") or use the\n\
++@code{regexptranslate} function.\n\
+ @seealso{regexp, regexpi, strrep}\n\
+ @end deftypefn")
+ {
+diff --git a/libinterp/corefcn/variables.cc b/libinterp/corefcn/variables.cc
+--- a/libinterp/corefcn/variables.cc
++++ b/libinterp/corefcn/variables.cc
+@@ -2543,8 +2543,9 @@
+ leftmost column. @code{left-min} specifies the minimum field width to the\n\
+ left of the specified balance column.\n\
+ \n\
+-The default format is\n\
+-@qcode{\" %a:4; %ln:6; %cs:16:6:1; %rb:12; %lc:-1;\\n\"}.\n\
++The default format is:\n\
++\n\
++@qcode{\" %a:4; %ln:6; %cs:16:6:1; %rb:12; %lc:-1;@xbackslashchar{}n\"}\n\
+ \n\
+ When called from inside a function with the @qcode{\"local\"} option, the\n\
+ variable is changed locally for the function and any subroutines it calls. \n\
+diff --git a/scripts/gui/msgbox.m b/scripts/gui/msgbox.m
+--- a/scripts/gui/msgbox.m
++++ b/scripts/gui/msgbox.m
+@@ -23,7 +23,7 @@
+ ## Display @var{msg} using a message dialog box.
+ ##
+ ## The message may have multiple lines separated by newline characters
+-## (@qcode{"\n"}), or it may be a cellstr array with one element for each
++## (@qcode{"@xbackslashchar{}n"}), or it may be a cellstr array with one element for each
+ ## line. The optional input @var{title} (character string) can be used to
+ ## decorate the dialog caption.
+ ##
+diff --git a/scripts/io/dlmwrite.m b/scripts/io/dlmwrite.m
+--- a/scripts/io/dlmwrite.m
++++ b/scripts/io/dlmwrite.m
+@@ -50,9 +50,11 @@
+ ##
+ ## @item @qcode{"newline"}
+ ## The character(s) to use to separate each row. Three special cases
+-## exist for this option. @qcode{"unix"} is changed into @qcode{"\n"},
+-## @qcode{"pc"} is changed into @qcode{"\r\n"}, and @qcode{"mac"} is changed
+-## into @qcode{"\r"}. Other values for this option are kept as is.
++## exist for this option. @qcode{"unix"} is changed into
++## @qcode{"@xbackslashchar{}n"}, @qcode{"pc"} is changed into
++## @qcode{"@xbackslashchar{}r@xbackslashchar{}n"}, and @qcode{"mac"} is changed
++## into @qcode{"@xbackslashchar{}r"}. Any other value is used directly as the
++## newline separator.
+ ##
+ ## @item @qcode{"roffset"}
+ ## See @var{r} above.
+@@ -70,7 +72,7 @@
+ ## @end example
+ ##
+ ## @example
+-## dlmwrite ("file.tex", a, "delimiter", "&", "newline", "\\n")
++## dlmwrite ("file.tex", a, "delimiter", "&", "newline", "\n")
+ ## @end example
+ ##
+ ## @seealso{dlmread, csvread, csvwrite}
+diff --git a/scripts/io/strread.m b/scripts/io/strread.m
+--- a/scripts/io/strread.m
++++ b/scripts/io/strread.m
+@@ -147,8 +147,10 @@
+ ## @item @qcode{"whitespace"}
+ ## Any character in @var{value} will be interpreted as whitespace and
+ ## trimmed; the string defining whitespace must be enclosed in double
+-## quotes for proper processing of special characters like \t.
+-## The default value for whitespace = @qcode{" \b\r\n\t"} (note the space).
++## quotes for proper processing of special characters like
++## @qcode{"@xbackslashchar{}t"}. The default value for whitespace is
++## @qcode{" @xbackslashchar{}b@xbackslashchar{}r@xbackslashchar{}n@xbackslashchar{}t"}
++## (note the space).
+ ## Unless whitespace is set to '' (empty) AND at least one @qcode{"%s"} format
+ ## conversion specifier is supplied, a space is always part of whitespace.
+ ##
+@@ -159,11 +161,11 @@
+ ## depends on the last character of @var{str}:
+ ##
+ ## @table @asis
+-## @item last character = @qcode{"\n"}
++## @item last character = @qcode{"@xbackslashchar{}n"}
+ ## Data columns are padded with empty fields or Nan so that all columns
+ ## have equal length
+ ##
+-## @item last character is not @qcode{"\n"}
++## @item last character is not @qcode{"@xbackslashchar{}n"}
+ ## Data columns are not padded; strread returns columns of unequal length
+ ##
+ ## @end table
+diff --git a/scripts/io/textread.m b/scripts/io/textread.m
+--- a/scripts/io/textread.m
++++ b/scripts/io/textread.m
+@@ -36,7 +36,8 @@
+ ## The first @var{value} number of lines of @var{filename} are skipped.
+ ##
+ ## @item @qcode{"endofline"}:
+-## Specify a single character or @qcode{"\r\n"}. If no value is given, it
++## Specify a single character or
++## @qcode{"@xbackslashchar{}r@xbackslashchar{}n"}. If no value is given, it
+ ## will be inferred from the file. If set to "" (empty string) EOLs are
+ ## ignored as delimiters.
+ ## @end itemize
+diff --git a/scripts/io/textscan.m b/scripts/io/textscan.m
+--- a/scripts/io/textscan.m
++++ b/scripts/io/textscan.m
+@@ -40,10 +40,10 @@
+ ## leaves output in distinct columns.
+ ##
+ ## @item @qcode{"endofline"}:
+-## Specify @qcode{"\r"}, @qcode{"\n"} or @qcode{"\r\n"} (for CR, LF, or
+-## CRLF). If no value is given, it will be inferred from the file. If set
+-## to "" (empty string) EOLs are ignored as delimiters and added to
+-## whitespace.
++## Specify @qcode{"@xbackslashchar{}r"}, @qcode{"@xbackslashchar{}n"} or
++## @qcode{"@xbackslashchar{}r@xbackslashchar{}n"} (for CR, LF, or CRLF). If no
++## value is given, it will be inferred from the file. If set to "" (empty
++## string) EOLs are ignored as delimiters and added to whitespace.
+ ##
+ ## @item @qcode{"headerlines"}:
+ ## The first @var{value} number of lines of @var{fid} are skipped.
Attachment:
signature.asc
Description: This is a digitally signed message part.