Xenial regression, unescaped percent pound, dollar sign in doxygen latex output

Bug #1833627 reported by Daniel Wang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
doxygen (Ubuntu)
In Progress
Medium
Unassigned

Bug Description

Description of problem:
there's a problem to build documentation for the apron package in Xenial. With doxygen 1.8.11, documentation for a certain operator% looks like this:

\subsubsection[{operator%(const texpr1+::builder &a, const texpr1+::builder &b)}]{\setlength{\rightskip}{0pt plus 5cm}texpr1+::builder operator% (
\begin{DoxyParamCaption}
\item[{const texpr1+::builder &}]{a, }
\item[{const texpr1+::builder &}]{b}
\end{DoxyParamCaption}

That works fine. However, with 1.8.11, this is produced:

\subsubsection[{\texorpdfstring{operator%(const texpr1+::builder &a, const texpr1+::builder &b)}{operator%(const texpr1::builder &a, const texpr1::builder &b)}}]{\setlength{\rightskip}{0pt plus 5cm}texpr1+::builder operator% (
\begin{DoxyParamCaption}
\item[{const texpr1+::builder &}]{a, }
\item[{const texpr1+::builder &}]{b}
\end{DoxyParamCaption}

The unescaped percent sign in the second argument to \texorpdfstring turns the rest of the line into a comment, leading to a LaTeX error.

[Impact]

* This bug cause FTBFS for cimg on Xenial

* This bug has been reported and conformed by Debian (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819606)

* It has been fixed by upstream in the later version
 - https://github.com/doxygen/doxygen/commit/d59ed22f114398d74d5c3fd1445a7901d26ff93a
 - https://github.com/doxygen/doxygen/commit/d4ab02c2da7df472bebbf2724419ba00f2de229c
 - https://github.com/doxygen/doxygen/commit/537a1c67f316c5a9d2d4542e94a4ace439a78b3a

[Regression Potential]

* Regression potential is low

* The patch filters adds escapes for '&', '$', '%', '#' when generating latex documentation. The change is tiny and these changes are already in the later version

* With the patch the cimg_1.6.5+dfsg-1ubuntu0.1 documentation can build without issues

[Test Case]

* When try to build cimg_1.6.5+dfsg-1ubuntu0.1, the following error occurs:

! ==> Fatal error occurred, no output PDF file produced!
Transcript written on refman.log.
Makefile:6: recipe for target 'refman.pdf' failed
make[2]: *** [refman.pdf] Error 1
make[2]: Leaving directory '/<<BUILDDIR>>/cimg-1.6.5+dfsg/html/latex'
# autogenerated makefile lacks a final pdflatex call to get references right (that's why the above '|| true')
cd html/latex && pdflatex refman
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./refman.tex
LaTeX2e <2016/02/01>

[Other Info]

* The upstream discussion: https://github.com/doxygen/doxygen/issues/5962

Tags: ftbfs
summary: - regression, Unescaped percent pound, dollar sign in doxygen output
+ Xenial regression, unescaped percent pound, dollar sign in doxygen latex
+ output
description: updated
Changed in doxygen (Ubuntu):
importance: Undecided → Medium
milestone: none → ubuntu-16.04.6
Changed in doxygen (Ubuntu):
status: New → Confirmed
description: updated
description: updated
Revision history for this message
Daniel Wang (danielwang88) wrote :

Backport patches

description: updated
description: updated
description: updated
Changed in doxygen (Ubuntu):
status: Confirmed → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.