ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@turbinal.org>
To: devel@altlinux.ru
Subject: [devel] Re: perl-5.8.0-alt0.4
Date: Mon, 21 Oct 2002 17:48:28 +0400
Message-ID: <20021021134828.GA9252@ungrund> (raw)
In-Reply-To: <20021021091336.GC31502@basalt.office.altlinux.ru>

On Mon, Oct 21, 2002 at 01:13:36PM +0400, Dmitry V. Levin wrote:
> > - make use of site/vendor distinction; additional perl packages 
> >   provided by %vendor must install in %vendor_privlib 
> >   (typical invocation: "perl Makefile.PL INSTALLDIRS=vendor");
> >   local installations must install in %site_privlib
> 
> Можно об этом поподробнее?

В новых версиях перла существует 3 группы каталогов для установки
модулей (см. ExtUtils::MakeMaker(3), INSTALL): perl, vendor, и site
(раньше существовали только perl и site).

- в каталоги группы perl устанавливаются bundled модули;
- в каталоги группы vendor устанавилваются модули, собранные вендором 
  (в рамках дистрибутива);
- каталоги группы site используются для локальных установок.

Таким образом, теперь мы можем предоставить пользователям полноценную
возможность самостоятельно устанавливать дополнительные модули
(например, с помощью CPAN interactive shell) в /usr/local, не нарушая
при этом целостность дистрибутива (/usr/lib).

У меня есть два вопроса:
1) может ли пакет создавать какие-либо каталоги в /usr/local?
2) что правильнее: /usr/local/perl5 или /usr/local/lib/perl5?


Цитирую INSTALL:

=item Directories for vendor-supplied add-on files

Lastly, if you are building a binary distribution of perl for
distribution, Configure can optionally set up the following directories
for you to use to distribute add-on modules.

    Configure variable	Default value
    $vendorprefix	(none)
    (The next ones are set only if vendorprefix is set.)
    $vendorbin		$vendorprefix/bin
    $vendorscript	$vendorprefix/bin
    $vendorlib		$vendorprefix/lib/perl5/vendor_perl/$version
    $vendorarch		$vendorprefix/lib/perl5/vendor_perl/$version/$archname
    $vendorman1		$vendorprefix/man/man1
    $vendorman3		$vendorprefix/man/man3
    $vendorhtml1	(none)
    $vendorhtml3	(none)

These are normally empty, but may be set as needed.  For example,
a vendor might choose the following settings:

	$prefix		/usr
	$siteprefix	/usr/local
	$vendorprefix	/usr

This would have the effect of setting the following:

	$bin		/usr/bin
	$scriptdir	/usr/bin
	$privlib	/usr/lib/perl5/$version
	$archlib 	/usr/lib/perl5/$version/$archname
	$man1dir	/usr/man/man1
	$man3dir	/usr/man/man3

	$sitebin	/usr/local/bin
	$sitescript	/usr/local/bin
	$sitelib	/usr/local/lib/perl5/site_perl/$version
	$sitearch	/usr/local/lib/perl5/site_perl/$version/$archname
	$siteman1	/usr/local/man/man1
	$siteman3	/usr/local/man/man3

	$vendorbin	/usr/bin
	$vendorscript	/usr/bin
	$vendorlib	/usr/lib/perl5/vendor_perl/$version
	$vendorarch	/usr/lib/perl5/vendor_perl/$version/$archname
	$vendorman1	/usr/man/man1
	$vendorman3	/usr/man/man3

Note how in this example, the vendor-supplied directories are in the
/usr hierarchy, while the directories reserved for the end-user are in
the /usr/local hierarchy.

The entire installed library hierarchy is installed in locations with
version numbers, keeping the installations of different versions distinct.
However, later installations of Perl can still be configured to search the
installed libraries corresponding to compatible earlier versions.
See L<"Coexistence with earlier versions of perl5"> below for more details
on how Perl can be made to search older version directories.

Of course you may use these directories however you see fit.  For
example, you may wish to use $siteprefix for site-specific files that
are stored locally on your own disk and use $vendorprefix for
site-specific files that are stored elsewhere on your organization's
network.  One way to do that would be something like

	sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl

=



  reply	other threads:[~2002-10-21 13:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-21  5:54 [devel] perl-5.8.0-alt0.4 at
2002-10-21  9:13 ` Dmitry V. Levin
2002-10-21 13:48   ` Alexey Tourbin [this message]
2002-10-21 14:25     ` [devel] perl-5.8.0-alt0.4 Alexey Tourbin
2002-10-21 14:34       ` Dmitry V. Levin
2002-10-21 14:39     ` Dmitry V. Levin
2002-10-21 16:25       ` Alexey Tourbin
2002-10-22  2:36       ` [devel] Re: fhs at
2002-10-22  8:34         ` Dmitry V. Levin
2002-10-23  5:41           ` at
2002-10-23  9:05             ` Dmitry V. Levin
2002-10-21 22:56 ` [devel] Re: perl-5.8.0-alt0.4 Mikhail Zabaluev
2002-10-21 23:05   ` at
2002-10-22 21:35     ` Mikhail Zabaluev
2002-10-23  0:06       ` at

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021021134828.GA9252@ungrund \
    --to=at@turbinal.org \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git