Pieter van Oostrum pieter-l at vanoostrum.org
Sun Jan 12 22:57:54 UTC 2020

Pieter van Oostrum <pieter-l at vanoostrum.org> writes:

> I noticed that on my computer /opt/local/share/info/dir hasn't been
> updated for a couple of months although I installed several ports with
> info files. My /opt/local/share/info/dir has dat Nove. 7, and several
> *.info files in /opt/local/share/info/ are not in the dir file. Even
> some files older than that aren't included.
> For example the gdb port was installed on Oct 22, but ggdb.info* files
> are present in /opt/local/share/info/, but it is not in the dir file.
> There is, however, an older entry
> * Gdb: (gdb).                   The GNU debugger.
> which is no longer functional.
> Should the install procedure not automatically update the dir file? Or
> must I do something special to get it updated?

I investigated this a bit more, and found the cause:

The Portfile for gdb renames the info files from gdb.info to ggdb.info in post-destroot:

    foreach info [glob -tails -directory ${destroot}${prefix}/share/info g*] {
        move ${destroot}${prefix}/share/info/${info} ${destroot}${prefix}/share/info/g${info}

but the entry for gdb in dir is
* Gdb: (gdb)

So this then becomes a dangling pointer.

I see 3 possible solutions:

1) Just leave the files as they are, i.e. gdb.info. That seems to what grep does: it keeps grep.info, not ggrep.info.

2) Update dir to accurately reflect the new file name,
e.g. something like
'install-info --info-dir=${destroot}${prefix}/share/info/ --entry="* Gdb: (ggdb).                  The GNU debugger." ${destroot}${prefix}/share/info/ggdb.info'
Then probably the useless entry (gdb) should be deleted with 'install-info --delete'.

3) Patch the direntry in gdb.texi, that determines what comes in dir:

* Gdb: (gdb).                     The GNU debugger.
* gdbserver: (gdb) Server.        The GNU debugging server.
@end direntry

Change gdb to ggdb.
Pieter van Oostrum
www: http://pieter.vanoostrum.org/
PGP key: [8DAE142BE17999C4]

More information about the macports-users mailing list