On Friday 27 February 2009 20:05:01 Eric Wilhelm wrote: > # from Shlomi Fish > > # on Friday 27 February 2009 06:42: > > extradata_files => > > { > > map { $_ => $_ } @extradata_files, > > }, > > map {$_ => "lib/XML-Grammar-Products-Syndication/data/$_"} ... > ... > $build->add_build_element('extradata'); > > I think that would do everything you want. >
The problem is that the files are now installed under a good location, but I don't know how to tell ConfigData where they are. I ended up with the following code in Build.PL: {{{{{{{{{{{{{{{{{{ use strict; use warnings; use File::Spec; use lib File::Spec->catdir(File::Spec->curdir(), "inc"); use Test::Run::Builder; use File::Find; sub data_inc { return "/usr/share/perl5/data/modules/XML-Grammar-Products- Syndication/data"; } my @extradata_files; sub filter_files { my $filename = $File::Find::name; if ((-f $filename) && ($filename =~ /\.(?:mod|xslt|dtd|ent|cat|jpg| xcf\.bz2)$/)) { push @extradata_files, $filename; } } find({ wanted => \&filter_files, no_chdir => 1}, "extradata"); sub get_dest_extradata_file { my $fn = shift; $fn =~ s{^extradata}{data}; return "lib/XML-Grammar-ProductsSyndication/$fn"; } my $builder = Test::Run::Builder->new( module_name => 'XML::Grammar::ProductsSyndication', license => 'bsd', dist_author => 'Shlomi Fish <shlo...@cpan.org>', dist_version_from => 'lib/XML/Grammar/ProductsSyndication.pm', build_requires => { 'Test::More' => 0, 'Test::XML' => 0, 'XML::LibXML' => 0, 'XML::LibXSLT' => 0, 'Class::Accessor' => 0, 'XML::Amazon' => 0, 'LWP::UserAgent' => 0, 'Imager' => 0, }, add_to_cleanup => [ 'XML::Grammar::ProductsSyndication-*' ], create_makefile_pl => 'passthrough', extradata_files => { (map { $_ => get_dest_extradata_file($_) } @extradata_files) }, ); $builder->add_build_element('extradata'); $builder->config_data( 'extradata_install_path' => [ File::Spec->catdir( $builder->install_destination('extradata'), qw(XML-Grammar-ProductsSyndication data), ) ] ); $builder->create_build_script(); }}}}}}}}}}}}}}}}}} However, I'm getting in /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML/Grammar/ProductsSy ndication/ConfigData.pm , the following: {{{{{{{{{ __DATA__ do{ my $x = [ { 'templates_install_path' => [ '/usr/share/perl5/data/modules/XML-Grammar-Products-Syndication/data' ], 'extradata_install_path' => [ '/home/shlomi/apps/perl/modules/home/shlomi/apps/perl/modules/XML-Grammar- ProductsSyndication/data' ] }, {}, {} ]; $x; } }}}}}}}}} See the double prefix and the completely-off install path. ./Build install reports: {{{{{{{{{{{{{{{ Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML/Grammar/ProductsSyndication.pm (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML/Grammar/ProductsSyndication/ConfigData.pm (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml.cat (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-frames-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-legacy-redecl-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/na-cover.jpg (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-image-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-symbol.ent (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-text-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-hypertext-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-qname-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-form-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-bdo-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-base-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-blkpres-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-inlpres-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-arch-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-datatypes-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/na-cover.xcf.bz2 (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-lat1.ent (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-struct-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-csismap-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-inlphras-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-pres-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-notations-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-style-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-link-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-list-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-special.ent (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-edit-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-events-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/myml-model-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-iframe-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-attribs-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-script-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-charent-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-legacy-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-object-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/myml-qname-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-blkstruct-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-blkphras-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-meta-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-table-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-inlstruct-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/product-syndication.xslt (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-param-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/myml-elements-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/xhtml-applet-1.mod (unchanged) Skipping /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/XML- Grammar-ProductsSyndication/data/product-syndication.dtd (unchanged) Skipping /home/shlomi/apps/perl/modules/local/share/man/man3/XML::Grammar::ProductsSyndication::ConfigData.3pm (unchanged) Skipping /home/shlomi/apps/perl/modules/local/share/man/man3/XML::Grammar::ProductsSyndication.3pm (unchanged) Writing /home/shlomi/apps/perl/modules/lib/perl5/site_perl/5.10.0/i386-linux- thread-multi/auto/XML/Grammar/ProductsSyndication/.packlist }}}}}}}}}}}}}}} How can I determine the installation path of the extradata build element? You can find the code here: http://xrl.us/beh5x3 This issue affects the installation-capability of all my XML::Grammar:: modules, and it blocks me in a project, so I'd appreciate any leads. Regards, Shlomi Fish -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ My Aphorisms - http://www.shlomifish.org/humour.html <mauke> I'm not interested in what you're doing; what are you trying to achieve? <PerlJam> mauke: I'm trying to achieve world peace and this regex is the last thing standing in my way! ;)