[lsb-discuss] How to handle man pages in packages installed into/opt
Stew Benedict
stewb at aysenterprises.com
Tue Apr 10 05:04:11 PDT 2007
On Mon, 9 Apr 2007, Till Kamppeter wrote:
>
> There is a $MANPATH variable, but it is of limited use, as if you set
> it, all other search locations of man are deactivated. So you need to
> find out these locations and add them to $MANPATH if you want to use
> $MANPATH.
>
> In the build environment with installed Gutenprint (my LSB package) you get
>
> man ls -> OK
> MANPATH=/opt/gutenprint/man/ man ls -> not found
> MANPATH=/opt/gutenprint/man/ man escputil -> OK
> MANPATH=/opt/gutenprint/man/:/usr/share/man/ man ls -> OK
> MANPATH=/opt/gutenprint/man/:/usr/share/man/ man escputil -> OK
>
> To find the system's manpath there is no unique solution (another hole
> in the LSB). Ubuntu (and probably also Debian) shows it with the command
> "manpath", the LSB build environment needs "man --path". So assuming if
> all distros use one of these methods, the ugly piece of code to add to
> /etc/profile(.d) by a package's maintainer script would be
>
> oldmanpath=`manpath 2>/dev/null` || oldmanpath=`man --path 2>/dev/null`
> export MANPATH=/opt/PACKAGE/man:$oldmanpath
> unset oldmanpath
>
MANPATH=$MANPATH:/opt/gutenprint/man
Doesn't work?
I do this in my personal .bash_profile for tet, and it seems to work, even
though MANPATH isn't previously set.
--
Stew Benedict
More information about the lsb-discuss
mailing list