<URL: https://rt.cpan.org/Ticket/Display.html?id=41166 >
On Sun Nov 23 16:18:50 2008, nt...@iki.fi wrote: > http://bazaar.launchpad.net/~pardus-cpan/zim/trunk/files > > has this: > > my $sets = $$build{properties}{install_sets}; > for my $dirs (values %$sets) { > my @dirs = File::Spec->splitdir($$dirs{bin}); > pop @dirs; # loose 'bin' > $$dirs{share} = File::Spec->catdir(@dirs, 'share'); > } > > This breaks with Module::Build 0.30, because modifying the > install_sets property isn't preserved anymore to the Build phase. > Module::Build::Base::resume() now explicitly resets install_sets by > calling the _set_install_paths() method. > > Please let us know if this should be considered a bug in Module::Build > 0.30 or Zim itself. Hi Niko, I think that code is out-of-bounds by modifying the install_sets element directly. It would possibly be less breakable if it were done local() in one of the overridden methods, but probably Module::Build should offer some "official" 'share' directory as part of the API. That does, however, raise the issue of whether it behaves ala File::ShareDir or not. Schwern: does this call to $self->_set_install_paths in resume() have to happen only because it has not yet been set via some other entry point? If so, we could probably find somewhere else from which to call it or simply let it return if the key is already set. Thanks, Eric