f



"perl" vs "site" vs "vendor"




I've been using Perl for years, but I must confess I have *no idea*
what the ExtUtils::MakeMaker documentation means by the terms
"perl", "site", and "vendor" in the table

                                  INSTALLDIRS set to
                            perl        site          vendor

                  PERLPREFIX      SITEPREFIX          VENDORPREFIX
   INST_ARCHLIB   INSTALLARCHLIB  INSTALLSITEARCH     INSTALLVENDORARCH
   INST_LIB       INSTALLPRIVLIB  INSTALLSITELIB      INSTALLVENDORLIB
   etc., etc.

(Infuriatingly enough, this POD doesn't deign to define these
terms for the great unwashed.) 

I have searched for what these terms ("perl"/"site"/"vendor") mean
in this context, but the definitions I've found have been, to me
at least, as clear as mud...

I think it would help me more to see some *concrete examples* of
the kinds of modules that correspond to each of the three terms.

In particular I would like to know which (if any) of these three
categories is the one for modules that are written in-house.

Thanks!

kj

-- 
NOTE: In my address everything before the first period is backwards;
and the last period, and everything after it, should be discarded.
0
kj
5/21/2006 9:19:31 PM
comp.lang.perl.misc 33233 articles. 2 followers. brian (1246) is leader. Post Follow

5 Replies
779 Views

Similar Articles

[PageSpeed] 7

Quoth kj <socyl@987jk.com.invalid>:
> 
> I've been using Perl for years, but I must confess I have *no idea*
> what the ExtUtils::MakeMaker documentation means by the terms
> "perl", "site", and "vendor" in the table
> 
>                                   INSTALLDIRS set to
>                             perl        site          vendor
> 
>                   PERLPREFIX      SITEPREFIX          VENDORPREFIX
>    INST_ARCHLIB   INSTALLARCHLIB  INSTALLSITEARCH     INSTALLVENDORARCH
>    INST_LIB       INSTALLPRIVLIB  INSTALLSITELIB      INSTALLVENDORLIB
>    etc., etc.
> 
> (Infuriatingly enough, this POD doesn't deign to define these
> terms for the great unwashed.) 
> 
> I have searched for what these terms ("perl"/"site"/"vendor") mean
> in this context, but the definitions I've found have been, to me
> at least, as clear as mud...
> 
> I think it would help me more to see some *concrete examples* of
> the kinds of modules that correspond to each of the three terms.

My copy of perl was installed by my linux distro (Gentoo). Modules that
came with perl (e.g. Storable) are under PERLPREFIX, which in my case is
/usr/lib/perl5/5.8.7. Modules I installed using Portage (Gentoo's
package manager) are installed under VENDORPREFIX, which is
/usr/lib/perl5/vendor_perl/5.8.7. Modules I installed myself using
CPAN.pm (or otherwise) are installed under SITEPREFIX, which is
/usr/lib/perl5/site_perl/5.8.7.

> In particular I would like to know which (if any) of these three
> categories is the one for modules that are written in-house.

Site, unless you package it up into something your vendor's package
manager can install for you, when it will (or should) put it under
Vendor.

Ben

-- 
I've seen things you people wouldn't believe: attack ships on fire off
the shoulder of Orion; I watched C-beams glitter in the dark near the
Tannhauser Gate. All these moments will be lost, in time, like tears in rain.
Time to die.                                            benmorrow@tiscali.co.uk
0
Ben
5/21/2006 10:55:42 PM
kj wrote:
> I've been using Perl for years, but I must confess I have *no idea*
> what the ExtUtils::MakeMaker documentation means by the terms
> "perl", "site", and "vendor" in the table
> 
>                                   INSTALLDIRS set to
>                             perl        site          vendor
> 
>                   PERLPREFIX      SITEPREFIX          VENDORPREFIX
>    INST_ARCHLIB   INSTALLARCHLIB  INSTALLSITEARCH     INSTALLVENDORARCH
>    INST_LIB       INSTALLPRIVLIB  INSTALLSITELIB      INSTALLVENDORLIB
>    etc., etc.
> 
> (Infuriatingly enough, this POD doesn't deign to define these
> terms for the great unwashed.) 
> 
> I have searched for what these terms ("perl"/"site"/"vendor") mean
> in this context, but the definitions I've found have been, to me
> at least, as clear as mud...

perl is for the perl core installation.

vendor is for optional modules provided by the vendor (e.g., the Linux
distribution).

site is any additional modules installed by the site's sysadmin (either
from CPAN or developed in-house).


> I think it would help me more to see some *concrete examples* of
> the kinds of modules that correspond to each of the three terms.

It's not about the kinds of modules, it is about their source. Most Unix
and Linux systems have a packaging system which keeps track of which
package contains which files, and it's not a good idea to randomly
overwrite or delete files installed by the package manager. The
MakeMaker directory scheme keeps them in different directories, so that
modules you install via CPAN don't clash with modules installed via your
systems package management.

> In particular I would like to know which (if any) of these three
> categories is the one for modules that are written in-house.

site.

(That's also what MakeMaker uses unless you tell it otherwise)

        hp

-- 
   _  | Peter J. Holzer    | Man könnte sich [die Diskussion] auch
|_|_) | Sysadmin WSR/LUGA  | sparen, wenn man sie sich einfach sparen
| |   | hjp@hjp.at         | würde.
__/   | http://www.hjp.at/ |   -- Ralph Angenendt in dang 2006-04-15
0
Peter
5/21/2006 10:59:24 PM
[A complimentary Cc of this posting was NOT [per weedlist] sent to
Peter J. Holzer
<hjp-usenet2@hjp.at>], who wrote in article <ccrq4e.uei.ln@teal.hjp.at>:
> > I think it would help me more to see some *concrete examples* of
> > the kinds of modules that correspond to each of the three terms.
> 
> It's not about the kinds of modules, it is about their source.

My personal mental model is that it is about who *administers* the
installed versions.  And one more category is missing - user (see the
recent thread on c.l.p.moderated).

Hope this helps,
Ilya
0
Ilya
5/22/2006 7:22:20 AM
Ilya Zakharevich wrote:
> <hjp-usenet2@hjp.at>], who wrote in article <ccrq4e.uei.ln@teal.hjp.at>:
>> > I think it would help me more to see some *concrete examples* of
>> > the kinds of modules that correspond to each of the three terms.
>> 
>> It's not about the kinds of modules, it is about their source.
> 
> My personal mental model is that it is about who *administers* the
> installed versions.

Yes, that's better. "Source" is a bit misleading.

        hp

-- 
   _  | Peter J. Holzer    | Man könnte sich [die Diskussion] auch
|_|_) | Sysadmin WSR/LUGA  | sparen, wenn man sie sich einfach sparen
| |   | hjp@hjp.at         | würde.
__/   | http://www.hjp.at/ |   -- Ralph Angenendt in dang 2006-04-15
0
Peter
5/22/2006 11:07:50 PM
Ilya Zakharevich wrote:
 >
>> It's not about the kinds of modules, it is about their source.
> 
> My personal mental model is that it is about who *administers* the
> installed versions.  And one more category is missing - user (see the
> recent thread on c.l.p.moderated).

    I agree.  It's not about their source, it's about their destination.

    Core modules are set to install to "perl" by default (even when you 
download updates from CPAN).

    Other CPAN modules install to "site" by default.

    Modules written/supplied by vendors install to "vendor".

    But you can install any CPAN module anywhere you want, provided you have 
the rights to put the files there.

-- 
              Just because I've written it doesn't mean that
                   either you or I have to believe it.
0
Big
5/27/2006 7:33:50 PM
Reply: