Hello community,
here is the log from the commit of package docbook-xsl-stylesheets for
openSUSE:Factory checked in at 2017-09-04 12:18:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/docbook-xsl-stylesheets (Old)
and /work/SRC/openSUSE:Factory/.docbook-xsl-stylesheets.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "docbook-xsl-stylesheets"
Mon Sep 4 12:18:56 2017 rev:47 rq:519314 version:1.79.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/docbook-xsl-stylesheets/docbook-xsl-stylesheets.changes
2017-02-20 13:11:19.300308671 +0100
+++
/work/SRC/openSUSE:Factory/.docbook-xsl-stylesheets.new/docbook-xsl-stylesheets.changes
2017-09-04 12:18:57.394006571 +0200
@@ -1,0 +2,13 @@
+Sat Aug 26 12:07:41 UTC 2017 - [email protected]
+
+- Add docbook-xsl-stylesheets-non-recursive_string_subst.patch
+ Use str:replace from exslt.org to implement string.subst
+
+ string.subst implementation causes recursion issues when building
+ systemd documentation. This issue has been reported in
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765567 and
+ https://bugs.archlinux.org/task/54694 .
+
+ Taken from
https://github.com/fishilico/xslt10-stylesheets/commit/a7df4fbbef3ab0f97d50aa47f2ccfa0630a2686e
+
+-------------------------------------------------------------------
New:
----
docbook-xsl-stylesheets-non-recursive_string_subst.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ docbook-xsl-stylesheets.spec ++++++
--- /var/tmp/diff_new_pack.y0BEgw/_old 2017-09-04 12:18:58.521848018 +0200
+++ /var/tmp/diff_new_pack.y0BEgw/_new 2017-09-04 12:18:58.529846893 +0200
@@ -34,6 +34,8 @@
Source10: dbxslt-install.sh
## PATCH-FIX-OPENSUSE docbook-xsl-stylesheets-dbtoepub.patch Fixed dirname
Patch0: %{name}-dbtoepub.patch
+## PATCH-FIX-OPENSUSE docbook-xsl-stylesheets-non-recursive_string_subst.patch
Use EXSLT replace function to avoid recursive implementation of string.subst
+Patch1: %{name}-non-recursive_string_subst.patch
BuildRequires: fdupes
BuildRequires: sgml-skel >= 0.7
BuildRequires: unzip
@@ -83,6 +85,7 @@
%prep
%setup -q -n docbook-xsl-%{realversion} -b1
%patch0 -p1
+%patch1 -p1
cp %{SOURCE10} .
++++++ docbook-xsl-stylesheets-non-recursive_string_subst.patch ++++++
Description: use EXSLT "replace" function when available
A recursive implementation of string.subst is problematic,
long strings with many matches will cause stack overflows.
Author: Peter De Wachter <[email protected]>
Bug-Debian: https://bugs.debian.org/750593
Index: docbook-xsl-1.79.0/lib/lib.xsl
===================================================================
--- docbook-xsl-1.79.0.orig/lib/lib.xsl
+++ docbook-xsl-1.79.0/lib/lib.xsl
@@ -10,7 +10,10 @@
This module implements DTD-independent functions
******************************************************************** -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:str="http://exslt.org/strings"
+ exclude-result-prefixes="str"
+ version="1.0">
<xsl:template name="dot.count">
<!-- Returns the number of "." characters in a string -->
@@ -56,6 +59,9 @@
<xsl:param name="replacement"/>
<xsl:choose>
+ <xsl:when test="function-available('str:replace')">
+ <xsl:value-of select="str:replace($string, string($target),
string($replacement))"/>
+ </xsl:when>
<xsl:when test="contains($string, $target)">
<xsl:variable name="rest">
<xsl:call-template name="string.subst">