Module::Build now has --prefix

schwern on 2005-06-21T23:38:02

I just checked in the finishing touches on --prefix support for Module::Build. Module::Build 0.27_02 will have "perl Build.PL --prefix=..." to mirror "perl Makefile.PL PREFIX=...". More importantly, Module::Build's generated Makefile.PLs can finally emulate PREFIX.

IS EVERYBODY HAPPY NOW?!

EDIT:I forgot to mention that it was Rob Kinyon who took first stab at the --prefix patch and got me off my ass to finish it off. Everybody say "thank you, Rob".

This feature was auctioned off at OSCON 2004 and I wish I had the names of the folks who ponied up. Bill Odom probably has them, I'll see if I can get them from him.

EDIT: Bill came through with the names:

    $90.00 - Tim Bunce
    $20.00 - Curtis Poe
    $10.00 - Unknown (I think it was someone from ActiveState)

Also Module::Build 0.27_XX fixes its --install_base locations. MakeMaker has an INSTALLBASE (or INSTALL_BASE, haven't decided) which matches what 0.27 does, not 0.26. So once Module::Build 0.28 is released I'll release a new version of MakeMaker that documents INSTALLBASE. Then, finally, you can install MakeMaker and Module::Build based modules using the same method. I strongly encourage the use of installbase over the fundamentally broken prefix.


Thanks!

kelan on 2005-06-22T00:27:18

Thanks, schwern!

Actually, I've never used PREFIX, so this doesn't really impact me. But I do understand the frustration that can arise from constant grumbling. At least you'll be able to get those people off your back now.

Thank you!

Adrian on 2005-06-22T01:00:21

Not that I want it of course, but it'll stop the damn pointless arguments.

Actually, the pessimist in me says it won't - but y'have to hope.

s{/local/}{/} if $debian

grantm on 2005-06-22T02:02:32

slide009.html of your presentation suggests that Debian puts stuff under /usr/local. On my debian system things look like this:

prefix: /usr modules: /usr/share/perl5 programs: /usr/bin module docs: /usr/share/man/man1 program docs: /usr/share/man/man3

I think /usr/share/perl5 is only used for 'pure-Perl' modules. Architecture-specific ones go under /usr/lib/perl5

Re:s{/local/}{/} if $debian

schwern on 2005-06-22T21:17:38

You're looking at the installation locations for core modules. Most everything else goes into the "site" locations (installsitelib, installsitearch, etc...) which are under /usr/local as they should be since its a locally installed widget.

Responsible parties

wnodom on 2005-06-22T06:09:26

I'll see if I can dig up the names. No promises, though. Things got a little crazy near the end, what with you taking off your clothes and everything.

Re:Responsible parties

wnodom on 2005-06-22T15:47:13

Three people contributed, and I had two of their names. Check your e-mail.

happy

jbodoni on 2005-06-22T16:31:59

> IS EVERYBODY HAPPY NOW?!

OSHA says you can remove those handrails now...

John

Thanks

perrin on 2005-06-22T20:16:57

Thank you.

Thanks!

Shlomi Fish on 2005-10-25T17:01:03

Schwern: thanks a lot for this. This will eliminate one of the most common reasons for choosing not to use Module::Build. And thanks to all the other people who did that.

Thank you!

n1vux on 2005-10-25T19:44:01

Thanks to Schwern and the bounty bidders and Rob (for kickstart)

As someone who is rebuilding Perl and Modules for internal distribution but NOT installing to "the" master place, this should make my life somewhat easier.