Accepting request 555594 from GNOME:Factory
OBS-URL: https://build.opensuse.org/request/show/555594 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk-doc?expand=0&rev=39
This commit is contained in:
commit
ef48086731
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:bff3f44467b1d39775e94fad545f050faa7e8d68dc6a31aef5024ba3c2d7f2b7
|
|
||||||
size 706432
|
|
3
gtk-doc-1.27.tar.xz
Normal file
3
gtk-doc-1.27.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e26bd3f7080c749b1cb66c46c6bf8239e2f320a949964fb9c6d56e1b0c6d9a6f
|
||||||
|
size 719320
|
@ -1,47 +0,0 @@
|
|||||||
From c08cc78562c59082fc83b55b58747177510b7a70 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
||||||
Date: Fri, 11 Aug 2017 21:06:59 +0200
|
|
||||||
Subject: gtk-doc.make: Generate main sgml file by waiting on mkdb
|
|
||||||
|
|
||||||
The 'empty' test fails on some machines when doing a parallel build, as
|
|
||||||
make cannot find tester-docs.xml. Add a rule to ensure make waits for
|
|
||||||
gtkdoc-mkdb to generate the file.
|
|
||||||
This will also fix first time parallel builds.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=786174
|
|
||||||
---
|
|
||||||
gtk-doc.make | 3 +++
|
|
||||||
tests/gtk-doc.make | 3 +++
|
|
||||||
2 files changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/gtk-doc.make b/gtk-doc.make
|
|
||||||
index e5777b6..d2a8b33 100644
|
|
||||||
--- a/gtk-doc.make
|
|
||||||
+++ b/gtk-doc.make
|
|
||||||
@@ -152,6 +152,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
|
|
||||||
sgml.stamp: sgml-build.stamp
|
|
||||||
@true
|
|
||||||
|
|
||||||
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
|
|
||||||
+ @true
|
|
||||||
+
|
|
||||||
xml/gtkdocentities.ent: Makefile
|
|
||||||
$(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
|
|
||||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
|
||||||
diff --git a/tests/gtk-doc.make b/tests/gtk-doc.make
|
|
||||||
index 808fda4..cb8e164 100644
|
|
||||||
--- a/tests/gtk-doc.make
|
|
||||||
+++ b/tests/gtk-doc.make
|
|
||||||
@@ -141,6 +141,9 @@ sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HF
|
|
||||||
sgml.stamp: sgml-build.stamp
|
|
||||||
@true
|
|
||||||
|
|
||||||
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
|
|
||||||
+ @true
|
|
||||||
+
|
|
||||||
xml/gtkdocentities.ent: Makefile
|
|
||||||
@$(MKDIR_P) $(@D) && ( \
|
|
||||||
echo "<!ENTITY package \"$(PACKAGE)\">"; \
|
|
||||||
--
|
|
||||||
cgit v0.12
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 2d364e50140d17cf455365df537e5976d5d480d2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dominique Leuenberger <dimstar@opensuse.org>
|
|
||||||
Date: Sat, 2 Dec 2017 16:11:50 +0100
|
|
||||||
Subject: [PATCH] Use logging infrastructure for LogWarning
|
|
||||||
|
|
||||||
Using pure 'print' statements often fail if we have a message containing
|
|
||||||
UTF-8, but output on a terminal/pipe not supporting UTF-8.
|
|
||||||
|
|
||||||
Instead of trying to en/decode (and likely fail all the time) use logging.warning
|
|
||||||
|
|
||||||
This causes a slight change of the format, as the log is prefixed with WARNING:root
|
|
||||||
but that seems better than crashing
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=791131
|
|
||||||
---
|
|
||||||
gtkdoc/common.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/common.py b/gtkdoc/common.py
|
|
||||||
index ca82263..286f7f3 100644
|
|
||||||
--- a/gtkdoc/common.py
|
|
||||||
+++ b/gtkdoc/common.py
|
|
||||||
@@ -148,7 +148,7 @@ def LogWarning(filename, line, message):
|
|
||||||
filename = filename or "unknown"
|
|
||||||
|
|
||||||
# TODO: write to stderr
|
|
||||||
- print ("%s:%d: warning: %s" % (filename, line, message))
|
|
||||||
+ logging.warning ("%s:%d: warning: %s" % (filename, line, message))
|
|
||||||
|
|
||||||
|
|
||||||
def CreateValidSGMLID(xml_id):
|
|
||||||
--
|
|
||||||
2.15.0
|
|
||||||
|
|
@ -1,626 +0,0 @@
|
|||||||
commit 8ad03e164f3091df68a9fed5492b54cd61d0ac51
|
|
||||||
Author: Stefan Sauer <ensonic@users.sf.net>
|
|
||||||
Date: Thu Oct 26 22:16:57 2017 +0200
|
|
||||||
|
|
||||||
mkdb: don't uses sys.exit in library
|
|
||||||
|
|
||||||
Just print a warning and go on.
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/mkdb.py b/gtkdoc/mkdb.py
|
|
||||||
index 3b0bc15..d89d078 100644
|
|
||||||
--- a/gtkdoc/mkdb.py
|
|
||||||
+++ b/gtkdoc/mkdb.py
|
|
||||||
@@ -31,7 +31,6 @@ import logging
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import string
|
|
||||||
-import sys
|
|
||||||
|
|
||||||
from . import common, md_to_db
|
|
||||||
|
|
||||||
@@ -1123,7 +1122,8 @@ def OutputDeclaration(symbol, declaration):
|
|
||||||
elif dtype == 'USER_FUNCTION':
|
|
||||||
return OutputFunction(symbol, declaration, dtype)
|
|
||||||
else:
|
|
||||||
- sys.exit("Unknown symbol type " + dtype)
|
|
||||||
+ logging.warning("Unknown symbol type %s for symbol %s", dtype, symbol)
|
|
||||||
+ return ('', '')
|
|
||||||
|
|
||||||
|
|
||||||
def OutputSymbolTraits(symbol):
|
|
||||||
|
|
||||||
commit a4a719606bfa0abdea794f6a7d4f46b3e3fcb77e
|
|
||||||
Author: Stefan Sauer <ensonic@users.sf.net>
|
|
||||||
Date: Thu Oct 26 21:06:17 2017 +0200
|
|
||||||
|
|
||||||
mkdb: fix missing info on typedefs
|
|
||||||
|
|
||||||
This was a regression from the perl->python port.
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/mkdb.py b/gtkdoc/mkdb.py
|
|
||||||
index 7bb6d3e..3b0bc15 100644
|
|
||||||
--- a/gtkdoc/mkdb.py
|
|
||||||
+++ b/gtkdoc/mkdb.py
|
|
||||||
@@ -1281,7 +1281,7 @@ def OutputTypedef(symbol, declaration):
|
|
||||||
desc += "\n"
|
|
||||||
desc += OutputSymbolExtraLinks(symbol)
|
|
||||||
|
|
||||||
- if symbol in DeclarationConditional:
|
|
||||||
+ if symbol not in DeclarationConditional:
|
|
||||||
decl_out = CreateValidSGML(declaration)
|
|
||||||
desc += "<programlisting language=\"C\">%s</programlisting>\n" % decl_out
|
|
||||||
|
|
||||||
|
|
||||||
commit 21358879180c9e988fc0473840ab8ab673f69513
|
|
||||||
Author: Christoph Reiter <reiter.christoph@gmail.com>
|
|
||||||
Date: Wed Oct 25 21:27:05 2017 +0200
|
|
||||||
|
|
||||||
mkdb: Mark multiple Unicode strings as such
|
|
||||||
|
|
||||||
These are utf-8 encoded byte strings under Python 2 and when concatonated
|
|
||||||
with unicode objects get auto-decoded using the default ascii encoding,
|
|
||||||
which fails as they are not ascii.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787862
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/mkdb.py b/gtkdoc/mkdb.py
|
|
||||||
index 6c1538f..7bb6d3e 100644
|
|
||||||
--- a/gtkdoc/mkdb.py
|
|
||||||
+++ b/gtkdoc/mkdb.py
|
|
||||||
@@ -2784,14 +2784,14 @@ def MakeHashXRef(symbol, tag):
|
|
||||||
if '::' in symbol:
|
|
||||||
o, s = symbol.split('::', 1)
|
|
||||||
symbol = '%s-%s' % (o, s)
|
|
||||||
- text = '“' + s + '”'
|
|
||||||
+ text = u'“' + s + u'”'
|
|
||||||
|
|
||||||
# If the symbol is in the form "Object:property", then change the symbol to
|
|
||||||
# "Object--property" and use "property" as the text.
|
|
||||||
if ':' in symbol:
|
|
||||||
o, p = symbol.split(':', 1)
|
|
||||||
symbol = '%s--%s' % (o, p)
|
|
||||||
- text = '“' + p + '”'
|
|
||||||
+ text = u'“' + p + u'”'
|
|
||||||
|
|
||||||
if tag != '':
|
|
||||||
text = tagify(text, tag)
|
|
||||||
@@ -3311,7 +3311,7 @@ def GetSignals(gobject):
|
|
||||||
symbol = '%s::%s' % (gobject, name)
|
|
||||||
sid = common.CreateValidSGMLID('%s-%s' % (gobject, name))
|
|
||||||
|
|
||||||
- desc += "<refsect2 id=\"%s\" role=\"signal\"><title>The <literal>“%s”</literal> signal</title>\n" % (
|
|
||||||
+ desc += u"<refsect2 id=\"%s\" role=\"signal\"><title>The <literal>“%s”</literal> signal</title>\n" % (
|
|
||||||
sid, name)
|
|
||||||
desc += MakeIndexterms(symbol, sid)
|
|
||||||
desc += "\n"
|
|
||||||
@@ -3546,13 +3546,13 @@ def GetArgs(gobject):
|
|
||||||
|
|
||||||
arg_synop = "<row><entry role=\"property_type\">%s</entry><entry role=\"property_name\"><link linkend=\"%s\">%s</link></entry><entry role=\"property_flags\">%s</entry></row>\n" % (
|
|
||||||
type_output, sid, name, flags_string)
|
|
||||||
- arg_desc = "<refsect2 id=\"%s\" role=\"property\"><title>The <literal>“%s”</literal> %s</title>\n" % (
|
|
||||||
+ arg_desc = u"<refsect2 id=\"%s\" role=\"property\"><title>The <literal>“%s”</literal> %s</title>\n" % (
|
|
||||||
sid, name, kind)
|
|
||||||
arg_desc += MakeIndexterms(symbol, sid)
|
|
||||||
arg_desc += "\n"
|
|
||||||
arg_desc += OutputSymbolExtraLinks(symbol)
|
|
||||||
|
|
||||||
- arg_desc += "<programlisting> “%s”%s %s</programlisting>\n" % (name, pad1, type_output)
|
|
||||||
+ arg_desc += u"<programlisting> “%s”%s %s</programlisting>\n" % (name, pad1, type_output)
|
|
||||||
arg_desc += blurb
|
|
||||||
if symbol in SymbolAnnotations:
|
|
||||||
param_desc = SymbolAnnotations[symbol]
|
|
||||||
|
|
||||||
commit 1eeec38a9a06a9956cdab9789cbd2ea105866198
|
|
||||||
Author: Christoph Reiter <reiter.christoph@gmail.com>
|
|
||||||
Date: Mon Sep 18 22:49:09 2017 +0200
|
|
||||||
|
|
||||||
Always open files in text mode and always use utf-8
|
|
||||||
|
|
||||||
Introduces a common.open_text() helper with saner defaults for opening
|
|
||||||
text files across Python versions.
|
|
||||||
|
|
||||||
open() defaults to the locale encoding which on a properly configured
|
|
||||||
Unix is utf-8, but cp-1252 on Windows which can't handle all of Unicode.
|
|
||||||
Instead of using the default always use utf-8 for text files.
|
|
||||||
|
|
||||||
To reduce the difference of types processed by Python 2 vs 3 use
|
|
||||||
codecs.open() to open text files in text mode on Python 2. The
|
|
||||||
resulting file object will return unicode like on Python 3, but still
|
|
||||||
allows passing in ASCII only str.
|
|
||||||
|
|
||||||
Also fixes a few missing file.close() operations, which is important on
|
|
||||||
Windows as non-closed files can't be renamed/deleted on Windows.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=787862
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/check.py b/gtkdoc/check.py
|
|
||||||
index 0a58b0c..7f32b60 100755
|
|
||||||
--- a/gtkdoc/check.py
|
|
||||||
+++ b/gtkdoc/check.py
|
|
||||||
@@ -32,6 +32,8 @@ import os
|
|
||||||
import re
|
|
||||||
from glob import glob
|
|
||||||
|
|
||||||
+from . import common
|
|
||||||
+
|
|
||||||
|
|
||||||
class FileFormatError(Exception):
|
|
||||||
pass
|
|
||||||
@@ -46,14 +48,14 @@ def grep(regexp, lines, what):
|
|
||||||
|
|
||||||
|
|
||||||
def check_empty(filename):
|
|
||||||
- with open(filename) as f:
|
|
||||||
+ with open(filename, "rb") as f:
|
|
||||||
count = sum(1 for line in f if line.strip())
|
|
||||||
return count
|
|
||||||
|
|
||||||
|
|
||||||
def check_includes(filename):
|
|
||||||
# Check that each XML file in the xml directory is included in doc_main_file
|
|
||||||
- with open(filename) as f:
|
|
||||||
+ with common.open_text(filename) as f:
|
|
||||||
lines = f.read().splitlines()
|
|
||||||
num_missing = 0
|
|
||||||
for include in glob('xml/*.xml'):
|
|
||||||
@@ -73,7 +75,7 @@ def get_variable(env, lines, variable):
|
|
||||||
|
|
||||||
|
|
||||||
def read_file(filename):
|
|
||||||
- with open(filename) as f:
|
|
||||||
+ with common.open_text(filename) as f:
|
|
||||||
return f.read().splitlines()
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/common.py b/gtkdoc/common.py
|
|
||||||
index 50c9f5f..9dfebef 100644
|
|
||||||
--- a/gtkdoc/common.py
|
|
||||||
+++ b/gtkdoc/common.py
|
|
||||||
@@ -28,10 +28,35 @@ import os
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
+import six
|
|
||||||
+import codecs
|
|
||||||
|
|
||||||
from . import config
|
|
||||||
|
|
||||||
|
|
||||||
+def open_text(filename, mode="r", encoding="utf-8"):
|
|
||||||
+ """An open() which removes some differences between Python 2 and 3 and
|
|
||||||
+ has saner defaults.
|
|
||||||
+
|
|
||||||
+ Unlike the builtin open by default utf-8 is use and not the locale
|
|
||||||
+ encoding (which is ANSI on Windows for example, not very helpful)
|
|
||||||
+
|
|
||||||
+ For Python 2, files are opened in text mode like with Python 3.
|
|
||||||
+ """
|
|
||||||
+
|
|
||||||
+ if mode not in ("r", "w"):
|
|
||||||
+ raise ValueError("mode %r not supported, must be 'r' or 'w'" % mode)
|
|
||||||
+
|
|
||||||
+ if six.PY3:
|
|
||||||
+ return open(filename, mode, encoding=encoding)
|
|
||||||
+ else:
|
|
||||||
+ # We can't use io.open() here as its write method is too strict and
|
|
||||||
+ # only allows unicode instances and not everything in the codebase
|
|
||||||
+ # forces unicode at the moment. codecs.open() on the other hand
|
|
||||||
+ # happily takes ASCII str and decodes it.
|
|
||||||
+ return codecs.open(filename, mode, encoding=encoding)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
def setup_logging():
|
|
||||||
"""Check GTKDOC_TRACE environment variable.
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/fixxref.py b/gtkdoc/fixxref.py
|
|
||||||
index 3027c10..164b008 100755
|
|
||||||
--- a/gtkdoc/fixxref.py
|
|
||||||
+++ b/gtkdoc/fixxref.py
|
|
||||||
@@ -175,7 +175,7 @@ def ReadDevhelp(file, use_absolute_links):
|
|
||||||
|
|
||||||
logging.info('Scanning index file=%s, absolute=%d, dir=%s', file, use_absolute_links, dir)
|
|
||||||
|
|
||||||
- for line in open(file):
|
|
||||||
+ for line in common.open_text(file):
|
|
||||||
m = re.search(r' link="([^#]*)#([^"]*)"', line)
|
|
||||||
if m:
|
|
||||||
link = m.group(1) + '#' + m.group(2)
|
|
||||||
@@ -184,7 +184,7 @@ def ReadDevhelp(file, use_absolute_links):
|
|
||||||
|
|
||||||
|
|
||||||
def ReadSections(options):
|
|
||||||
- for line in open(options.module + '-sections.txt'):
|
|
||||||
+ for line in common.open_text(options.module + '-sections.txt'):
|
|
||||||
m1 = re.search(r'^<SUBSECTION\s*(.*)>', line)
|
|
||||||
if line.startswith('#') or line.strip() == '':
|
|
||||||
continue
|
|
||||||
@@ -220,9 +220,7 @@ def FixCrossReferences(options):
|
|
||||||
def FixHTMLFile(options, file):
|
|
||||||
logging.info('Fixing file: %s', file)
|
|
||||||
|
|
||||||
- content = open(file).read()
|
|
||||||
- if sys.version_info < (3,):
|
|
||||||
- content = content.decode('utf-8')
|
|
||||||
+ content = common.open_text(file).read()
|
|
||||||
|
|
||||||
if config.highlight:
|
|
||||||
# FIXME: ideally we'd pass a clue about the example language to the highligher
|
|
||||||
@@ -266,9 +264,8 @@ def FixHTMLFile(options, file):
|
|
||||||
|
|
||||||
new_file = file + '.new'
|
|
||||||
content = '\n'.join(lines)
|
|
||||||
- if sys.version_info < (3,):
|
|
||||||
- content = content.encode('utf-8')
|
|
||||||
- open(new_file, 'w').write(content)
|
|
||||||
+ with common.open_text(new_file, 'w') as h:
|
|
||||||
+ h.write(content)
|
|
||||||
|
|
||||||
os.unlink(file)
|
|
||||||
os.rename(new_file, file)
|
|
||||||
@@ -381,7 +378,7 @@ def HighlightSourceVim(options, type, source):
|
|
||||||
script += "%s -n -e -u NONE -T xterm >/dev/null" % config.highlight
|
|
||||||
subprocess.check_call([script], shell=True)
|
|
||||||
|
|
||||||
- highlighted_source = open(temp_source_file + ".html").read()
|
|
||||||
+ highlighted_source = common.open_text(temp_source_file + ".html").read()
|
|
||||||
highlighted_source = re.sub(r'.*<pre\b[^>]*>\n', '', highlighted_source, flags=re.MULTILINE)
|
|
||||||
highlighted_source = re.sub(r'</pre>.*', '', highlighted_source, flags=re.MULTILINE)
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/mkdb.py b/gtkdoc/mkdb.py
|
|
||||||
index e103138..6c1538f 100644
|
|
||||||
--- a/gtkdoc/mkdb.py
|
|
||||||
+++ b/gtkdoc/mkdb.py
|
|
||||||
@@ -302,7 +302,8 @@ def Run(options):
|
|
||||||
OutputSinceIndexes()
|
|
||||||
OutputAnnotationGlossary()
|
|
||||||
|
|
||||||
- open(os.path.join(ROOT_DIR, 'sgml.stamp'), 'w').write('timestamp')
|
|
||||||
+ with open(os.path.join(ROOT_DIR, 'sgml.stamp'), 'w') as h:
|
|
||||||
+ h.write('timestamp')
|
|
||||||
|
|
||||||
|
|
||||||
def OutputObjectList():
|
|
||||||
@@ -315,7 +316,7 @@ def OutputObjectList():
|
|
||||||
old_object_index = os.path.join(DB_OUTPUT_DIR, "object_index.sgml")
|
|
||||||
new_object_index = os.path.join(DB_OUTPUT_DIR, "object_index.new")
|
|
||||||
|
|
||||||
- OUTPUT = open(new_object_index, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_object_index, 'w')
|
|
||||||
|
|
||||||
OUTPUT.write('''%s
|
|
||||||
<informaltable pgwide="1" frame="none">
|
|
||||||
@@ -377,7 +378,7 @@ def OutputDB(file, options):
|
|
||||||
"""
|
|
||||||
|
|
||||||
logging.info("Reading: %s", file)
|
|
||||||
- INPUT = open(file)
|
|
||||||
+ INPUT = common.open_text(file)
|
|
||||||
filename = ''
|
|
||||||
book_top = ''
|
|
||||||
book_bottom = ''
|
|
||||||
@@ -1001,7 +1002,7 @@ def OutputAnnotationGlossary():
|
|
||||||
rerun = True
|
|
||||||
break
|
|
||||||
|
|
||||||
- OUTPUT = open(new_glossary, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_glossary, 'w')
|
|
||||||
|
|
||||||
OUTPUT.write('''%s
|
|
||||||
<glossary id="annotation-glossary">
|
|
||||||
@@ -1049,7 +1050,7 @@ def ReadKnownSymbols(file):
|
|
||||||
subsection = ''
|
|
||||||
|
|
||||||
logging.info("Reading: %s", file)
|
|
||||||
- INPUT = open(file)
|
|
||||||
+ INPUT = common.open_text(file)
|
|
||||||
for line in INPUT:
|
|
||||||
if line.startswith('#'):
|
|
||||||
continue
|
|
||||||
@@ -2157,7 +2158,7 @@ def OutputDBFile(file, title, section_id, includes, functions_synop, other_synop
|
|
||||||
old_db_file = os.path.join(DB_OUTPUT_DIR, file + '.xml')
|
|
||||||
new_db_file = os.path.join(DB_OUTPUT_DIR, file + '.xml.new')
|
|
||||||
|
|
||||||
- OUTPUT = open(new_db_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_db_file, 'w')
|
|
||||||
|
|
||||||
object_anchors = ''
|
|
||||||
for fobject in file_objects:
|
|
||||||
@@ -2324,7 +2325,7 @@ def OutputProgramDBFile(program, section_id):
|
|
||||||
old_db_file = os.path.join(DB_OUTPUT_DIR, program + ".xml")
|
|
||||||
new_db_file = os.path.join(DB_OUTPUT_DIR, program + ".xml.new")
|
|
||||||
|
|
||||||
- OUTPUT = open(new_db_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_db_file, 'w')
|
|
||||||
|
|
||||||
OUTPUT.write('''%s
|
|
||||||
<refentry id="%s">
|
|
||||||
@@ -2367,9 +2368,9 @@ def OutputExtraFile(file):
|
|
||||||
old_db_file = os.path.join(DB_OUTPUT_DIR, basename)
|
|
||||||
new_db_file = os.path.join(DB_OUTPUT_DIR, basename + ".new")
|
|
||||||
|
|
||||||
- contents = open(file).read()
|
|
||||||
+ contents = common.open_text(file).read()
|
|
||||||
|
|
||||||
- OUTPUT = open(new_db_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_db_file, 'w')
|
|
||||||
OUTPUT.write(ExpandAbbreviations(basename + " file", contents))
|
|
||||||
OUTPUT.close()
|
|
||||||
|
|
||||||
@@ -2378,7 +2379,7 @@ def OutputExtraFile(file):
|
|
||||||
|
|
||||||
def GetDocbookHeader(main_file):
|
|
||||||
if os.path.exists(main_file):
|
|
||||||
- INPUT = open(main_file)
|
|
||||||
+ INPUT = common.open_text(main_file)
|
|
||||||
header = ''
|
|
||||||
for line in INPUT:
|
|
||||||
if re.search(r'^\s*<(book|chapter|article)', line):
|
|
||||||
@@ -2421,7 +2422,7 @@ def OutputBook(main_file, book_top, book_bottom):
|
|
||||||
old_file = os.path.join(DB_OUTPUT_DIR, MODULE + "-doc.top")
|
|
||||||
new_file = os.path.join(DB_OUTPUT_DIR, MODULE + "-doc.top.new")
|
|
||||||
|
|
||||||
- OUTPUT = open(new_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_file, 'w')
|
|
||||||
OUTPUT.write(book_top)
|
|
||||||
OUTPUT.close()
|
|
||||||
|
|
||||||
@@ -2430,7 +2431,7 @@ def OutputBook(main_file, book_top, book_bottom):
|
|
||||||
old_file = os.path.join(DB_OUTPUT_DIR, MODULE + "-doc.bottom")
|
|
||||||
new_file = os.path.join(DB_OUTPUT_DIR, MODULE + "-doc.bottom.new")
|
|
||||||
|
|
||||||
- OUTPUT = open(new_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_file, 'w')
|
|
||||||
OUTPUT.write(book_bottom)
|
|
||||||
OUTPUT.close()
|
|
||||||
|
|
||||||
@@ -2439,7 +2440,7 @@ def OutputBook(main_file, book_top, book_bottom):
|
|
||||||
# If the main docbook file hasn't been created yet, we create it here.
|
|
||||||
# The user can tweak it later.
|
|
||||||
if main_file and not os.path.exists(main_file):
|
|
||||||
- OUTPUT = open(main_file, 'w')
|
|
||||||
+ OUTPUT = common.open_text(main_file, 'w')
|
|
||||||
|
|
||||||
logging.info("no master doc, create default one at: " + main_file)
|
|
||||||
|
|
||||||
@@ -3665,7 +3666,7 @@ def ScanSourceFile(ifile, ignore_files):
|
|
||||||
|
|
||||||
logging.info("Scanning source file: %s", ifile)
|
|
||||||
|
|
||||||
- SRCFILE = open(ifile)
|
|
||||||
+ SRCFILE = common.open_text(ifile)
|
|
||||||
in_comment_block = False
|
|
||||||
symbol = None
|
|
||||||
in_part = ''
|
|
||||||
@@ -3983,7 +3984,7 @@ def OutputMissingDocumentation():
|
|
||||||
buffer_deprecated = ''
|
|
||||||
buffer_descriptions = ''
|
|
||||||
|
|
||||||
- UNDOCUMENTED = open(new_undocumented_file, 'w')
|
|
||||||
+ UNDOCUMENTED = common.open_text(new_undocumented_file, 'w')
|
|
||||||
|
|
||||||
for symbol in sorted(iterkeys(AllSymbols)):
|
|
||||||
# FIXME: should we print common.LogWarnings for undocumented stuff?
|
|
||||||
@@ -4064,7 +4065,7 @@ def OutputUndeclaredSymbols():
|
|
||||||
old_undeclared_file = os.path.join(ROOT_DIR, MODULE + "-undeclared.txt")
|
|
||||||
new_undeclared_file = os.path.join(ROOT_DIR, MODULE + "-undeclared.new")
|
|
||||||
|
|
||||||
- UNDECLARED = open(new_undeclared_file, 'w')
|
|
||||||
+ UNDECLARED = common.open_text(new_undeclared_file, 'w')
|
|
||||||
|
|
||||||
if UndeclaredSymbols:
|
|
||||||
UNDECLARED.write("\n".join(sorted(iterkeys(UndeclaredSymbols))))
|
|
||||||
@@ -4089,7 +4090,7 @@ def OutputUnusedSymbols():
|
|
||||||
old_unused_file = os.path.join(ROOT_DIR, MODULE + "-unused.txt")
|
|
||||||
new_unused_file = os.path.join(ROOT_DIR, MODULE + "-unused.new")
|
|
||||||
|
|
||||||
- UNUSED = open(new_unused_file, 'w')
|
|
||||||
+ UNUSED = common.open_text(new_unused_file, 'w')
|
|
||||||
|
|
||||||
for symbol in sorted(iterkeys(Declarations)):
|
|
||||||
if not symbol in DeclarationOutput:
|
|
||||||
@@ -4110,7 +4111,7 @@ def OutputUnusedSymbols():
|
|
||||||
|
|
||||||
def OutputAllSymbols():
|
|
||||||
"""Outputs list of all symbols to a file."""
|
|
||||||
- SYMBOLS = open(os.path.join(ROOT_DIR, MODULE + "-symbols.txt"), 'w')
|
|
||||||
+ SYMBOLS = common.open_text(os.path.join(ROOT_DIR, MODULE + "-symbols.txt"), 'w')
|
|
||||||
|
|
||||||
for symbol in sorted(iterkeys(AllSymbols)):
|
|
||||||
SYMBOLS.write(symbol + "\n")
|
|
||||||
@@ -4119,7 +4120,7 @@ def OutputAllSymbols():
|
|
||||||
|
|
||||||
def OutputSymbolsWithoutSince():
|
|
||||||
"""Outputs list of all symbols without a since tag to a file."""
|
|
||||||
- SYMBOLS = open(os.path.join(ROOT_DIR, MODULE + "-nosince.txt"), 'w')
|
|
||||||
+ SYMBOLS = common.open_text(os.path.join(ROOT_DIR, MODULE + "-nosince.txt"), 'w')
|
|
||||||
|
|
||||||
for symbol in sorted(iterkeys(SourceSymbolDocs)):
|
|
||||||
if symbol in Since:
|
|
||||||
@@ -4257,7 +4258,7 @@ def ReadDeclarationsFile(ifile, override):
|
|
||||||
DeclarationConditional.clear()
|
|
||||||
DeclarationOutput.clear()
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
declaration_type = ''
|
|
||||||
declaration_name = None
|
|
||||||
declaration = None
|
|
||||||
@@ -4371,7 +4372,7 @@ def ReadSignalsFile(ifile):
|
|
||||||
if not os.path.isfile(ifile):
|
|
||||||
return
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
line_number = 0
|
|
||||||
for line in INPUT:
|
|
||||||
line_number += 1
|
|
||||||
@@ -4437,7 +4438,7 @@ def ReadObjectHierarchy(ifile):
|
|
||||||
logging.debug('no *-hierarchy.tx')
|
|
||||||
return
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
|
|
||||||
# Only emit objects if they are supposed to be documented, or if
|
|
||||||
# they have documented children. To implement this, we maintain a
|
|
||||||
@@ -4488,7 +4489,7 @@ def ReadObjectHierarchy(ifile):
|
|
||||||
|
|
||||||
logging.debug('got %d entries for hierarchy', len(tree))
|
|
||||||
|
|
||||||
- OUTPUT = open(new_tree_index, 'w')
|
|
||||||
+ OUTPUT = common.open_text(new_tree_index, 'w')
|
|
||||||
OUTPUT.write(MakeDocHeader("screen") + "\n<screen>\n" + AddTreeLineArt(tree) + "\n</screen>\n")
|
|
||||||
OUTPUT.close()
|
|
||||||
|
|
||||||
@@ -4509,7 +4510,7 @@ def ReadInterfaces(ifile):
|
|
||||||
if not os.path.isfile(ifile):
|
|
||||||
return
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
|
|
||||||
for line in INPUT:
|
|
||||||
line = line.strip()
|
|
||||||
@@ -4542,7 +4543,7 @@ def ReadPrerequisites(ifile):
|
|
||||||
if not os.path.isfile(ifile):
|
|
||||||
return
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
|
|
||||||
for line in INPUT:
|
|
||||||
line = line.strip()
|
|
||||||
@@ -4593,7 +4594,7 @@ def ReadArgsFile(ifile):
|
|
||||||
if not os.path.isfile(ifile):
|
|
||||||
return
|
|
||||||
|
|
||||||
- INPUT = open(ifile)
|
|
||||||
+ INPUT = common.open_text(ifile)
|
|
||||||
line_number = 0
|
|
||||||
for line in INPUT:
|
|
||||||
line_number += 1
|
|
||||||
diff --git a/gtkdoc/mkhtml.py b/gtkdoc/mkhtml.py
|
|
||||||
index 80ddadf..3d03e0a 100644
|
|
||||||
--- a/gtkdoc/mkhtml.py
|
|
||||||
+++ b/gtkdoc/mkhtml.py
|
|
||||||
@@ -90,5 +90,6 @@ def run(options):
|
|
||||||
for f in glob(styledir + '/*.png') + glob(styledir + '/*.css'):
|
|
||||||
shutil.copy(f, '.')
|
|
||||||
|
|
||||||
- open('../html.stamp', 'w').write('timestamp')
|
|
||||||
+ with open('../html.stamp', 'w') as h:
|
|
||||||
+ h.write('timestamp')
|
|
||||||
return res
|
|
||||||
diff --git a/gtkdoc/mkpdf.py b/gtkdoc/mkpdf.py
|
|
||||||
index 5fd9ecb..485b487 100755
|
|
||||||
--- a/gtkdoc/mkpdf.py
|
|
||||||
+++ b/gtkdoc/mkpdf.py
|
|
||||||
@@ -37,7 +37,8 @@ def run_xsltproc(options, args):
|
|
||||||
command += ['--path', path]
|
|
||||||
pc = subprocess.Popen(command + args, stderr=subprocess.PIPE)
|
|
||||||
(o, stde) = pc.communicate()
|
|
||||||
- open('profile.txt', 'wb').write(stde)
|
|
||||||
+ with open('profile.txt', 'wb') as h:
|
|
||||||
+ h.write(stde)
|
|
||||||
return pc.returncode
|
|
||||||
|
|
||||||
|
|
||||||
@@ -118,5 +119,6 @@ def run(options):
|
|
||||||
print("dblatex or fop must be installed to use gtkdoc-mkpdf.")
|
|
||||||
res = 1
|
|
||||||
|
|
||||||
- open('pdf.stamp', 'w').write('timestamp')
|
|
||||||
+ with open('pdf.stamp', 'w') as h:
|
|
||||||
+ h.write('timestamp')
|
|
||||||
return res
|
|
||||||
diff --git a/gtkdoc/rebase.py b/gtkdoc/rebase.py
|
|
||||||
index e518586..b329c51 100755
|
|
||||||
--- a/gtkdoc/rebase.py
|
|
||||||
+++ b/gtkdoc/rebase.py
|
|
||||||
@@ -136,7 +136,7 @@ gunzip %s/%s
|
|
||||||
def ReadDevhelp(dir, file):
|
|
||||||
onlinedir = None
|
|
||||||
|
|
||||||
- for line in open(os.path.join(dir, file)):
|
|
||||||
+ for line in common.open_text(os.path.join(dir, file)):
|
|
||||||
# online must come before chapter/functions
|
|
||||||
if '<chapters' in line or '<functions' in line:
|
|
||||||
break
|
|
||||||
@@ -150,7 +150,7 @@ def ReadDevhelp(dir, file):
|
|
||||||
def ReadIndex(dir, file):
|
|
||||||
onlinedir = None
|
|
||||||
|
|
||||||
- for line in open(os.path.join(dir, file)):
|
|
||||||
+ for line in common.open_text(os.path.join(dir, file)):
|
|
||||||
# ONLINE must come before any ANCHORs
|
|
||||||
if '<ANCHOR' in line:
|
|
||||||
break
|
|
||||||
@@ -207,10 +207,11 @@ def RebaseFile(filename, options):
|
|
||||||
def repl_func(match):
|
|
||||||
return match.group(1) + RebaseLink(match.group(2), options) + match.group(3)
|
|
||||||
|
|
||||||
- contents = open(filename).read()
|
|
||||||
+ contents = common.open_text(filename).read()
|
|
||||||
processed = re.sub(regex, repl_func, contents)
|
|
||||||
newfilename = filename + '.new'
|
|
||||||
- open(newfilename, 'w').write(processed)
|
|
||||||
+ with common.open_text(newfilename, 'w') as h:
|
|
||||||
+ h.write(processed)
|
|
||||||
os.unlink(filename)
|
|
||||||
os.rename(newfilename, filename)
|
|
||||||
|
|
||||||
diff --git a/gtkdoc/scan.py b/gtkdoc/scan.py
|
|
||||||
index 0843519..a106e48 100644
|
|
||||||
--- a/gtkdoc/scan.py
|
|
||||||
+++ b/gtkdoc/scan.py
|
|
||||||
@@ -77,16 +77,16 @@ def Run(options):
|
|
||||||
for dir in options.source_dir:
|
|
||||||
ScanHeaders(dir, section_list, decl_list, get_types, options)
|
|
||||||
|
|
||||||
- with open(new_decl_list, 'w') as f:
|
|
||||||
+ with common.open_text(new_decl_list, 'w') as f:
|
|
||||||
for section in sorted(iterkeys(section_list)):
|
|
||||||
f.write(section_list[section])
|
|
||||||
|
|
||||||
- with open(new_decl, 'w') as f:
|
|
||||||
+ with common.open_text(new_decl, 'w') as f:
|
|
||||||
for decl in decl_list:
|
|
||||||
f.write(decl)
|
|
||||||
|
|
||||||
if options.rebuild_types:
|
|
||||||
- with open(new_types, 'w') as f:
|
|
||||||
+ with common.open_text(new_types, 'w') as f:
|
|
||||||
for func in sorted(get_types):
|
|
||||||
f.write(func + '\n')
|
|
||||||
|
|
||||||
@@ -226,7 +226,7 @@ def ScanHeader(input_file, section_list, decl_list, get_types, options):
|
|
||||||
|
|
||||||
logging.info('Scanning %s', input_file)
|
|
||||||
|
|
||||||
- for line in open(input_file):
|
|
||||||
+ for line in common.open_text(input_file):
|
|
||||||
# If this is a private header, skip it.
|
|
||||||
if re.search(r'%^\s*/\*\s*<\s*private_header\s*>\s*\*/', line):
|
|
||||||
return
|
|
||||||
diff --git a/gtkdoc/scangobj.py b/gtkdoc/scangobj.py
|
|
||||||
index e6db6cd..116270a 100644
|
|
||||||
--- a/gtkdoc/scangobj.py
|
|
||||||
+++ b/gtkdoc/scangobj.py
|
|
||||||
@@ -1185,7 +1185,7 @@ MAIN_CODE_END = """
|
|
||||||
def run(options):
|
|
||||||
|
|
||||||
c_file = options.module + '-scan.c'
|
|
||||||
- output = open(c_file, 'w')
|
|
||||||
+ output = common.open_text(c_file, 'w')
|
|
||||||
|
|
||||||
base_filename = os.path.join(options.output_dir, options.module)
|
|
||||||
old_signals_filename = base_filename + '.signals'
|
|
||||||
@@ -1206,7 +1206,7 @@ def run(options):
|
|
||||||
get_types = ""
|
|
||||||
ntypes = 1
|
|
||||||
|
|
||||||
- for line in open(options.types):
|
|
||||||
+ for line in common.open_text(options.types):
|
|
||||||
if line.startswith('#include'):
|
|
||||||
includes += line
|
|
||||||
elif line.startswith('%') or line.strip() == '':
|
|
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 9 18:26:11 UTC 2017 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 1.27:
|
||||||
|
+ Finetune the python port.
|
||||||
|
+ Bugs fixed: bgo#773879, bgo#786174, bgo#787495, bgo#787768,
|
||||||
|
bgo#787862, bgo#788473, bgo#789531, bgo#790022, bgo#791131.
|
||||||
|
- Drop upstream fixed patches:
|
||||||
|
+ gtk-doc-fixxref-logging.patch.
|
||||||
|
+ gtk-doc-Generate-main-sgml.patch.
|
||||||
|
+ gtk-doc-open-docs-as-utf8.patch.
|
||||||
|
- Following the above, no longer pass autoreconf, not needed as we
|
||||||
|
do not carry any patches.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Dec 2 15:17:35 UTC 2017 - dimstar@opensuse.org
|
Sat Dec 2 15:17:35 UTC 2017 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
14
gtk-doc.spec
14
gtk-doc.spec
@ -17,20 +17,14 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: gtk-doc
|
Name: gtk-doc
|
||||||
Version: 1.26
|
Version: 1.27
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: GTK+ DocBook Documentation Generator
|
Summary: GTK+ DocBook Documentation Generator
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: Productivity/Publishing/SGML
|
Group: Productivity/Publishing/SGML
|
||||||
Url: http://www.gtk.org/gtk-doc/
|
Url: http://www.gtk.org/gtk-doc/
|
||||||
# When updating this package, please don't forget to update the gtk-doc.m4 Source in glib2.
|
# When updating this package, please don't forget to update the gtk-doc.m4 Source in glib2.
|
||||||
Source: https://download.gnome.org/sources/gtk-doc/1.26/%{name}-%{version}.tar.xz
|
Source: http://download.gnome.org/sources/gtk-doc/1.27/%{name}-%{version}.tar.xz
|
||||||
# PATCH-FIX-UPSTREAM gtk-doc-Generate-main-sgml.patch bgo#786174 -- Generate main sgml file by waiting on mkdb
|
|
||||||
Patch0: gtk-doc-Generate-main-sgml.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gtk-doc-open-docs-as-utf8.patch dimstar@opensuse.org -- Always open files using utf-8
|
|
||||||
Patch1: gtk-doc-open-docs-as-utf8.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gtk-doc-fixxref-logging.patch bgo#791131 dimstar@opensuse.org -- Use logging infrastructure for LogWarning
|
|
||||||
Patch2: gtk-doc-fixxref-logging.patch
|
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
BuildRequires: libxml2-tools
|
BuildRequires: libxml2-tools
|
||||||
@ -63,12 +57,8 @@ generate the documentation for GLib, Gtk+, and GNOME.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
|
||||||
%configure PYTHON=%{_bindir}/python3
|
%configure PYTHON=%{_bindir}/python3
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user