Re: man(1) oddity - was: HEADS UP: bzip2(1) compression for manpages...

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Mon, 19 May 2003 18:03:34 +0300
On Tue, May 20, 2003 at 12:48:06AM +1000, Andy Farkas wrote:
> On Mon, 19 May 2003, Ruslan Ermilov wrote:
> > On Mon, May 19, 2003 at 10:52:30PM +1000, Andy Farkas wrote:
> > > On Mon, 19 May 2003, Ruslan Ermilov wrote:
> > > > On Mon, May 19, 2003 at 10:21:58PM +1000, Andy Farkas wrote:
> > > > >
> > > > > Please realise what I've been trying to tell you: there is a difference in
> > > > > the user experience when one types `man ppp` on a 4.8 box and when one
> > > > > types `man ppp` on a 5.1-B box.  On a 4.8 box the user types `man ppp`,
> > > > > gets a message, then waits around 10 seconds for the page to display. On a
> > > > > 5.1-B box the user types `man ppp` and DOES NOT GET A MESSAGE BUT HAS TO
> > > > > WAIT 10 SECONDS before the page is displayed.
> 
> I can not explain the above any better.
> 
> > I DO understand what you're trying to tell me, I'm just trying to
> > stand you corrected.  ;)
> 
> Correct what?
> 
Your understanding of how man(1) works, and when it should display
this message, and when not.

> As I see it, when a (normal) user is migrated from a 4.8
> box to a 5.1-B box, their man(1) experience is different, so much so that
> it causes major "A". (<-- POLA). (<--because previously a normal user got
> a message telling them to wait 10 secs, but with -cur no message appears
> but you still wait 10 seconds before something happens)
> 
Because it should not be displayed in this case.  "Formatting
manual page, please wait..." means: "hold on, I will format
the whole manpage now, and only then display it to you".

Which is clearly not the case with 5.1.  When you don't see a
message (like in 5.1), it means that man(1) already launched
the ${PAGER}, and the latter is ready to display the output.
How much time does it take is machine-specific, but the
displaying code has already been launched, hence no message.

> > Facts:
> >
> > 1.  When catpage is not created, the message is not displayed,
> >     purposedly, either on 4.x or 5.x, under root or non-root,
> >     doesn't matter.  The message is only displayed the first
> >     time the catpage is created.
> >
> > 2.  A catpage is always created for a root user.
> >
> > 3.  A catpage (for a system manpage) is only created for a
> >     non-root user if man(1) is setuid "man".
> >
> > The facts are true for both 4.x and 5.x.
> 
> Arrghh. Why you not believe me when I have proved the user experience is
> different between 4.x and 5.x ?????
> 
I believe in what you're saying that you have to wait, but
I'm trying to convince you that displaying this same message
in this case would be wrong.

> Facts:
> 
> 1. A Normal user on a 4.x box types `man ppp` and is instantly told
> "Formatting page, please wait..." and then 10 seconds later is presented
> with the man page.
> 
Not necessarily.  On a slow machine with preformatted catpages,
the user does not have to wait at all.  But for the typical case,
the answer is YES.

> 2. A Super user on a 4.x box types `man ppp` and is instantly told
> "Formatting page, please wait..." and then 10 seconds later is presented
> with the man page.
> 
Ditto.  But realize that "normal user" == "man user" on 4.x due to
man(1) being set-uid man here.

> 3. A Normal user on a 5.x box types `man ppp` and NOTHING HAPPENS until 10
> seconds later when the man page is presented.
> 
Maybe, maybe not, depends on environment.  For the default environment
the answer is YES.  But in this case, the user doesn't have to wait
until the whole manpage gets formatted, hence no message.

> 4. a Super user on a 5.x box types `man ppp` and is instantly told
> "Formatting page, please wait..." and then 10 seconds later is presented
> with the man page.
> 
This is because the manpage first gets formatted in its whole, and
only then presented to the user.  It should take much longer than
10 seconds on your box then (if you wait 10 seconds for a normal
"man ppp", not redirected).

> Please study hard 1. and 3.
> 
I know this is different, I'm just trying to explain why it is so.

> > If you remove the -DSETREUID bit from src/gnu/usr.bin/man/man/Makefile
> > in 4.x, you won't get the message there too.
> 
> As a normal user, I *WANT* the message!!!!!
> 
Then apply my patch, and re-compile man with WANT_SETUID_MAN.

> > So, to brought the message back in 5.x, we'd have to re-
> > enable the setuid code in man(1), which we're not ready
> > to yet.  Got it?
> 
> Perhaps we are seeing the same thing from different perspectives...
> 
Seems so.

> > If catpages aren't created, my timings are as follows on
> > a 500MHz Celeron box:
> >
> > $ /usr/bin/time -h man ppp >/dev/null
> >         4,20s real              4,07s user              0,09s sys
> >
> > But if I just type "man ppp", I'm presented with the first
> > page of output in about 1 second, so I roughly "don't have
> > to wait when the whole manpage gets formatted".  How much
> > seconds does it take for some text to appear on a terminal
> > attached to your slow box in this case?
> 
> I showed you timings before. My experience (as a normal user) differs from
> yours. Whenever I type `man $manpage_not_viewed_by_root_before` it does
> NOT present me "with the first page of output in about 1 second".
> 
So this only means that you have a slower box in question,
nothing more.  It does not mean that you have to wait until
the whole manpage gets formatted.


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software AG,
ru_at_FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

Received on Mon May 19 2003 - 06:03:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:08 UTC