#11197: Make spkg docs be built and installed after the full build
-----------------------------+----------------------------------------------
   Reporter:  jason          |       Owner:  tbd         
       Type:  defect         |      Status:  needs_review
   Priority:  major          |   Milestone:  sage-4.7    
  Component:  packages       |    Keywords:              
     Author:  John Palmieri  |    Upstream:  N/A         
   Reviewer:                 |      Merged:              
Work_issues:                 |  
-----------------------------+----------------------------------------------

Old description:

> Following on some concerns brought up about dependencies in building spkg
> docs, as implemented in #10823, here is a ticket for reimplementing
> #10823 so that docs are built after the full Sage build.  In this way,
> spkg docs are built when the normal Sage docs are built, and we don't
> have any worries about having python or sphinx or other dependencies
> installed.
>
> From Dan's message to sage-devel:
>
> > How about, in addition to spkg-install and spkg-check, we have spkg-
> install-docs? We would move the logic that checks the
> SAGE_SPKG_INSTALL_DOCS variable to the build/install script, which would
> run the script if the env var is set. This would also allow the build
> process to determine if a spkg has documentation that can be built, using
> something roughly like tar jtf foo.spkg | grep spkg-install-docs
>
> > As a data point, doing that for all spkgs in 4.7.alpha4 (except the
> Sage library, which we handle separately) takes about 70 seconds on a
> mildly-loaded sagenb.kaist.ac.kr, which is an 8-core Xeon machine.
>

>
> See http://groups.google.com/group/sage-
> devel/browse_thread/thread/d46ddccff06d8670 and various tickets
> associated with #10823
>
> Here are a few updated spkgs:
>
>  * numpy: #10826
>  * cython: #10827
>  * matplotlib: #10828
>  * mpmath: #10829
>  * pari: #10830
>  * gap: #11198
>  * python: #10831
>  * sagetex: #10908

New description:

 Following on some concerns brought up about dependencies in building spkg
 docs, as implemented in #10823, here is a ticket for reimplementing #10823
 so that docs are built after the full Sage build.  In this way, spkg docs
 are built when the normal Sage docs are built, and we don't have any
 worries about having python or sphinx or other dependencies installed.

 From Dan's message to sage-devel:

 > How about, in addition to spkg-install and spkg-check, we have spkg-
 install-docs? We would move the logic that checks the
 SAGE_SPKG_INSTALL_DOCS variable to the build/install script, which would
 run the script if the env var is set. This would also allow the build
 process to determine if a spkg has documentation that can be built, using
 something roughly like tar jtf foo.spkg | grep spkg-install-docs

 > As a data point, doing that for all spkgs in 4.7.alpha4 (except the Sage
 library, which we handle separately) takes about 70 seconds on a mildly-
 loaded sagenb.kaist.ac.kr, which is an 8-core Xeon machine.

 See http://groups.google.com/group/sage-
 devel/browse_thread/thread/d46ddccff06d8670 and various tickets associated
 with #10823

 Here are a few updated spkgs:

  * numpy: #10826
  * cython: #10827
  * matplotlib: #10828
  * mpmath: #10829
  * pari: #10830
  * gap: #11198
  * python: #10831
  * sagetex: #10908

--

Comment(by jason):

 Replying to [comment:6 jhpalmieri]:

 > Here's a patch for the Sage root repo (the file spkg/install).  This
 should perhaps be considered a first draft, because there are a few
 issues/questions. - Right now, it records a log for the docbuilding in
 spkg/logs/numpy-1.5.1.p0-docs.log, for example, instead of just appending
 to the already existing spkg/logs/numpy-1.5.1.p0.log.  It's easy enough to
 switch it around.  Opinions?

 > - Right now, it stores a placeholder file in spkg/installed if the docs
 seem to have been built correctly.  (Since after building each spkg, we
 delete the directory where it was built (spkg/build/numpy-...), we can't
 just rely on 'make' recognizing that it's already been installed, I
 think.)  Is this the right way to do it? A few things which I think belong
 on other tickets or which I don't know how to solve:

 To me, it seems okay to think about the docs install as a separate thing
 from the spkg install, so it makes sense to me to have a separate log file
 and separate placeholder file.  I don't know much about this part of the
 build process, though, so my +1 doesn't count for much.


 > - With the approach here, running "sage -i ..." or "sage -f ..." won't
 install the docs.  Should we add something to the sage-spkg script which
 tries to build the docs if SAGE_SPKG_INSTALL_DOCS is "yes", but fails
 gracefully if it can't?  Or only build the docs in sage-spkg if we can
 tell that the Sage library has already been installed, or some other
 criterion like this?  This may end up with some code duplication, or
 separating out the doc-building stuff into a separate script (and then
 gets us entangled in the base repo vs. scripts repo debate...).

 Hmm...thinking about this one still...

 > - I noticed that the most recent cython spkg (the one in 4.7.alpha4) has
 files for building the docs, at least some of which weren't added to the
 Mercurial repository.  I haven't checked the other spkgs for this sort of
 issue, but someone should...

 Are you talking about the docs directory containing the documentation?
 That directory is part of the upstream source, so shouldn't be in the spkg
 repository.  However, as of a week or two ago, that docs directory has
 been merged into the main Cython source tree, so future versions of the
 spkg will not have that docs directory.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11197#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to