FS#8839 - Arch Linux should use /usr/share/man for manpages
Attached to Project:
Arch Linux
Opened by Dan McGee (toofishes) - Wednesday, 05 December 2007, 02:04 GMT
Last edited by Aaron Griffin (phrakture) - Monday, 04 February 2008, 15:32 GMT
Opened by Dan McGee (toofishes) - Wednesday, 05 December 2007, 02:04 GMT
Last edited by Aaron Griffin (phrakture) - Monday, 04 February 2008, 15:32 GMT
|
Details
Arch currently (through makepkg) puts all manpages in
/usr/man.
The FHS (http://www.pathname.com/fhs/) specifies that manpages should be at /usr/share/man, because the /usr/share hierarchy contains architecture-independent data and manpages are just that- architecture independent. There is no /usr/man directory specified by FHS. Invalid reasons to close this bug: 1. "The current way is the Arch way" Thoughts, questions, comments? If we did do this, we wouldn't have to do a full rebuild- incrementally would be fine. |
This task depends upon
Closed by Aaron Griffin (phrakture)
Monday, 04 February 2008, 15:32 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented, excepting package rebuilds which will come in time
Monday, 04 February 2008, 15:32 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented, excepting package rebuilds which will come in time
Would someone mind testing a few packages to make sure we can roll this out properly? If that works, Dan, we could simply change the path that man pages are moved to in makepkg for the 3.1 release.
<http://projects.archlinux.org/git/?p=pacman.git;a=blob;f=scripts/makepkg.sh.in;h=0ef0e521540cf8211ede9636e900184c6d7df27c;hb=9615d82343148301884bfc79d87e2f408aad64bd#l716>
This would remove 8 lines of code, woohoo!
Our man setup is stupid. Why have people been setting $MANPATH? Completely unnecessary since man itself does a better job finding your man folders, including ones in opt. I couldn't view manpages in /usr/share/man/* until I did an "unset MANPATH" in my shell.
Solutions? Short term is to just add /usr/share/man to the MANPATH variable so it "just works". Long term is to remove MANPATH completely from our system as it is completely unnecessary.
Things on my system that play with manpath: csh (csh.cshrc), jdk (profile.d/jdk.sh), jre (profile.d/jre.sh), kdelibs (profile.d/kde.{sh,csh}), qt3 (profile.d/qt3.sh). I'm sure many other programs that install in opt/ do it too.
Thoughts? We should really kill this $MANPATH nonsense, its killing us.
core:
-----
base/bash/profile (removed manpath and added an "unset MANPATH" line at end to kill other bad scripts actions- is this acceptable?)
base/man/whatis.cron.daily
extra:
------
daemons/mdnsresponder/PKGBUILD
devel/jdk/jdk.profile
games/xbl/PKGBUILD
kde/kde-common/kde.tcsh
kde/kde-common/kde.profile
lib/qt3/qt.profile
network/hping/Makefile.patch (did not fix)
system/tcsh/csh.cshrc
system/root-tail/PKGBUILD
system/zsh/zprofile
system/jre/jre.profile
In addition, I'd like to see if there's a way to fix this without removing MANPATH. People can still set this on their own, and saying "whoops MANPATH broke your shit" isn't a good idea.
Adding /usr/share/man to MANPATH is the quick and dirty solution, but once again setting things that didn't ever need to be set is killing us here.
Well, I like grepping through /var/abs (for "usr/man" in this case), but I didn't feel like opening >100 bugs, so I've attached a list.
Some notes:
- In the vast majority of cases it's a PKGBUILD that manually installs files to $startdir/pkg/usr/man in build()
- When a package got listed twice because it's also in testing, I've deleted the non-testing line
- There was one package (filesystem) in testing that already got adapted for /usr/share/man.
- That leaves 160 packages affected; probably more or less, I doubt that the simple grep caught everything.
I'll open a new bug with another list for community (100 pkgs).
devilspie e2fsprogs gnome-desktop gnome-panel gnome-utils imagemagick syslinux thunar vbetool xmlto xorg-server xorg-xinit