-
-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make spkg docs be built and installed after the full build #11197
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:6
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.
A few things which I think belong on other tickets or which I don't know how to solve:
|
Author: John Palmieri |
root repo |
This comment has been minimized.
This comment has been minimized.
comment:7
Attachment: trac_11197-spkg-install-docs.patch.gz Replying to @jhpalmieri:
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.
Hmm...thinking about this one still...
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. |
comment:8
Replying to @jasongrout:
I mean that if I unpack cython-0.14.1.p2.spkg, cd into the directory and type "hg status", I see
So I guess those need to be added to .hginore, or the whole doc directory needs to added, or if everything in there has since been moved to src, we only need to get rid of SPKG.txt.orig. |
comment:9
Good point; the doc directory should be added to .hgignore. And SPKG.txt.orig should be deleted. Sorry; that seems pretty sloppy of me. |
comment:10
I've noted these changes on #10827. |
comment:11
Replying to @jasongrout:
I've made those kinds of mistakes lots of times myself... |
comment:12
If we are moving to a two-step binary / documentation build process, how about we remove the |
comment:13
Replying to @vbraun:
+1 |
comment:14
Maybe we should clearly distinguish between sage's documentation and spkg documentation. I'd expect make doc to just build Sage's documentation. Maybe we could have two targets: make doc (build and install Sage docs) and make spkg-doc (build and install any spkg docs). |
comment:15
Here's a new patch. This does the Makefile approach. I think I like the Makefile approach, but I'm not positive, so I'm marking this as "needs info". Please provide opinions about the two approaches and also about the specific patches. |
This comment has been minimized.
This comment has been minimized.
root repo; implement "make spkg-doc" from SAGE_ROOT |
comment:16
Attachment: trac_11197-spkg-install-docs.v2.patch.gz |
Changed keywords from none to sd32 |
comment:17
Hmmm, one problem I see is that a couple of spkgs would need a (re) Also, many packages provide [alternate] documentation in various formats (man pages, texinfo files, HTML, dvi / PDF etc.), some of which require tools (i.e., prerequisites either provided by the system or Sage), and some even some small build process just to prepare the sources for other tools. So it isn't always clear what would be installed [in addition]. Re-unpacking and re-configuring an spkg just to install docs is IMHO also a bit odd, just like keeping the build directories until eventually some tools are available after the normal build has finished. The easiest way would be to simply include some pre-built versions of documentation requiring external tools, and just copy / install them if |
comment:18
We could also support some kind of (I personally would for example always install man pages by default, if available.) No matter if we build / install any documents for some spkg (or whether they are available at all in the spkg itself), we could create HTML pages with links to upstream [documentation] if appropriate. Same could be done for licenses. |
comment:19
Right now, I'm more in favor of adding a target to the Makefile, rather than the environment variable approach. Replying to @nexttime:
Well, this would be taken care of by the doc install script for the particular spkg. The whole point of this ticket is to install the docs separately from the full build, so I'm not sure I understand your concerns. If you want to build the docs during the build, use the approach in #10823, and the spkg-install file can take care of the proper configurations to do things efficiently. (So maybe some spkgs would behave differently depending on whether you ran
There could be several possible targets:
I don't think the size increase would be acceptable. Replying to @nexttime:
or
Sure, that sounds like a good idea. Probably for another ticket, once we get this framework set up. At least, setting up these html pages would seem to require another set of ideas and therefore add another level of complications. |
Replying to @jasongrout:
What are these "concerns"? Can these "concerns" be fixed in a simpler way than adding more complexities to the Sage build procedure? |
comment:26
I think it needs to be clarified why this ticket is needed. |
comment:27
I think the situation is:
|
comment:28
outdated, should close |
Changed author from John Palmieri to none |
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:
See http://groups.google.com/group/sage-devel/browse_thread/thread/d46ddccff06d8670 and various tickets associated with #10823
Here are a few updated spkgs:
Apply either
attachment: trac_11197-spkg-install-docs.patch (builds docs if environment variable SAGE_SPKG_INSTALL_DOCS is "yes"), or
attachment: trac_11197-spkg-install-docs.v2.patch (adds target "spkg-doc" to Makefile)
CC: @dandrake
Component: build
Keywords: sd32
Issue created by migration from https://trac.sagemath.org/ticket/11197
The text was updated successfully, but these errors were encountered: