Skip to content
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

Move scripts out of bin/ and script/ #22

Closed
dolmen opened this issue Apr 20, 2015 · 2 comments
Closed

Move scripts out of bin/ and script/ #22

dolmen opened this issue Apr 20, 2015 · 2 comments

Comments

@dolmen
Copy link

dolmen commented Apr 20, 2015

As you found out, installing PerlPowerTools with a CPAN client is dangerous.

But, anyway, the user might want to use those scripts by installing them in a CPAN client-managed path, and then selectively add some of them in his $ENV{PATH} using symlinks or shims.

So I propose to move all scripts from bin/ to lib/PerlPowerTools/. We could even add an utility script ppt-install that would allow the user to do the selective installation once the distribution is installed.

@dolmen
Copy link
Author

dolmen commented Apr 20, 2015

There is a drawback to this approach: ExtUtils::MakeMaker knows how to modify the shee-bang of files in bin/, but it will not touch files in lib/PerlPowerTools/. Which means the Makefile.PL will have to be improved to handle that.

@briandfoy
Copy link
Owner

I've changed how the programs are installed. If the user wants to do something fancy, which I think is going to be rare (no one has ever asked for it), they can do that very rare thing on their own. They don't need the CPAN installer.

I generally disfavor "might" sorts of features for hypothetical users.

I'm going to close this issue, but if you are interested in it still, fork the repo and implement your idea. We can see how that goes and if its better than what there is already. Something that requires changes in ExtUtils::MakeMaker is probably a non-starter. However, you don't have to store them under lib/ and still give up the shebang processing. You can install them into the same place as lib by fooling with MakeMaker variables. I tried that though, and finally gave up. Now I just set INSTALL_BASE for them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants