andk / cpanpm

CPAN.pm
88 stars 79 forks source link

WISHLIST: A module/distro killfile feature #106

Open briandfoy opened 7 years ago

briandfoy commented 7 years ago

I've often wanted to have a CPAN.pm kill file of things not to install. If CPAN.pm encountered one of these as a requested module or a dependency, it would fail completely and stop the process. So here's a wishlist item. (no github issue labels?)

I mostly wanted one because some customers have local policies that forbid certain things.

But, there are also weird modules like Net::FullAuto that try to make a module installer / uninstaller in their Makefile.PL.

It's easy for cpan(1) to kill modules named on the command line (although that wouldn't kill distros that contain the module), but it's the sneaky dependencies that matter more.

The secondary problem is getting half way through an install and stopping, but CPAN.pm already does that.

andk commented 7 years ago

On Fri, 13 Jan 2017 19:08:37 -0800, brian d foy notifications@github.com said:

I've often wanted to have a CPAN.pm kill file of things not to install. If CPAN.pm encountered one of these as a requested module or a dependency, it would fail completely and stop the process. So here's a wishlist item.

I mostly wanted one because some customers have local policies that forbid certain things.

But, there are also weird modules like Net::FullAuto that try to make a module installer / uninstaller in their Makefile.PL.

It's easy for cpan(1) to kill modules named on the command line (although that wouldn't kill distros that contain the module), but it's the sneaky dependencies that matter more.

The secondary problem is getting half way through an install and stopping, but CPAN.pm already does that.

Maybe I'm missing something but look at distroprefs/01.DISABLED.yml as an example of a killfile that actually governd my smokers for all the years. Is there anything left missing?

-- andreas

briandfoy commented 7 years ago

No, I'm missing that it's already a feature. I'll investigate later and see about a blog post for it, as well as adding docs to cpan(1).