[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [coldsync-hackers] Perl



On Thu, Mar 07, 2002 at 11:42:41AM -0800, Rob Bloodgood wrote:
> > On Thu, Mar 07, 2002 at 02:53:12PM -0500, Daniel Lemire wrote:
> > > I "made" coldsync from very latest version. However, somehow, coldsync
> > > installs ColdSync.pm and other files in
> > > /usr/local/lib/site_perl/5.6.0/ColdSync.pm
> > >
> > > This is wrong!
> >
> > 	Perl under Redhat is broken: it wants to put locally-installed
> > modules in /usr, instead of /usr/local . This violates a hidden
> > assumption in the ColdSync Makefiles: that the Perl stuff goes in a
> > subdirectory of ${PREFIX}.
> 
> It's not broken, it's installed from a different point of view.

	According to
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/ref-guide/s1-filesystem-fhs.html

	The /usr/local Directory

	The FHS says: 

	"The /usr/local hierarchy is for use by the system
	administrator when installing software locally. It needs to be
	safe from being overwritten when the system software is
	updated.

IOW, AIUI, if it didn't come from the vendor, it goes in /usr/local.

> perl will happily tell you what its prefix is
> 
> perl -MConfig -e 'print $Config{prefix}'
> 
> which can be used on any configline.

	That tells you where the Perl distribution is installed. You
want
	sitearch
	sitearchexp
	installsitearch
	sitelib
	sitelibexp
	installsitelib

which tell you where local additions go.

	If anyone has a solution to suggest, I'm all ears, but here's
the scope of the problem:

	- The ColdSync distribution really consists of two packages:
	  ColdSync, and the ColdSync Perl modules.
	- When you 'make install', everything should go under
	  ${PREFIX}. One approach to package management is to install
	  packages in their own subdirectories. Thus, if some package
	  'foopkg' allowed me to specify prefix=/opt/foopkg, and 'make
	  install' touched something outside of /opt/foopkg, I'd go
	  after the author with a blunt instrument.
	- It is desirable to be able to install everything in a single
	  directory, so that it can then be tarred up and installed
	  someplace else.
	- It is very desirable to configure with one value of
	  ${PREFIX} and install with a different value. This allows
	  you to build with prefix=/opt/coldsync, but install in
	  /tmp/coldsync-dist . But wen you run
	  /tmp/coldsync-dist/bin/coldsync, it'll look for config files
	  in /opt/coldsync .

-- 
Andrew Arensburger                      This message *does* represent the
arensb@ooblick.com                      views of ooblick.com
       Please continue the pettifoggery. I find it fascinating.

-- 
This message was sent through the coldsync-hackers mailing list.  To remove
yourself from this mailing list, send a message to majordomo@thedotin.net
with the words "unsubscribe coldsync-hackers" in the message body.  For more
information on Coldsync, send mail to coldsync-hackers-owner@thedotin.net.