[sagemath] 01/01: Temporarily disable parallel sphinx build to make the GAP failure more obvious

Ximin Luo infinity0 at debian.org
Fri Jul 8 10:53:38 UTC 2016


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository sagemath.

commit 35d1226a129633281ab7a2bb9fb367474c906af5
Author: Ximin Luo <infinity0 at debian.org>
Date:   Fri Jul 8 12:53:00 2016 +0200

    Temporarily disable parallel sphinx build to make the GAP failure more obvious
    
    - also fix previous python-userdir update to make it more efficient
---
 debian/README.Debian                              |  3 +-
 debian/patches/python_installs_in_userdir.patch   | 15 +++++----
 debian/patches/series                             |  1 +
 debian/patches/sphinx-update.patch                |  2 +-
 debian/patches/temp-disable-parallel-sphinx.patch | 39 +++++++++++++++++++++++
 5 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/debian/README.Debian b/debian/README.Debian
index fcb6b1e..5c16d76 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -18,8 +18,7 @@ also need sage to -lflint-arb instead of -larb (or perhaps Debian needs to
 install it as libarb.so; check upstream to see what they prefer). as a temp
 workaround you can `ln -s libflint-arb.so /usr/lib/libarb.so`.
 
-3. Post-compilation docbuild hangs after successfully building the
-doc/sage/inventory/en/reference/tensor component. Figure out why..
+3. Post-compilation docbuild segfaults whilst building GAP docs.
 
 ## TODO (required to get into Debian archives)
 
diff --git a/debian/patches/python_installs_in_userdir.patch b/debian/patches/python_installs_in_userdir.patch
index faba1d2..3dabdfd 100644
--- a/debian/patches/python_installs_in_userdir.patch
+++ b/debian/patches/python_installs_in_userdir.patch
@@ -135,12 +135,13 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
  
  from .build_options import (LANGUAGES, SPHINXOPTS, PAPER, OMIT,
       PAPEROPTS, ALLSPHINXOPTS, NUM_THREADS, WEBSITESPHINXOPTS,
-@@ -151,6 +151,8 @@
-         """
-         d = os.path.join(SAGE_DOC, type, self.lang, self.name)
-         sage_makedirs(d)
+@@ -327,6 +327,9 @@
+                     and os.path.isdir(os.path.join(SAGE_DOC_SRC, lang, document))):
+                     documents.append(os.path.join(lang, document))
+ 
 +        subprocess.check_call(['sh', '-c',
 +            'for i in /usr/share/sagemath/*; do ln -Tsf "$i" %s/"$(basename $i)"; done' % SAGE_SHARE])
-         return d
- 
-     def _doctrees_dir(self):
++
+         # Ensure that the reference guide is compiled first so that links from
+         # the other documents to it are correctly resolved.
+         if 'en/reference' in documents:
diff --git a/debian/patches/series b/debian/patches/series
index 222a6af..6a24a56 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,3 +15,4 @@ mpfi-fix-api.patch
 cysignals-multiarch-path.patch
 python_installs_in_userdir.patch
 sphinx-update.patch
+temp-disable-parallel-sphinx.patch
diff --git a/debian/patches/sphinx-update.patch b/debian/patches/sphinx-update.patch
index 5b0684c..d49361f 100644
--- a/debian/patches/sphinx-update.patch
+++ b/debian/patches/sphinx-update.patch
@@ -7,7 +7,7 @@ Forwarded: not-needed
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
 --- a/sage/src/sage_setup/docbuild/__init__.py
 +++ b/sage/src/sage_setup/docbuild/__init__.py
-@@ -769,7 +769,7 @@
+@@ -770,7 +770,7 @@
  
          env_pickle = os.path.join(self._doctrees_dir(), 'environment.pickle')
          try:
diff --git a/debian/patches/temp-disable-parallel-sphinx.patch b/debian/patches/temp-disable-parallel-sphinx.patch
new file mode 100644
index 0000000..87be176
--- /dev/null
+++ b/debian/patches/temp-disable-parallel-sphinx.patch
@@ -0,0 +1,39 @@
+Description: Temporarily disable parallel sphinx build to make the GAP failure more obvious
+Author: Ximin Luo <infinity0 at debian.org>
+Forwarded: not-needed
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/sage/src/sage_setup/docbuild/__init__.py
++++ b/sage/src/sage_setup/docbuild/__init__.py
+@@ -489,19 +489,20 @@
+             if not os.path.exists(refdir):
+                 continue
+             output_dir = self._output_dir(format, lang)
+-            from multiprocessing import Pool
+-            pool = Pool(NUM_THREADS, maxtasksperchild=1)
++            #from multiprocessing import Pool
++            #pool = Pool(NUM_THREADS, maxtasksperchild=1)
+             L = [(doc, lang, format, kwds) + args for doc in self.get_all_documents(refdir)]
+             # (See comment in AllBuilder._wrapper about using map instead of apply.)
+-            x = pool.map_async(build_ref_doc, L, 1)
+-            try:
+-                x.get(99999)
+-                pool.close()
+-                pool.join()
+-            except Exception:
+-                pool.terminate()
+-                if ABORT_ON_ERROR:
+-                    raise
++            #x = pool.map_async(build_ref_doc, L, 1)
++            map(build_ref_doc, L)
++            #try:
++            #    x.get(99999)
++            #    pool.close()
++            #    pool.join()
++            #except Exception:
++            #    pool.terminate()
++            #    if ABORT_ON_ERROR:
++            #        raise
+             # The html refman must be build at the end to ensure correct
+             # merging of indexes and inventories.
+             # Sphinx is run here in the current process (not in a

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sagemath.git



More information about the debian-science-commits mailing list