Subject: | Suggestion: Drop support for legacy File::ShareDir's |
The way FileShareDir works is that in the event a user accidentally fails to provide some kind of "File::ShareDir::Install" instruction to Makefile.PL/Build.PL, their installed dist will still falsely believe that the dist has a "working" share dir.
Its just confusingly empty, albeit for the packlist.
For instance, if you take a distribution known not to have any files installed in the sharedir, File::ShareDir still returns a "valid" sharedir.
perl -MFile::ShareDir=dist_dir -wE 'say dist_dir(q{Package-Stash})'
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash
perl -MPath::Tiny -MFile::ShareDir=dist_dir -wE 'say for path(dist_dir(q{Package-Stash}))->children'
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash/.packlist
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash/XS
Eliminating the _dist_dir_old mechansim would mean that instead of Dists being confused about where their files are, would instead be told "there is no dist dir" , which makes it more obvious that they've broken their install chain.
Its just confusingly empty, albeit for the packlist.
For instance, if you take a distribution known not to have any files installed in the sharedir, File::ShareDir still returns a "valid" sharedir.
perl -MFile::ShareDir=dist_dir -wE 'say dist_dir(q{Package-Stash})'
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash
perl -MPath::Tiny -MFile::ShareDir=dist_dir -wE 'say for path(dist_dir(q{Package-Stash}))->children'
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash/.packlist
/home/kent/perl5/perlbrew/perls/perl-5.18.0/lib/site_perl/5.18.0/x86_64-linux/auto/Package/Stash/XS
Eliminating the _dist_dir_old mechansim would mean that instead of Dists being confused about where their files are, would instead be told "there is no dist dir" , which makes it more obvious that they've broken their install chain.