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

Re: INSTALLPRIVLIB should be /usr/lib/perl5



Le Wed, Jul 14, 1999 at 05:12:56PM -0400, Roderick Schertler écrivait:
> The problem isn't the amount of work it takes to add one line to a rules
> file, it's that there's one more thing which has to be done for every
> module, and one more thing which can be done wrong.  There's a choice
> between making this change once (when the Perl package is built) and
> making it dozens of times (when the module packages are built).

All packages does already have to be corrected in order to follow the
new perl policy. This is a one-time change. You won't have to do it
more than one time.

> I think it'd be useful to take this a step further.  Right now at a
> minimum a rules file has to say
> 
>     $(MAKE) \
> 	    PREFIX=$(prefix)/usr \
> 	    INSTALLPRIVLIB=$(prefix)/usr/lib/perl5 \
> 	    INSTALLMAN1DIR=$(prefix)/usr/man/man1 \
> 	    INSTALLMAN3DIR=$(prefix)/usr/man/man3 \
> 	pure_perl_install

That's not enough for a binary perl module. Furthermore using PREFIX can
have some strange results when used in conjunction with complete path
given to INSTALL*DIR.

The recommended way of doing is described in the perl policy. You really
can't do it wrong if you're paying attention to what you do.

> in order to do the right thing with all modules.  That's too much
> boilerplate.  I suggest it would be useful to have a way to, say, pass
> an extra arg on the Makefile.PL line which would take care of most of
> this, perhaps leaving only the prefix to bet set in the rules file.

Using the prefix only is NOT enough. Otherwise do you really think we
would have used explicit INSTALLMAN1DIR for ages ?

> In a similar vein, the Perl policy suggests you compile with
> 
>     make CFLAGS="-O2 -g -Wall"

This is from debian-policy ...

> That should also not be necessary, the defaults should be whatever is
> correct.

The perl policy is not a law. You respect it or not. You do whatever
you want with your packages ...

> I don't follow you here.  Could you elaborate?  Where is this calculation
> happening?

Somewhere in the ExtUtils module. I don't know exactly where but I ran
into trouble one day because of this.

If you set only INSTALLPRIVLIB without setting INSTALLARCHLIB on the
command line, the resulting INSTALLARCHLIB will be
$INSTALLPRIVLIB/$arch-linux ...

Concerning changing Config.pm, Darren will do whatever he thinks
it's the best. It really doesn't matter as the official way of building
perl module is to explicitely specify where things get installed. This
way you /always/ know what happens.

BTW, with the FHS beeing officially adopted, one day I'll have to change
the INSTALLMANXDIR to point to /usr/share/man/manX ...

Cheers,
-- 
Hertzog Raphaël >> 0C4CABF1 >> http://prope.insa-lyon.fr/~rhertzog/


Reply to: