Opened 16 years ago
Closed 16 years ago
#2379 closed task (fixed)
man-db-2.5.5 nitpicks
Reported by: | Owned by: | Matthew Burgess | |
---|---|---|---|
Priority: | normal | Milestone: | 7.0 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
First, we still claim UTF-8 pages need to be in a ll.UTF-8 directory. No longer true (I'm testing on a modified clfs system, everything in the ll/ directories is found and used, both legacy encoded and UTF-8. This also means our instructions for installing non-English manpages are excessively complicated (the only complication would be if someone had pages in an unexpected encoding).
Second, we still claim
This package does not come with a test suite.
Not true.
Unfortunately, building man-db as an add-on after the basic system (in my case using gdbm instead of berkelydb) the test suite fails when it calls col (which reports errors, although the output is good). The maintainer is looking at this, but I suspect LFS will have a failure when it tries to invoke /usr/bin/col (which we pass to configure) during the man-db testsuite because util-linux-ng has not been built yet.
Change History (5)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Ken,
Here's a couple of other nitpicks from the man-DB maintainer that I expected to get around to fixing shortly after he first reported them to me. Unfortunately, time has once again eluded me, so here's his email in full:
Hi, I thought you might like to know about some cruft in http://www.linuxfromscratch.org/lfs/view/development/chapter06/man-db.html which I think could productively be removed to reduce confusion, as it's no longer necessary. Please let me know if I should file this in a bug tracking system somewhere instead. The business about installing UTF-8 manual pages in /usr/share/man/ru.UTF-8 etc. was something I suggested at one point during development, but it was unpopular due to the file system complexity involved and I was persuaded to take a different approach; this has never been a recommendation for any released version of man-db. In 2.5.0, man-db gained support for these .UTF-8 directories, but more importantly it also gained support for detecting on the fly whether a manual page is encoded using UTF-8. (In theory this is not possible to do perfectly; but in practice it works excellently for text documents.) As a result, you can simply install manual pages in either the legacy encoding or in UTF-8 into /usr/share/man/LL (e.g. /usr/share/man/ru) directly. The rules for installing manual pages with man-db (which I believe are strictly more tolerant than those for the man package) are as follows: * If the page is in either UTF-8 or the legacy encoding for your language, then just install it in /usr/share/man/LL. * If the page is in something other than these two encodings, make sure it's declared on the first line using either of these two forms documented in manconv(1) (depending on whether the page also needs preprocessors such as tbl): '\" -*- coding: YOUR-ENCODING-HERE -*- '\" t -*- coding: YOUR-ENCODING-HERE -*- This is only necessary for a very few pages such as the iso-8859-* ones; iso-8859-* will include these runes as of man-pages 3.20. You'll need man-db 2.5.5 (just released) to make this work properly. Hardly anyone will need to care about this, and you might not even need to document it. That's it. You can and probably should completely bin this convert-mans stuff; man-db should work it out for itself and please let me know if it doesn't because in most cases I'm likely to consider it a bug. Certainly nobody using man-db 2.5.x should ever have to care whether they're using UTF-8 or the legacy encoding. It seems to me that it would be a significant improvement for LFS users not to have to worry about this. The only case where I think it is still likely to be useful to use /usr/share/man/LL.ENCODING is if there is a language for which people are routinely shipping significant numbers of manual pages in more than one legacy encoding. In that case obviously the "-*- coding: FOO -*-" approach is too cumbersome and you'd want to just install them into a separate directory. However, at the moment I know of no such language. You can add the following to the list of supported languages, and remove or rephrase the note about Norwegian not working since you already have a version of man-db containing the fix for your problem here: Estonian (et) ISO-8859-1 Norwegian Bokmål (nb) ISO-8859-1 Norwegian Nynorsk (nn) ISO-8859-1 Belarusian (be) CP1251 Greek (el) ISO-8859-7 Lithuanian (lt) ISO-8859-13 Latvian (lv) ISO-8859-13 Macedonian (mk) ISO-8859-5 Romanian (ro) ISO-8859-2 Serbian Latin (sr@latin) ISO-8859-2 Ukrainian (uk) KOI8-U Incidentally, as of man-db 2.5.5, man-db does come with a very small excuse for a test suite that just tests whether its own manual pages render without errors, so it might be worth telling people to run that using 'make check'.
comment:3 by , 16 years ago
I can't address either this or the other ticket at the moment (my newest LFS system is 6.4) but Colin has fixed the testsuite for the UTF-8-aware 'col' - patch is in -patches - and the resulting testsuite seemed to work even with /usr/bin/col not present when I tried it earlier (because col is now no longer used there).
And apologies for attributing the other ticket to Alexander.
comment:4 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Rude Words - I didn't find Alexander's ticket for Man-DB because I had different capitalization. That explains why I was sure I'd seen a ticket. So, first item above is a duplicate,
The points about the testsuite still stand.