Aquí os envío el informe de bug que he enviado. Esto, lamentablemente, puede que afecte a que Debian 2.2 salga un pelín más tarde :( Así que si alguien tiene tiempo y ganas que se baje las fuentes de man para ver mandar un patch rápidamente.
Javi PD: ahora que me doy cuenta he cometido muchas erratas por escribirlo muy rápido (eso me pasar por no releer mis mensajes :( ----- Forwarded message from Javier Fernandez-Sanguino Pen~a <[EMAIL PROTECTED]> ----- Resent-Message-ID: <[EMAIL PROTECTED]> Delivered-To: [EMAIL PROTECTED] Date: Fri, 31 Mar 2000 18:49:48 +0200 (CEST) From: Javier Fernandez-Sanguino Pen~a <[EMAIL PROTECTED]> X-Sender: [EMAIL PROTECTED] To: Bug submitter <[EMAIL PROTECTED]>, Richard Braakman <[EMAIL PROTECTED]> cc: Javier Fernandez-Sanguino Pen~a <[EMAIL PROTECTED]> Subject: Man is not able to look for translated manpages (was Re: user-es_0.7_i386.changes REJECTED) In-Reply-To: <[EMAIL PROTECTED]> Resent-From: [EMAIL PROTECTED] Resent-Date: Fri, 31 Mar 2000 19:08:32 +0200 Resent-To: [EMAIL PROTECTED] Package: man Version: 2.3.14 Priority: important Then we have a *grave* bug in man which should be reported. Man does not take any translated manpages that are placed under /usr/man/XX (being XX any language, be it 'es' or ' if you upgrade from potato to frozen. My manpath.config file (what package provides this? dpkg -S turns out nothing) is adjointed. I have investigated the problem some what and it seems that man does not offer translations if they are not first in the 'MANPATH' variable. This strangely behavior happens to *some* manpages and not all of them.. Take this example: (my notes are in []) ---------------------------------------------------------------------- [LANG and LC_MESSAGES are set to 'es_ES'] $ manpath /usr/share/man:/usr/X11R6/man:/usr/local/man:/usr/man [taken from the /etc/manpath.config provided in Debian] $ ls -la /usr/man/es/man1/write.1.gz -rw-r--r-- 1 root root 2231 abr 12 1999 /usr/man/es/man1/write.1.gz [so the file's there all right] $ man write [!!!shown in English!!] $ export MANPATH=/usr/man $ man write Dando formato a write(1), aguarde por favor... [!!!shown in Spanish!!!] $ export MANPATH=/usr/man:/usr/share/man $ man write Dando formato a write(1), aguarde por favor... [!!shown in Spanish!!!] $ export MANPATH=/usr/share/man:/usr/man $ man write [!!shown in ENGLISH!!] [all right is seems precedence of /usr/share is not the problem] $ export MANPATH=/usr/share/man:/usr/local/man:/usr/man $ man write [!!shown in ENGLISH!!] ---------------------------------------------------------------------- Using man -d it seems to me that man searches for in /usr/share/man/es but finds nothing, looks in /usr/share and finds a page and thus, stops searching for nothing under /usr/man/es. Thus, *unless* the first directory in MANPATH is the one with the translated manpages man will never find any translated manpage, thus, if you have translated manpages in /usr/share/man and in /usr/man there is no possible way 'man' can find translated pages in both directories. The debugging part of man is also attached. Best regards (and sorry to list this as importan, but it is for those that depend on non-english documentation being available) Javi On 31 Mar 2000, Richard Braakman wrote: > This does not warrant a change to frozen. FHS complicance is not > a release goal for potato. > > If you don't understand why your files were rejected, or if the > override file requires editing, reply to this email. > > Your rejected files are in Incoming/REJECT/. (Some may also be in > Incoming/ if your .changes file was unparsable.) If only some of the > files need to repaired, you may move any good files back to Incoming/. > Please remove any bad files from Incoming/REJECT/. > Content-Description: man debuggin output is a tty real user = 3135; effective user = 6 using /usr/bin/less as pager found mandatory man directory /usr/man found mandatory man directory /usr/share/man found mandatory man directory /usr/X11R6/man found mandatory man directory /usr/local/man found manpath map /bin --> /usr/share/man found manpath map /usr/bin --> /usr/share/man found manpath map /sbin --> /usr/share/man found manpath map /usr/sbin --> /usr/share/man found manpath map /usr/local/bin --> /usr/local/man found manpath map /usr/local/sbin --> /usr/local/man found manpath map /usr/X11R6/bin --> /usr/X11R6/man found manpath map /usr/bin/X11 --> /usr/X11R6/man found manpath map /usr/games --> /usr/share/man found manpath map /opt/bin --> /opt/man found manpath map /opt/sbin --> /opt/man found global mandir /usr/man mapped to catdir /var/cache/man/fsstnd found global mandir /usr/share/man mapped to catdir /var/cache/man found global mandir /usr/local/man mapped to catdir /var/cache/man/local found global mandir /usr/X11R6/man mapped to catdir /var/cache/man/X11R6 found global mandir /opt/man mapped to catdir /var/cache/man/opt add_nls_manpath(): processing /usr/share/man:/usr/man check_and_give(): adding /usr/share/man/es check_and_give(): adding /usr/man/es adding /usr/share/man/es to manpathlist adding /usr/share/man to manpathlist adding /usr/man/es to manpathlist adding /usr/man to manpathlist *manpath search path* = /usr/share/man/es:/usr/share/man:/usr/man/es:/usr/man regain_effective_privs() searching in /usr/share/man/es, section 1 Failed to open /var/cache/man/es/index.bt O_RDONLY trying section 1 with globbing globbing pattern: /usr/share/man/es/man1/write.1* globbing pattern: /usr/share/man/es/man1.Z/write.1* globbing pattern: /usr/share/man/es/man1/write.* globbing pattern: /usr/share/man/es/man1*/write.1* globbing pattern: /usr/share/man/es/cat1/write.1* globbing pattern: /usr/share/man/es/cat1.Z/write.1* globbing pattern: /usr/share/man/es/cat1/write.* globbing pattern: /usr/share/man/es/cat1*/write.1* searching in /usr/share/man, section 1 Succeeded in opening /var/cache/man/index.bt O_RDONLY found 2 extensions multi key lookup (write 1) multi key lookup (write 2) trying a db located file. sec. ext: 1 section: 1 comp. ext: gz id: A st_mtime 947872412 pointer: - whatis: send a message to another user Checking physical location: /usr/share/man/man1/write.1.gz ult_src: File /usr/share/man/man1/write.1.gz drop_effective_privs() regain_effective_privs() The following command done with dropped privs /bin/gzip -dc /usr/share/man/man1/write.1.gz > /tmp/zman1Gsmlo found ultimate source file /usr/share/man/man1/write.1.gz chdir /usr/share/man pre-processors `' from default is_newer: a=/usr/share/man/man1/write.1.gz, b=/usr/share/man/cat1/write.1.gz (-2) is_newer: a=/usr/share/man/man1/write.1.gz, b=/var/cache/man/cat1/write.1.gz (0) format: 0, save_cat: 1, found: 1 drop_effective_privs() trying command: /bin/gzip -dc '/var/cache/man/cat1/write.1.gz' | { export MAN_PN LESS; MAN_PN='write(1)'; LESS="$LESS\$-Pm\:\$ix8mPm Página de Manual $MAN_PN ?ltlínea %lt?L/%L.:byte %bB?s/%s..?e (FIN):?pB %pB\\%.."; /usr/bin/less; } regain_effective_privs() drop_effective_privs() remove("/tmp/zman1Gsmlo") regain_effective_privs() free_hashtab: 2 entries, 2 (100%) unique Found 1 man pages Content-Description: Manpath config # config file rewritten by tool chconfig # man_db.config # # This file is used by the man_db package to configure the man and cat paths. # It is also used to provide a manpath for those without one by examining # their PATH environment variable. For details see the manpath(5) man page. # # Lines beginning with `#' are comments and are ignored. Any combination of # tabs or spaces may be used as `whitespace' separators. # # There are three mappings allowed in this file: # -------------------------------------------------------- # MANDATORY_MANPATH manpath_element # MANPATH_MAP path_element manpath_element # MANDB_MAP global_manpath [relative_catpath] #--------------------------------------------------------- # every automatically generated MANPATH includes these fields # #MANDATORY_MANPATH /usr/src/pvm3/man # MANDATORY_MANPATH /usr/man MANDATORY_MANPATH /usr/share/man MANDATORY_MANPATH /usr/X11R6/man MANDATORY_MANPATH /usr/local/man #--------------------------------------------------------- # set up PATH to MANPATH mapping # ie. what man tree holds man pages for what binary directory. # # *PATH* -> *MANPATH* # MANPATH_MAP /bin /usr/share/man MANPATH_MAP /usr/bin /usr/share/man MANPATH_MAP /sbin /usr/share/man MANPATH_MAP /usr/sbin /usr/share/man MANPATH_MAP /usr/local/bin /usr/local/man MANPATH_MAP /usr/local/sbin /usr/local/man MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man MANPATH_MAP /usr/bin/X11 /usr/X11R6/man MANPATH_MAP /usr/games /usr/share/man MANPATH_MAP /opt/bin /opt/man MANPATH_MAP /opt/sbin /opt/man #--------------------------------------------------------- # For a manpath element to be considered `global' it must be mentioned # below. Each line may have an optional extra string indicating the # catpath associated with the manpath. If no catpath string is used, # the catpath will default to the given manpath. # # You *must* provide all `global' man paths, including alternate system # man paths and locale specific manpaths and combinations of both, if # they exist, otherwise `user' permissions will be used to manipulate the # manual pages. Also, utilities like mandb will not initialise the database # cache for any manpaths not mentioned below. # # Any manpaths that are `contained' within other manpaths must be mentioned # *before* the containing manpath. E.g. /usr/man/preformat must be listed # before /usr/man. # # *MANPATH* -> *CATPATH* # MANDB_MAP /usr/man /var/cache/man/fsstnd MANDB_MAP /usr/share/man /var/cache/man MANDB_MAP /usr/local/man /var/cache/man/local MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6 MANDB_MAP /usr/man /var/cache/man/fsstnd MANDB_MAP /opt/man /var/cache/man/opt ----- End forwarded message -----