New GHC schema for location of boot packages' pre-built HTML Haddock docs is problematic
## Summary
For links between HTML Haddock documentation for different packages to work when all together, the documentation for each package needs to be in a consistent location.
Up to GHC 9.6.7, the schema for the pre-built HTML Haddock documentation ("P-BHHD") for boot packages provided with GHC binary distributions was the usual one, namely: a directory for each package named `$pkg-$version` (using the Cabal substitutions) under a common root. For example:
~~~text
-- Common root is: \ghc-9.6.7\doc\html\libraries\
... \ghc-9.6.7\doc\html\libraries\base-4.18.3.0
~~~
Subsequently, the schema has changed to include information (the package's `id` or `key` field) for which there is no Cabal substitution (no equivalent of `$pkg` or `$version`). For example (GHC 9.10.3):
~~~text
-- Common root is: \ghc-9.10.3\doc\html\libraries\ (like before)
...\ghc-9.10.3\doc\html\libraries\base-4.20.2.0-39f9
~~~
This means:
* the HTML links between the supplied P-BHHD for boot packages assumes that schema; but
* it is now impossible to create combined Haddock document for non-boot packages and boot packages where all the links all work.
The best you can do is move the P-BHHD for boot packages into directories that follow the usual schema. If you do that:
* the HTML links between non-boot packages work;
* the links between non-boot packages and boot packages work;
* the links within an individal boot package work; but
* the links between boot packages will fail.
This has become important because the `base` package's P-BHHD now has more links to the P-BHHD of other GHC boot packages than it did in the past.
I think the solution would be for GHC to revert to the schema for the location of P-BHHD for boot packages that was used up to GHC 9.6.7.
As GHC boot (installed) packages that are supplied with a version of GHC are uniquely specified (for the purposes of P-BHHD) by a name and version, there is no need to introduce the `id` or `key` field into the names of directories under `doc\html\libraries\`.
## Expected behavior
That the pre-built HTML Haddock documentation for GHC boot packages follow the usual `$pkg-$version` schema and not use a unique schema that can't be reproduced for other packages using Cabal substitutions.
## Environment
* GHC version used: GHC 9.8.1 and later
issue