[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#790626: Octave FTBFS With Texinfo 6



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.


Reply to: