-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--fake and --pure #6
Comments
On Sun, Oct 27, 2013 at 05:18:03AM -0700, Leon Timmermans wrote:
Agreed - 'install' is the action; 'fake' and 'pure' are only modifiers to |
Here's my concern -- do we want to encourage per-action modifiers? Or do we want to push towards a model where everything gets set just in configuration and then actions are just actions? For CPAN clients, I see no practical point of fake install, so I don't know that we need that defined in the spec, though I think it's a useful thing. I find the term "pure" to be vague. And what if there are competing standards for post-installation information recording? Do we have to proliferate options to turn them on and off? David |
I'm not sure I understand what else you're proposing.
It is, but AFAIK in this context it means "Never modify/append files, only create/overwrite them". This is important in many packaging systems. This is functionality that is already used/needed today.
Hopefully not. |
Just playing around:
Instead of
I was thinking about the original mess of .modulebuildrc and "*". Do we want a system with lots of options and toggles? Particularly ones that are action-specific? Where clients have to be specific about which options get used when. For example, CPAN.pm has action-specific configuration options for M::B and EU:MM. Do we want more of that sort of thing, or more of a "configure-once" model, where all options are given to Build.PL and then actions do one and one only thing given those options. That would avoid potential conflicts between options given during configuration and options given later. Or conflicts between PERL_MB_OPTS and things set by cpan clients. The more places options can be set, the more potential there is for complexity, confusion or error. I'm not sure if it's really a big problem (we already have some of it). I'm not sure which model I prefer, really. But I want to get the question on the table for consideration. |
The current model supports both, and I see no need to change that (I suspect that boat has already sailed), but I do think it is a good idea to promote the former over the latter. |
It is probably reasonable (and not too messy) to store all the Build.PL
+1 |
Interesting to think about. The current .modulebuildrc and PERL_MB_OPT approach is that those just set command line options and any valid command line option is acceptable there. Thinking about "--pure" (or some better name) -- that is really a user-specific option that should apply to any install. It's not a separate "action" (because you can't force your CPAN client to run "./Build pureinstall" instead of "./Build install". |
Build settings are dist-specific, install settings are user-specific. |
On Tue, Oct 29, 2013 at 5:37 AM, Leon Timmermans
-Ken |
Module::Build currently has two extra install actions: fake_install and pure_install.
The former is of somewhat limited use IMO unless you're writing a build system, but ExtUtils::Install has explicit support for it in the form of the
dry_run
argument.The latter is more useful, as it guarantees that no perllocal is written. Currently in M::B, it's synonymous to install, though I'd like to change that in the future.
That said, this system is not scalable. Obviously, you can't combine fake and pure this way, and if we implement the install database we discussed in Lancaster this problem will only become worse.
Therefor, I propose we'll use flag arguments instead. e.g.
./Build install --fake --pure
. That way we'll have plenty of space to grow in the future.The text was updated successfully, but these errors were encountered: