Opened 20 years ago

Closed 20 years ago

Last modified 20 years ago

#2902 closed defect (wontfix)

BUG: port does not compress man-pages installed into ${prefix}/man

Reported by: danchr@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.0
Keywords: Cc:
Port:

Description

Currently, we install a symlink to ${prefix}/share/man at ${prefix}/man. This means that, as a workaround, all man-pages get installed into the same location. However, port isn't aware of this, so only man-pages destrooted into ${prefix}/share/man get compressed. Whether or not the workaround is correct, I believe the current behaviour is inconsistent. The following patch fixes this by compressing man-pages in ${prefix}/man too.

Attachments (1)

patch-src-port1.0-portdestroot.tcl (6.9 KB) - added by danchr@… 20 years ago.
patch-src-port1.0-portdestroot.tcl

Download all attachments as: .zip

Change History (6)

Changed 20 years ago by danchr@…

patch-src-port1.0-portdestroot.tcl

comment:1 Changed 20 years ago by jmpp@…

Hi Dan! DarwinPorts shouldn't be compressing man pages installed in ${prefix}/man simply because man pages shoulnd't be installed there. Hierarchy dictates they should be installed in ${prefix}/share/ man, the symlink you speak about is only for the purpose of making manpath(1) work. Any port that installs onto ${prefix}/man is, according to our hierarchy, buggy.

-jmpp.

PS: I'll leave this bug temporarily open if anybody else wants to weigh in with opinions, but this is really a non-issue.

comment:2 Changed 20 years ago by rshaw@…

Resolution: wontfix
Status: newclosed

No ports should install into ${prefix}/man ... ever! If they do, file a bug report on the port that does this to get it corrected.

The man page compression behavior will NOT be changed.

-Robert

comment:3 Changed 20 years ago by danchr@…

(In reply to comment #2)

Any port that installs onto ${prefix}/man is, according to our hierarchy, buggy.

As I mentioned earlier, a symlink is installed, and I know that this symlink is a workaround. Whether or not it is correct to install man-pages into ${prefix}/man, the fact is that they wind up the same place as man-pages installed into ${prefix}/share/man, but unlike the former, they aren't compressed.

I maintain that there is a bug. Either the files should not end up in ${prefix}/share/man, or they should end up there, and be compressed. Perhaps my solution is incorrect, but there is an issue here that needs to be solved.

Perhaps a better solution would be to install a config.site file containing the line "mandir=${prefix}/share/man"? This would at least change the default behaviour for any autoconf-based script to be correct.

comment:4 Changed 20 years ago by jmpp@…

(In reply to comment #4)

Whether or not it is correct to install man-pages into ${prefix}/man, the fact is that they wind up the same place as man-pages installed into ${prefix}/share/man

Claiming this is actually inaccurate. Suppose port <porta> destroots its man pages into ${destroot}${prefix}/man, upon installation this will cause dp to create the ${prefix}/man directory which will breake the symlink to ${prefix}/share/man, thus you'll end up with just a few man pages, strictly those belonging to <porta>, in ${prefix}/man while the vast majority will still live in ${prefix}/ share/man. Those two locations will no longer be connected and man(1) will only find the former, unless you override manpath(1) which is itself discouraged.

So if anything, I would propose writing a patch causing dp to explicitly fail if whatever port destroots into ${destroot}${prefix}/man, which currently does not happen (I had this very conversation with wbb4 on IRC a long time ago).

-jmpp

comment:5 Changed 20 years ago by mww@…

Always setting "mandir=${prefix}/share/man" is a bad idea, cause there are a lot of ports destrooting via "prefix=${destroot}${prefix}" and those will break if mandir is already set to something not including the variable ${prefix} anymore.

Note: See TracTickets for help on using tickets.