Skip Menu |

This queue is for tickets about the App-FatPacker CPAN distribution.

Report information
The Basics
Id: 84721
Status: new
Priority: 0/
Queue: App-FatPacker

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: (no value)



Subject: new feature: avoid packing dual-lifed modules when not necessary
12:59 < ether> why does App::FatPacker insist on packing dual-lifed modules, if I haven't specified a minimum version? 13:00 < ether> e.g. I'm getting File::Spec (and all the OS variants) included, which adds a huge amount of bloat 13:00 <@mst> because you installed the dual lifed module into your site_perl 13:00 < ether> it's *in core*, I don't need it fatpacked 13:00 <@mst> so that's the version your code is running against 13:00 < ether> ah so it doesn't even see that it's also in core, it just sees "you require File::Spec, and it's in your site_perl, therefore I'll pack it" 13:01 <@mst> right. it packs "the things that you are actually loading from site dirs" 13:01 < ether> I can manually prune it of course, which I'm doing, but I'd like it to be smarter 13:01 <@mst> this is not clever, but it's very predictable 13:01 < ether> maybe that could be achieved with a commandline option 13:01 < ether> "don't take things that are also in core unless you require a version greater than what core provides"
Here are some breadcrumbs: 13:06 < haarg> ether: not entirely generalized, but https://github.com/haarg/App-bcssh/blob/master/maint/pack 13:06 <+dipsy> [ App-bcssh/maint/pack at master � haarg/App-bcssh � GitHub ] 13:07 < haarg> i implemented that, so it avoids packing core modules (from a given version of perl) unless the meta file declares a greater version
15:58 <@miyagawa> ether: https://github.com/miyagawa/cpanminus/blob/devel/maint/upgrade-fatlib.pl 15:58 <+dipsy> [ cpanminus/maint/upgrade-fatlib.pl at devel � miyagawa/cpanminus � GitHub ] 15:59 <@miyagawa> i do that too re: exclude core modules 15:59 <@miyagawa> also because lots of modules are lazy loaded i don't use the trace command rather i use silly regexp to find use/require lines