whatis/makewhatis

Tomasz Wittner twittner w o2.pl
Czw, 7 Lip 2005, 23:17:45 CEST


On Thu 7. of July 2005 21:24, Dariusz Laskowski wrote:
> On Thu, 07 July 2005 20:43:45 +0200, Tomasz Wittner wrote:
> 
> > Czy komuś to działa?
> 
> To nie działa już od jakiegoś czasu:
> 
> <http://lists.pld-linux.org/mailman/pipermail/pld-devel-pl/2005-May/127256.html>
> 
> > [root w asus 20:11 ~]# makewhatis -w
> 
> U mnie jak wywołam bez opcji '-w' to baza owszem robi się,
> ale niestety nie w '/var/cache/man/whatis', a w katalogach,
> w których zainstalowane są strony man.
> 
Dzięki za odp. - mi się nic nie tworzy, wszystko się wali, pali ... :
# makewhatis -h
Usage: makewhatis [-u] [-v] [-w] [manpath] [-c [catpath]]
       This will build the whatis database for the man pages
       found in manpath and the cat pages found in catpath.
       -u: update database with new pages
       -v: verbose
       -w: use manpath obtained from `man --path`
       [manpath]: man directories (default: /usr/share/man:/usr/X11R6/man:/usr/local/man)
       [catpath]: cat directories (default: the first existing
           directory in /usr/share/man)
# man --path
/usr/share/man:/usr/local/share/man:/usr/X11R6/man:/usr/local/man
# makewhatis -v
about to enter /usr/share/man
adding /usr/share/man/man1/./MakeTeXPK.1.gz
[...]
adding /usr/share/man/mann/./toplevel.n.gz
adding /usr/share/man/mann/./winfo.n.gz
/usr/sbin/makewhatis[404]: cannot create /var/tmp/tmpwhatisukdQna/w: No such file or directory
/usr/sbin/makewhatis[404]: cannot open /var/tmp/tmpwhatisukdQna/w: No such file or directory
rm: cannot remove `/var/tmp/tmpwhatisukdQna/w': No such file or directory
about to enter /usr/X11R6/man
/usr/sbin/makewhatis[404]: cannot create /var/tmp/tmpwhatisukdQna/w: No such file or directory
/usr/sbin/makewhatis[404]: cannot create /var/tmp/tmpwhatisukdQna/w: No such file or directory
/usr/sbin/makewhatis[404]: cannot open /var/tmp/tmpwhatisukdQna/w: No such file or directory
rm: cannot remove `/var/tmp/tmpwhatisukdQna/w': No such file or directory
about to enter /usr/local/man
/usr/sbin/makewhatis[404]: cannot create /var/tmp/tmpwhatisukdQna/w: No such file or directory
/usr/sbin/makewhatis[404]: cannot create /var/tmp/tmpwhatisukdQna/w: No such file or directory
/usr/sbin/makewhatis[404]: cannot open /var/tmp/tmpwhatisukdQna/w: No such file or directory
rm: cannot remove `/var/tmp/tmpwhatisukdQna/w': No such file or directory
# whatis man
man: nothing appropriate
[root w asus 22:59 ~]# l /usr/share/man/man1/*whatis*
-rw-r--r--  1 root root 550 2005-03-11 21:45 /usr/share/man/man1/whatis.1.gz
# rpm -q man
man-1.5p-1
# rpm -ql man | grep cron
/etc/cron.daily/makewhatis
/etc/cron.weekly/makewhatis
#
Może jeszcze być wywoływane hourly, monthly, yearly i minutetly - z wiadomym skutkiem.
To wszystko jest jakimś totalnym absurdem - do tego nieszczęślewe man2html-cgi-1.5p-1:
# grep -r httpd /home/httpd/cgi-{bin,aux}/man
/home/httpd/cgi-bin/man/mansearchhelp:MANSH=/home/httpd/cgi-aux/man/mansearchhelp.aux
/home/httpd/cgi-bin/man/mansearchhelp: CG="lynxcgi:/home/httpd/cgi-bin/man"
/home/httpd/cgi-bin/man/man2html:# auxiliary text files in /home/httpd/cgi-aux/man
/home/httpd/cgi-bin/man/man2html:MANX="/home/httpd/cgi-aux/man/man.aux"
/home/httpd/cgi-bin/man/man2html:      CG="lynxcgi:/home/httpd/cgi-bin/man"
/home/httpd/cgi-bin/man/mansearch:     CG="lynxcgi:/home/httpd/cgi-bin/man"
/home/httpd/cgi-bin/man/mansearch:  searchdocument = "/home/httpd/cgi-aux/man/mansearch.aux";
/home/httpd/cgi-aux/man/man.aux:<!-- It is used by /home/httpd/cgi-bin/man/man2html -->
Wirus Ra? W ogóle część powinno być w /usr/lib/cgi-bin/man, część w /usr/share/man-cgi or sth.

Zamiast poprawiać szelowe gówno (makewhatis), próbuje zrobić coś na podstawie:
http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/makewhatis/makewhatis.c?rev=1.9&content-type=text/x-cvsweb-markup

Tam przynajmniej wiem, że to działa out of the box. Fbsdowcy starają się przepisywać wszystkie systemowe toolsy w C.

-- 
Tomasz Wittner



Więcej informacji o liście dyskusyjnej pld-devel-pl