FS#9130 - replace man with man-db

Attached to Project: Arch Linux
Opened by Roman Kyrylych (Romashka) - Tuesday, 08 January 2008, 13:45 GMT
Last edited by Andreas Radke (AndyRTR) - Wednesday, 18 February 2009, 22:20 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Aaron Griffin (phrakture)
Andreas Radke (AndyRTR)
Roman Kyrylych (Romashka)
Architecture All
Severity Medium
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 23
Private No

Details

Description:
man should be replaced by man-db which supports UTF-8.
http://www.nongnu.org/man-db/
The difference from ordinary man is that man-db uses a Berkeley DB database in place of the traditional flat-text whatis databases

Additional info:
man-db is already packaged in community - http://aur.archlinux.org/packages.php?do_Details=1&ID=9343
This task depends upon

This task blocks these from closing
 FS#7477 - man package and utf8 
Closed by  Andreas Radke (AndyRTR)
Wednesday, 18 February 2009, 22:20 GMT
Reason for closing:  Implemented
Comment by HardShooter (hard_shooter) - Thursday, 31 January 2008, 18:34 GMT
Before I've had some trouble with localized man-pages but now it works pretty good
Comment by Xavier (shining) - Tuesday, 19 August 2008, 13:16 GMT
whatis / apropos / man -k seem broken with man too : http://bbs.archlinux.org/viewtopic.php?id=53731
Everything works perfectly with man-db. (I also noticed in the same time that Debian already uses it)

So +1
Comment by Xavier (shining) - Tuesday, 19 August 2008, 21:17 GMT
Two minor problems about man-db (package) :
1) it uses /usr/libexec
2) I didn't find a way yet to keep colorized man pages
Comment by Xavier (shining) - Sunday, 24 August 2008, 17:39 GMT
2) I found the answer here : http://busybox.net/lists/busybox/2007-March/026798.html
export GROFF_NO_SGR=1
Comment by Aaron Griffin (phrakture) - Thursday, 28 August 2008, 07:18 GMT
Andy, what do you think? Does this affect the man-pages package at all?
Comment by Colin Watson (cjwatson) - Sunday, 28 September 2008, 10:48 GMT
Hi, I'm the upstream maintainer of man-db. I'd be happy to help with any problems you encounter here, and to advise on the preferred layout for localised manual pages and such. It's usually best to contact me by e-mail (cjwatson@debian.org).

Xavier mentioned that man-db uses /usr/libexec. Yes, it does by default, per the GNU standards, but you can use configure --libexecdir to change this (as Debian does).

I noticed elsewhere that some Arch Linux users are having problems with libdb version mismatches. Nowadays I recommend configuring man-db to use gdbm rather than Berkeley DB, and this will be the default in man-db 2.5.3. In the meantime, you can use --with-db=gdbm; make sure that databases are rebuilt on upgrades to the version in which you make that change.
Comment by Glenn Matthys (RedShift) - Tuesday, 09 December 2008, 09:27 GMT
What's the status of this issue? I see no reason anymore why this should be held back.
Comment by Andreas Radke (AndyRTR) - Monday, 22 December 2008, 17:58 GMT Comment by Xavier (shining) - Monday, 16 February 2009, 08:20 GMT
man does not even handle multi level of symlinks when man pages are compressed.
lstat64 -> lstat -> stat
geteuid32 -> geteuid -> getuid
man fails hard on lstat64 and geteuid32, while man-db handles them perfectly.

So to answer Aaron's question, it seems that in fact man-db works better with the current man-pages package which compresses all man pages.

However JGC made a strong argument agasint man-db in the above thread, that the database needs to be updated manually on each new man pages installation.
Comment by Jan de Groot (JGC) - Monday, 16 February 2009, 08:31 GMT
Updating the database is not a requirement. I got a mail from the man-db developer that it's not needed to update man-db on every package installation. At this moment man is reformatting your manpage at the moment you request it. With man-db, this will also happen when you don't update the man database, so it's not a regression or problematic issue.
Comment by Colin Watson (cjwatson) - Monday, 16 February 2009, 10:03 GMT
Indeed, although I think Jan's summary is slightly off here.

Updating the man-db database is equivalent to running makewhatis with man. With both packages, this has the effect of ensuring that the whatis and apropos programs produce current output. You therefore want to do it every so often, but there's certainly no strict requirement to update the database every time new manual pages are installed. (We do update it in Debian since a relatively recent feature in our package management system makes it easy, but we got by without doing so for years and it was largely OK.)

Formatted manual pages are *not* stored in the database. The man program itself will work perfectly well even if the database is out of date, just as it does with the man package.
Comment by Alessandro Doro (adoroo) - Monday, 16 February 2009, 11:34 GMT
At the moment the whatis database (man package) is updated only by cron, daily.
Never upon package installation.
Comment by Colin Watson (cjwatson) - Monday, 16 February 2009, 12:05 GMT
Then that's fine - just have a similar daily cron job that updates the man-db database. You don't need to worry about package installation.
Comment by Andreas Radke (AndyRTR) - Wednesday, 18 February 2009, 22:19 GMT
man-db is in testing now replacing man. please test it and report bugs in new reports.

Loading...