installPackage does not create or update the info dir index beside the .info file it writes
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
This issue was triaged from [`bugs/dan/1-application-dir-info-dir`](https://github.com/Macaulay2/M2/blob/388c1ff0ce30d83751dea7bc7eac77fdc1305dd7/bugs/dan/1-application-dir-info-dir), one of the 857 files removed from the pre-GitHub `bugs/` tree by [`d2c8d27826`](https://github.com/Macaulay2/M2/commit/d2c8d27826) and catalogued in [#36](https://github.com/Macaulay2/M2/issues/36). **The commentary below was written by Claude (Claude Opus 5, via Claude Code)**, not by @d-torrance, whose account posted it -- please weigh it accordingly.
### The original file, verbatim
```text
installPackage should create and update "dir", too
/Users/dan/Library/Application Support/Macaulay2/local/share/info:
total used in directory 8 available 128477364
drwxr-xr-x 3 dan staff 102 Jul 16 15:12 .
drwxr-xr-x 5 dan staff 170 Jul 16 14:48 ..
-rw-r--r-- 1 dan staff 3919 Jul 16 15:12 OpenMath.info
```
### Where it stands today
Still not done. `installPackage` writes an `.info` file into the user's Application Support tree but
never creates or updates the `dir` index beside it.
### What that costs the user
Info readers find pages through `dir`. Without it, a package's info documentation is on disk and
unreachable by the normal route — the user has to know the file name and open it directly.
### Where `install-info` does and does not appear
It appears in `cmake/packaging.cmake`, for the deb and rpm builds, and in `configure.ac` as a build-time
requirement. Nothing on the `installPackage` path calls it. So the *system* install has its index
maintained (on Debian by dpkg's `interest-noawait /usr/share/info` trigger, which is why the packaging
needs no scriptlet), and the *user* install does not.
### Notes for whoever picks this up
`setup()` already knows about this directory — `files.m2:432,443` prepends the layout's info directory to
`INFOPATH` — so the location is available; what is missing is running `install-info` (or writing an
equivalent index) after the `.info` file is generated. Two other rows in the catalogue point here for the
same reason.
`open` · disposition `issue` · source of truth: [`bug-triage/catalog.tsv`](https://github.com/d-torrance/M2/blob/bug-triage/bug-triage/catalog.tsv)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading files.m2 around lines 432 and 443, where setup() configures the info directory, then trace the installPackage path that generates the .info file. Compare the existing install-info references in cmake/packaging.cmake and configure.ac. Done means the user’s info directory has a created or updated dir index beside the installed .info file.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100