Opened 3 years ago

Last modified 3 years ago

#63662 assigned defect

diffutils: /opt/local/share/info/dir not updated

Reported by: pietvo (Pieter van Oostrum) Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc:
Port: diffutils

Description (last modified by pietvo (Pieter van Oostrum))

I installed diffutils today, and I noticed that info diffutils didn't work, and neither did it appear in the info menu in Emacs. I looked into /opt/local/share/info/dir, and saw that it wasn't mentioned there. I also noticed that this file (/opt/local/share/info/dir) hasn't been updated since July 30, so anything new installed after that isn't there.

It seems that something is missing in the macports installation procedure since that date.

Change History (7)

comment:1 Changed 3 years ago by pietvo (Pieter van Oostrum)

Description: modified (diff)

comment:2 Changed 3 years ago by jmroot (Joshua Root)

Component: baseports
Keywords: install info removed
Summary: /opt/local/share/info/dir not updateddiffutils: /opt/local/share/info/dir not updated

Base doesn't do any special handling of this. There is #777, but the conclusion there is that this is something that ports that install info pages should handle.

comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)

Owner: set to Schamschula
Status: newassigned

comment:4 Changed 3 years ago by Schamschula (Marius Schamschula)

/opt/local/share/info/diffutils.info is installed.

On my machine info diffutils works as expected.

comment:6 Changed 3 years ago by pietvo (Pieter van Oostrum)

OK, it seems info diffutils works if diffutils.info is found, even if its isn't in the dir file. However, for emacs you need the entry in the dir file. Also, the subordinate info nodes won't be found without the entries in the dir file (like info diff, info diff3 etc.).

Some ports, math/gsl, www/bbdb, textproc/aspell and textproc/lookup have a post-activate section that does the install-info. It must be done after destroot has been moved to the final location in /opt/local, not in destroot itself.

bbdb has the best implementation, because it also has the pre-deactivate code to remove the entries again. I think all ports with an info file should do it this way.

This is the code from bbdb. I think all ports with an info file should do it this way.

post-activate {
    system "${prefix}/bin/install-info ${prefix}/share/info/bbdb.info ${prefix}/share/info/dir"
}

pre-deactivate {
    system "${prefix}/bin/install-info --delete ${prefix}/share/info/bbdb.info ${prefix}/share/info/dir"
}

comment:7 Changed 3 years ago by Schamschula (Marius Schamschula)

Seems to me that we might want to make a texinfo PortGroup, as this problem will occur for any package that has .info documentation.

Note: See TracTickets for help on using tickets.