lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 2 Jul 2024 20:52:46 +0200
From: Roman Storozhenko <romeusmeister@...il.com>
To: Shuah Khan <skhan@...uxfoundation.org>
Cc: Thomas Renninger <trenn@...e.com>, Shuah Khan <shuah@...nel.org>, 
	Javier Carrasco <javier.carrasco.cruz@...il.com>, linux-pm@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] cpupower: Make help command available for custom
 install dir

On Tue, Jul 2, 2024 at 9:40 AM Roman Storozhenko
<romeusmeister@...il.com> wrote:
>
> On Mon, Jul 1, 2024 at 9:40 PM Shuah Khan <skhan@...uxfoundation.org> wrote:
> >
> > On 6/29/24 04:48, Roman Storozhenko wrote:
> > > On Fri, Jun 28, 2024 at 9:45 PM Shuah Khan <skhan@...uxfoundation.org> wrote:
> > >>
> > >> On 6/28/24 05:30, Roman Storozhenko wrote:
> > >>> On Thu, Jun 27, 2024 at 7:33 PM Shuah Khan <skhan@...uxfoundation.org> wrote:
> > >>>>
> > >>>> On 6/27/24 01:49, Roman Storozhenko wrote:
> > >>>>> When the 'cpupower' utility installed in the custom dir, it fails to
> > >>>>> render appropriate help info for a particular subcommand:
> > >>>>> $ LD_LIBRARY_PATH=lib64/ bin/cpupower help monitor
> > >>>>> with error message like 'No manual entry for cpupower-monitor.1'
> > >>>>> The issue is that under the hood it calls 'exec' function with
> > >>>>> the following args: 'man cpupower-monitor.1'. In turn, 'man' search
> > >>>>> path is defined in '/etc/manpath.config'. Of course it contains only
> > >>>>> standard system man paths.
> > >>>>> Make subcommands help available for a user by setting up 'MANPATH'
> > >>>>> environment variable to the custom installation man pages dir. That
> > >>>>> variable value will be prepended to the man pages standard search paths
> > >>>>> as described in 'SEARCH PATH' section of MANPATH(5).
> > >>>>
> > >>>> What I am asking you is what happens when you set the MANPATH before
> > >>>> running the command?
> > >>>
> > >>> It adds the custom search path to the beginning of the MANPATH variable.
> > >>> I tested this case. All works as expected.
> > >>>
> > >>
> > >> Let's try again. What happens if you run the command with MANPATH set and
> > >> exported and then run the command. Can you send the output?
> > >
> > > hedin@...top:~/prj/cpupower/install/usr$ echo $MANPATH
> > > /tmp/
> > > hedin@...top:~/prj/cpupower/install/usr$ LD_LIBRARY_PATH=lib64/
> > > bin/cpupower help monitor
> > > ...................
> > > man output
> > > ...................
> > > hedin@...top:~/prj/cpupower/install/usr$ echo $MANPATH
> > > /tmp/
> > > hedin@...top:~/prj/cpupower/install/usr$
> > >
> >
> > Is this with your patch or mainline? Can you give cut and paste
> > the man output here for the mainline coupower without your patch?
>
> The above output is from my patch.
> This is the output from the mainline:
> hedin@...top:~/prj/cpupower/install/usr$ sudo LD_LIBRARY_PATH=lib64/
> bin/cpupower help monitor
> [sudo] password for hedin:
> No manual entry for cpupower-monitor
> hedin@...top:~/prj/cpupower/install/usr$ echo $MANPATH
> /tmp/
> hedin@...top:~/prj/cpupower/install/usr$
>
Based on our today's conversation the following is the output for the mainline:

hedin@...top:~/prj/cpupower/install/usr$
MANPATH="/home/hedin/prj/cpupower/install/usr/man:"
LD_LIBRARY_PATH=lib64/ bin/cpupower help monitor
hedin@...top:~/prj/cpupower/install/usr$ echo $MANPATH

.............
man output
.............

hedin@...top:~/prj/cpupower/install/usr$ export
MANPATH="/home/hedin/prj/cpupower/install/usr/man:"
hedin@...top:~/prj/cpupower/install/usr$ echo $MANPATH
/home/hedin/prj/cpupower/install/usr/man:
hedin@...top:~/prj/cpupower/install/usr$ LD_LIBRARY_PATH=lib64/
bin/cpupower help monitor

.............
man output
.............

hedin@...top:~/prj/cpupower/install/usr$ LD_LIBRARY_PATH=lib64/ sudo
bin/cpupower help monitor
[sudo] password for hedin:
bin/cpupower: error while loading shared libraries: libcpupower.so.1:
cannot open shared object file: No such file or directory

As you can see we can use MANPATH for correct help invocation, unless
we call it with 'sudo'. I can guess that it simply
inherits the environment variables from the root shell that contains
no 'MANPATH' variable set with an ordinary user.

Worth mentioning this in an appropriate manpage?

>
> >
> > thanks,
> > -- Shuah
> >
>
>
> --
> Kind regards,
> Roman Storozhenko



-- 
Kind regards,
Roman Storozhenko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ