Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Accessing the net during module installation

by PodMaster (Abbot)
on Dec 29, 2004 at 10:46 UTC ( [id://417963]=note: print w/replies, xml ) Need Help??


in reply to Accessing the net during module installation

Should any of the module installation processes access web sites or anything else outside the machine ?
Sometimes (depends on the purpose of the module).
If yes, is that OK to do that without asking the user first?
No! Asking the user doesn't cost you anything, but not asking can cost you (your reputation, ...).

What is apparently somewhat acceptable is trying to ascertain if the user is connected to the internet (like in http://search.cpan.org/src/GAAS/libwww-perl-5.803/Makefile.PL) before prompting the user (using ExtUtils::MakeMaker's prompt function, the official way to prompt in cpan distributions) by trying to connect to say google.com.

I say somewhat because a few distributions currently do it and its mostly harmless. I however strongly feel that this testing for an internet connection is best done inside each test file, only if the user first agreed to these tests after being prompted (during Makefile.PL).

I also strongly feel that the default when prompting for this should always no, because of the way the prompt function works (if its not an interactive session, which can often be the case, the default is taken to be the answer).

What is absolutely unacceptable is what DOMIZIO used to do (as described here), which basically was eval get "http://his.machine/secret.url" without any prompting whatsoever.

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re^2: Accessing the net during module installation
by BravoTwoZero (Scribe) on Dec 29, 2004 at 14:58 UTC

    I can't agree more that prompting costs nothing. Setting the intrusive/secret nature of the eval statement aside for a moment, it's annoying as all get out for an installation to assume that a successful eval get "http://www.google.com" means that my non-port 80 connections work as well. I've always appreciated the prompt in the CPAN first-time config that asks you for a wait server while mentioning that you may not be able to contact it. When I started using CPAN, I didn't know a wait server from Adam's housecat. At least, I knew that contacting one might not be successful.

    --

    Amatuers discuss tactics. Professionals discuss logistics. And... my cat's breath smells like cat food.

      Pray enlighten us, WTF is a wait server anyway? Ive always wondered but never quite got around to looking into it.

      ---
      demerphq

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://417963]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2024-03-29 00:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found