makewhatis [man.spec]
Tomasz Wittner
twittner w o2.pl
Pon, 1 Sie 2005, 23:18:48 CEST
On Mon 1. of August 2005 18:20, Charles wrote:
> Dnia poniedziałek 01 sierpnia 2005 17:46, Tomasz Wittner napisał:
[...]
> 1. Dodatkowa instalacja, choć do obejścia poprzez R: makewhatis w man.spec
> + nieinstalowanie makewhatis w man.spec + skrypty crona w makewhatis.spec
albo można wrzucić źródła makewhatisa-bsd do man.spec. I jak w man.spec
R: makewhatis to konfiguracja crona może sobie zostać w man.spec
>
> 2. Problemy z locale:
> # makewhatis -w -r
> # whatis ps
> ps (1) - zgłoś status procesuX
> ps (1) - report a snapshot of the current processes.X
>
> # makewhatis-bsd -o /var/cache/man/whatis /usr/share/man /usr/X11R6/man /usr/local/man
> # whatis ps
> ps(1) - report a snapshot of the current processes
>
> # makewhatis-bsd -L
> wywala się z błędami i zostawia fragment /var/cache/man/whatis
Błędy to się poprawia ;) i trzeba podać albo explitice /usr/share/man/pl
albo w drugim przebiegu z -L dodać -a (by aktualizować, a nie zamieniać bazy
ang. polską). Patrz:
while (!done && readline() > 0) {
gsub(/.\b/, "");
if (($1 ~ /^\.[Ss][Hh]/ &&
($2 ~ /[Nn][Aa][Mm][Ee]/ ||
$2 ~ /^JMÉNO/ || $2 ~ /^NAVN/ || $2 ~ /^NUME/ ||
$2 ~ /^BEZEICHNUNG/ || $2 ~ /^NOMBRE/ ||
$2 ~ /^NIMI/ || $2 ~ /^NOM/ || $2 ~ /^IME/ ||
$2 ~ /^N[ÉE]V/ || $2 ~ /^NAMA/ || $2 ~ /^EzÁ°/ ||
$2 ~ /^EzzÎ/ || $2 ~ /^RE¸§/ || $2 ~ /^NAZWA/ ||
$2 ~ /^îáú÷áîél/ || $2 ~ /^Au"l/C/ || $2 ~ /^SWsU/ ||
$2 ~ /^NOME/ || $2 ~ /^NAAM/)) ||
(pages == "cat" && $1 ~ /^NAME/)) {
to w makewhatis_by_charles.sh
a w makewhatis.c mamy:
/* A set of possible names for the NAME man page section */
static const char *name_section_titles[] = {
"NAME", "Name", "NAMN", "BEZEICHNUNG", "\xcc\xbe\xbe\xce",
"\xee\xe1\xfa\xf7\xe1\xee\xe9\xe5", NULL
ale to poprawimy:
/* A set of possible names for the NAME man page section */
static const char *name_section_titles[] = {
"NAME", "Name",
"NAMN",
"NAZWA", "Nazwa",
"BEZEICHNUNG",
"\xcc\xbe\xbe\xce",
"\xee\xe1\xfa\xf7\xe1\xee\xe9\xe5",
/* put more suahili translations of "NAME" here */
/* o resztę języków muszą zadbać zainteresowani */
/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
NULL
};
$ whatis ps
ps(1) - report a snapshot of the current processes
$ sudo ./makewhatis-bsd -a -v -L -o /var/cache/man/whatis
makewhatis-bsd: /usr/share/man/pl_PL: No such file or directory
man directory /usr/share/man/pl
/usr/share/man/pl/man1
reading /usr/share/man/pl/man1/zsh.1.gz
reading /usr/share/man/pl/man1/wget.1.gz
[...]
reading /usr/share/man/pl/man1/rbash.1.gz
ignoring junk description ""
ale taki rbash.1.gz zawiera tylko .so bash.1
Ogólnie wynik jest zadowalający:
$ whatis ps
ps(1) - report a snapshot of the current processes
ps(1) - zgłoś status procesu
$
Tyle, że co chwila neo zrywa i póki co releasea makewhatisa obsługującego
polskawe many nie będzie. A - i proszę mnie nie zrozumieć źle - ja się wcale
nie upieram, żeby zamienić makewhatisa shellowego binarnym.
--
Tomasz Wittner
Więcej informacji o liście dyskusyjnej pld-devel-pl