[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#156497: xbase-clients: [xman] apropos does not work



Version: 1:7.1.ds1-2

On Monday 09 April 2007 08:43, Brice Goglin wrote:
> About 5 years ago, you reported a bug to the Debian BTS regarding
> apropos not working, and you said last year that it was still not
> working, even if Denis couldn't reproduce the problem. Did you
> reproduce? With Xorg/Etch? If so, could you give some hints about how
> to reproduce?

This bug still occurs with the current version in sid. I'm not sure what 
must be done special to reproduce, since it's broken by default on my 
system. The problem is still that in vendor.h, SYSMANPATH is being set 
to /usr/man. On my system, /usr/man is a nonexistant directory. If you 
guys have old symlinks lying around then this would explain why you 
can't reproduce the issue. SYSMANPATH is passed to man(1) when running 
apropos. man searches all zero man pages in /usr/man and consequently 
returns no results.

I'm no longer sure that the best fix is to change the ./configure call 
as mentioned before. It's probably better to modify the whole program 
to use whatever the system default man path is (which man can determine 
at runtime), rather than one hard coded at compile time. If that's too 
difficult, adding a special case for linux to vendor.h should be 
reasonably sufficient.

ii  man-db         2.4.3-6        The on-line manual pager

-- 
Ken Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/
*input:				True

*topBox:			True
*topBox.Title:			Xman
*topBox.IconName:		Xman

*manualBrowser.Title:		Manual Page
*manualBrowser.IconName:	Manual Page
*manualBrowser.geometry:	600x600

*manualFontBold:		-*-courier-bold-r-*-*-*-120-*-*-*-*-*-*
*manualFontItalic:		-*-courier-medium-o-*-*-*-120-*-*-*-*-*-*
*manualFontNormal:		-*-courier-medium-r-*-*-*-120-*-*-*-*-*-*
*manualFontSymbol:		-*-symbol-*-*-*-*-*-120-*-*-*-*-*-*
!*directoryFontNormal:		-*-courier-medium-r-*-*-*-120-*-*-*-*-*-*
*directoryFontNormal:		-*-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*
!*directoryFontNormal:		-*-lucida-bold-r-*-*-*-120-*-*-*-*-*-*

!*SimpleMenu.BackingStore:	Always
!*SimpleMenu.SaveUnder:		Off

*horizPane.orientation: 	horizontal
*horizPane*showGrip:		False
*horizPane.min:			22
*horizPane.max:			22
*topLabel.BorderWidth:		0
*search*label.BorderWidth:	0

*search*dialog*value:		Xman

!*optionMenu.Label:		Options
!*sectionMenu.Label:		Sections

*horizPane*options.Label:	Options
*horizPane*sections.Label:	Sections

*helpButton.Label:		Help
*helpButton.Tip:		Open help browser

*quitButton.Label:		Quit
*quitButton.Tip:		Quit Xman

*manpageButton.Label:		Manual Page
*manpageButton.Tip:		Open new manpage browser

*topLabel.Label:		Manual Browser

!*SimpleMenu*menuLabel*vertSpace: 100
!*SimpleMenu*menuLabel*leftMargin: 20

*displayDirectory.Label:	Display Directory 
*displayManualPage.Label:	Display Manual Page
*help.Label:			Help
*help.geometry:			600x600
*search.Label:			Search
*removeThisManpage.Label:	Remove This Manpage
*help*removeThisManpage.Label:	Remove Help
*openNewManpage.Label:		Open New Manpage
*showVersion.Label:		Show Version
*quit.Label:			Quit

*pleaseStandBy*Label:		Formatting Manual Page, Please Stand By...

*search*dialog.Label:		Type string to search for:
*search*apropos.Label:		Apropos
*search*manualPage.Label:	Manual Page
*search*cancel.Label:		Cancel

*likeToSave*dialog.Label:	Would you like to save this formatted Manual Page?
*likeToSave*yes.Label:		Yes
*likeToSave*no.Label:		No

*translations: 		#override \
		Ctrl<Key>q: Quit() \n\
		Ctrl<Key>c: Quit() \n\
		Ctrl<Key>n: CreateNewManpage() \n\
		Ctrl<Key>h: PopupHelp() \n\
		Ctrl<Key>s: PopupSearch()

*help*Paned.manualPage.translations:#override \
		Ctrl<Btn1Down>: \
			XawPositionSimpleMenu(optionMenu) \
			MenuPopup(optionMenu) \n\
		Ctrl<Key>q: Quit() \n\
		Ctrl<Key>c: Quit() \n\
		Ctrl<Key>r: RemoveThisManpage() \n\
		Ctrl<Key>n: CreateNewManpage() \n\
		Ctrl<Key>h: PopupHelp() \n\
		Ctrl<Key>d: GotoPage(Directory) \n\
		Ctrl<Key>m: GotoPage(ManualPage) \n\
		Ctrl<Key>v: ShowVersion() \n\
		<Key>Prior: Page(Back) \n\
		<Key>Next : Page(Forward) \n\
		Shift<Btn4Down>,<Btn4Up>: Page(Line,-1) \n\
	        Shift<Btn5Down>,<Btn5Up>: Page(Line,1) \n\
	        Ctrl<Btn4Down>,<Btn4Up>: Page(Back) \n\
		Ctrl<Btn5Down>,<Btn5Up>: Page(Forward) \n\
		None<Btn4Down>,<Btn4Up>: Page(Line,-5) \n\
		None<Btn5Down>,<Btn5Up>: Page(Line,5)

*manualBrowser*manualPage.translations:  #override \
		Ctrl<Btn1Down>: \
			XawPositionSimpleMenu(optionMenu) \
			MenuPopup(optionMenu) \n\
		Ctrl<Btn2Down>: \
			XawPositionSimpleMenu(sectionMenu) \
			MenuPopup(sectionMenu) \n\
		Shift<Btn2Down>,<Btn2Up>:GotoPage(Directory)\n\
		Ctrl<Key>q: Quit() \n\
		Ctrl<Key>c: Quit() \n\
		Ctrl<Key>r: RemoveThisManpage() \n\
		Ctrl<Key>n: CreateNewManpage() \n\
		Ctrl<Key>h: PopupHelp() \n\
		Ctrl<Key>d: GotoPage(Directory) \n\
		Ctrl<Key>m: GotoPage(ManualPage) \n\
		Ctrl<Key>v: ShowVersion() \n\
		<Key>Prior: Page(Back) \n\
		<Key>Next : Page(Forward) \n\
		Shift<Btn4Down>,<Btn4Up>: Page(Line,-1) \n\
	        Shift<Btn5Down>,<Btn5Up>: Page(Line,1) \n\
	        Ctrl<Btn4Down>,<Btn4Up>: Page(Back) \n\
		Ctrl<Btn5Down>,<Btn5Up>: Page(Forward) \n\
		None<Btn4Down>,<Btn4Up>: Page(Line,-5) \n\
		None<Btn5Down>,<Btn5Up>: Page(Line,5) \n\
		Ctrl<Key>s: PopupSearch()

!*manualBrowser*directory.background: Grey80
*manualBrowser*directory.translations:   #override \
		Ctrl<Btn1Down>: \
			XawPositionSimpleMenu(optionMenu) \
			MenuPopup(optionMenu) \n\
		Ctrl<Btn2Down>: \
			XawPositionSimpleMenu(sectionMenu) \
			MenuPopup(sectionMenu) \n\
		Shift<Btn2Down>,<Btn2Up>: GotoPage(Manpage) \n\
		Ctrl<Key>q: Quit() \n\
		Ctrl<Key>c: Quit() \n\
		Ctrl<Key>r: RemoveThisManpage() \n\
		Ctrl<Key>n: CreateNewManpage() \n\
		Ctrl<Key>h: PopupHelp() \n\
		Ctrl<Key>d: GotoPage(Directory) \n\
		Ctrl<Key>m: GotoPage(ManualPage) \n\
		Ctrl<Key>v: ShowVersion() \n\
		Ctrl<Key>s: PopupSearch()

*manualBrowser*search*manualPage.translations: 	#augment \
		<Btn1Down>,<Btn1Up>: Search(Manpage) reset()

*manualBrowser*search*apropos.translations:		#augment \
		<Btn1Down>,<Btn1Up>: Search(Apropos) reset()

*manualBrowser*search*cancel*translations:  	#augment \
		<Btn1Down>,<Btn1Up>: Search(Cancel) reset()

*manualBrowser*search*value*translations:		#override \
		<Key>Return: Search(Manpage) \n\
		Ctrl<Key>m:  Search(Manpage)

*topBox*search*manualPage.translations: 		#augment \
		<Btn1Down>,<Btn1Up>: Search(Manpage, Open) reset()

*topBox*search*apropos.translations:		#augment \
		<Btn1Down>,<Btn1Up>: Search(Apropos, Open) reset()

*topBox*search*cancel*translations:  		#augment \
		<Btn1Down>,<Btn1Up>: Search(Cancel, Open) reset()

*topBox*search*value*translations:			#override \
		<Key>Return: Search(Manpage, Open) \n\
		Ctrl<Key>m:  Search(Manpage, Open)

*manualBrowser*likeToSave*yes.translations:	#override \
		<Btn1Down>,<Btn1Up>: SaveFormattedPage(Save) reset() \n\
		<Key>y:   SaveFormattedPage(Save) \n\
		<Key>n:   SaveFormattedPage(Cancel) 

*manualBrowser*likeToSave*no.translations:	#override \
		<Btn1Down>,<Btn1Up>: SaveFormattedPage(Cancel) reset() \n\
		<Key>y:	  SaveFormattedPage(Save) \n\
		<Key>n:	  SaveFormattedPage(Cancel) 

*manualBrowser*likeToSave*translations:	#override \
		<Key>y:	  SaveFormattedPage(Save) \n\
		<Key>n:	  SaveFormattedPage(Cancel) 

*helpButton.translations:	#augment \
		<Btn1Down>,<Btn1Up>: PopupHelp() reset()

*quitButton.translations:	#augment \
		<Btn1Down>,<Btn1Up>: Quit() reset()

*manpageButton.translations: #augment \
		<Btn1Down>,<Btn1Up>: CreateNewManpage() reset()

! EOF.
# manpath.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/bin		/usr/local/share/man
MANPATH_MAP	/usr/local/sbin		/usr/local/man
MANPATH_MAP	/usr/local/sbin		/usr/local/share/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 treated as a system manpath (as most of those
# above should normally be), 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 system manpaths, including manpaths for alternate
# operating systems, locale specific manpaths, and combinations of both, if
# they exist, otherwise the permissions of the user running man/mandb will
# be used to manipulate the manual pages. Also, mandb will not initialise
# the database cache for any manpaths not mentioned below unless explicitly
# requested to do so.
#
# In a per-user configuration file, this directive only controls the
# location of catpaths and the creation of database caches; it has no effect
# on privileges.
#
# Any manpaths that are subdirectories of 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/oldlocal
MANDB_MAP	/usr/local/share/man	/var/cache/man/local
MANDB_MAP	/usr/X11R6/man		/var/cache/man/X11R6
MANDB_MAP	/opt/man		/var/cache/man/opt
#
#---------------------------------------------------------
# Program definitions.  These are commented out by default as the value
# of the definition is already the default.  To change: uncomment a
# definition and modify it.
#
#DEFINE 	pager	/usr/bin/pager -s
#DEFINE 	cat	/bin/cat
#DEFINE 	tr	/usr/bin/tr '\255\267\264\327' '\055\157\047\170'
#DEFINE		grep	/bin/grep
#DEFINE 	troff 	/usr/bin/groff -mandoc
#DEFINE 	nroff 	/usr/bin/nroff -mandoc
#DEFINE 	eqn 	/usr/bin/eqn
#DEFINE 	neqn	/usr/bin/neqn
#DEFINE 	tbl 	/usr/bin/tbl
#DEFINE 	col 	/usr/bin/col
#DEFINE 	vgrind 	/usr/bin/vgrind
#DEFINE 	refer 	/usr/bin/refer
#DEFINE 	grap 	/usr/bin/grap
#DEFINE 	pic 	/usr/bin/pic -S
#
#DEFINE		decompressor	/bin/gzip -dc
#DEFINE		compressor	/bin/gzip -c7
#---------------------------------------------------------
# Misc definitions: same as program definitions above.
#
#DEFINE		whatis_grep_flags		-i
#DEFINE		apropos_grep_flags		-iEw
#DEFINE		apropos_regex_grep_flags	-iE
#---------------------------------------------------------
# Section names. Manual sections will be searched in the order listed here;
# the default is 1, n, l, 8, 3, 2, 5, 4, 9, 6, 7. Multiple SECTION
# directives may be given for clarity, and will be concatenated together in
# the expected way.
# If a particular extension is not in this list (say, 1mh), it will be
# displayed with the rest of the section it belongs to. The effect of this
# is that you only need to explicitly list extensions if you want to force a
# particular order. Sections with extensions should usually be adjacent to
# their main section (e.g. "1 1mh 8 ...").
SECTION		1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7

Attachment: pgphpjXDIUcLB.pgp
Description: PGP signature


Reply to: