It's probably not worth the effort... at least written down somewhere..
First question: How to install multiple versions of everything if distros remove old packages?
One solution:
Split the whole module net in overlapping sub trees with only compatible modules. Process each in its own process with its own target directory. Each run also generates dummy index files for all incompatible modules so the resulting files (given the toctree is collapsed, which it is atm) should be the same across runs.
Open questions:
How to merge objects.inv? (see intersphinx probably)
How to other allow other docs to link to a specific version using intersphinx?
How to merge searchindex.js? (see sphinx.search.IndexBuilder)
should be just merging and re-indexing, doesn't look that complicated.
How to make sure the newest version is the first search hit (is the index order in searchindex.js enough?) and the search page includes hints on the version (extract from filename maybe..)?
It's probably not worth the effort... at least written down somewhere..
First question: How to install multiple versions of everything if distros remove old packages?
One solution:
Split the whole module net in overlapping sub trees with only compatible modules. Process each in its own process with its own target directory. Each run also generates dummy index files for all incompatible modules so the resulting files (given the toctree is collapsed, which it is atm) should be the same across runs.
Open questions: