Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 29225
Status: open
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: johntrammell [...] gmail.com
mschwern [...] cpan.org
Cc: JTRAMMELL [...] cpan.org
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 0.2806
Fixed in: (no value)



Subject: fakeinstall ignores values in .modulebuildrc
Command "make fakeinstall" reports that the module will be installed in site_perl; "make install" actually installs files correctly according to settings in .modulebuildrc, set with e.g. "install --install_path lib=/home/me/path/to/install".
On Fri Sep 07 14:10:46 2007, JTRAMMELL wrote: Show quoted text
> Command "make fakeinstall" reports that the module will be installed
in Show quoted text
> site_perl; "make install" actually installs files correctly
according to Show quoted text
> settings in .modulebuildrc, set with e.g. "install --install_path > lib=/home/me/path/to/install".
So, options for the fakeinstall target in ~/.modulebuildrc should be an error? The options are per-target. We can certainly special-case some of them, but that tends to lead to subtle bugs.
On Mon Oct 01 02:17:51 2007, EWILHELM wrote: Show quoted text
> So, options for the fakeinstall target in ~/.modulebuildrc should be > an error? The options are per-target. We can certainly special-case > some of them, but that tends to lead to subtle bugs.
According to the documentation: fakeinstall [version 0.02] This is just like the "install" action, but it won't actually do anything, it will just report what it would have done if you had actually run the "install" action. The fact is that "make fakeinstall" reports different values from what is actually done when "make install" is run. So either the documentation is in error or the code is. A few non-exclusive options make sense to me: (1) warn if, for some reason, fakeinstall and install would differ (2) don't permit fakeinstall options in .modulebuildrc (3) update the documentation to clarify the behavior I think it will be very common for users to have custom install paths in their .rc file. It makes sense to me that fakeinstall should handle this common case gracefully.
CC: module-build [...] perl.org
Subject: Re: [rt.cpan.org #29225] fakeinstall ignores "install" values in .modulebuildrc
Date: Mon, 1 Oct 2007 13:47:24 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Eric Wilhelm <scratchcomputing [...] gmail.com>
# from John J. Trammell via RT # on Monday 01 October 2007 13:24: Show quoted text
> Queue: Module-Build > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=29225 > > >On Mon Oct 01 02:17:51 2007, EWILHELM wrote:
>> So, options for the fakeinstall target in ~/.modulebuildrc should be >> an error? The options are per-target. We can certainly >> special-case some of them, but that tends to lead to subtle bugs.
> >According to the documentation: > > fakeinstall > [version 0.02] > This is just like the "install" action, but it won't actually do > anything, it will just report what it would have done if you had > actually run the "install" action.
Yes, but .modulebuildrc is documented to set switches "per action". Thus, the documentation is correct, albeit somewhat ambiguous (and the design or .modulebuildrc is somewhat non-optimal due to the currently simplistic "per action" treatment (which does what is it told -- not necessarily what is intended.) If you didn't set the switches on the "fakeinstall" target (or "*"), it won't look for them. Show quoted text
>A few non-exclusive options make sense to me: > (1) warn if, for some reason, fakeinstall and install would differ > (2) don't permit fakeinstall options in .modulebuildrc > (3) update the documentation to clarify the behavior
#2 would be a fine feature if you would like to send tests and a patch. At the moment, I'm just trying to tame the bug queue. Ultimately, it would be nice if the handling of .modulebuildrc never allowed strange things to happen, but that requires special treatment for certain keys (which closes some cases while opening others.) --Eric
CC: JTRAMMELL [...] cpan.org
Subject: What to do with "fakeinstall" options in .modulebuildrc?
29225 shows that "install" options in .modulebuildrc should apply to "fakeinstall". So what to do with "fakeinstall" options? 1) Do we warn about them? 2) Do we ignore them? 3) If we apply them, do we merge them with or completely overwrite the install options? I say that until someone comes up with a good reason why you'd want fakeinstall to behave differently from install, we warn about and ignore them. Also do this after 29225 is resolved and the fakeinstall action is working properly.
This is all the same issue so I've merged the tickets. My view is that "fakeinstall" is just a dry run of "install" and should use the "install" options. We can document that in "fakeinstall" and warn if fakeinstall shows up in .modulebuildrc. -- David