po4a-Bugs item #314392 was changed at 2013-09-10 10:15 by Denis Barbier
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=410622&aid=31...
Status: Open
Priority: 3
Submitted By: Renato Botelho (garga-guest)
Assigned to: Denis Barbier (barbier-guest)
Summary: Installation doesn't fully respect PREFIX
Category: None
Group: None
Resolution: None
Initial Comment:
I'm working to update po4a to 0.44 on FreeBSD ports tree, and I'm having issues
when I set prefix to something != /usr/local. It installs some files on the PREFIX I
defined and other files on /usr/local. I'm attaching a full buildlog so you can see
which files are installed on /tmp/po4a-0.44 prefix and which ones are installed on
/usr/local.
----------------------------------------------------------------------
Comment By: Denis Barbier (barbier-guest)
Date: 2013-09-10
10:15
Message:
After reading Module::Build sources, I believe that
my $mandir = $self->install_destination('bindoc');
may do the job, and it works here.
Justin, could you please check on your system?
----------------------------------------------------------------------
Comment By: Denis Barbier (barbier-guest)
Date: 2013-09-10 09:29
Message:
Justin, you are right, this is what I will implement.
However I would like to understand why there are such discrepancies, any hint is welcome.
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-10 02:14
Message:
I just had a thought
$self->install_map->{'blib/bindoc'};
works for you, but is undefined for me
$self->install_path()->{'bindoc'};
works for me, but is undefined for you
maybe you should set it to $self->install_map->{'blib/bindoc'}; if it's
undefined then set it to $self->install_path()->{'bindoc'}; and if it's
still undefined fall back to
$self->install_sets($self->installdirs)->{'bindoc'};
Not the most elegant but better then what is there currently I'd think.
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-10 02:09
Message:
Module::Build 0.40.07
Perl 5.12.4
I bet I know why I bet it's because I'm setting
--install_path bindoc=/sw/share/man/man1
destdir=/sw/src/fink.build/root-po4a-0.45-1
I haven't looked at the debian version but maybe it's not setting bindoc?
I'll login to my debian box and grab the source and check rules and see
----------------------------------------------------------------------
Comment By: Denis Barbier (barbier-guest)
Date: 2013-09-10 01:22
Message:
Hello,
Your version does not work here on my Debian box :(
With both Module::Build 0.38 and 0.4003, $mandir is then undefined.
Which version do you use?
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-10 00:31
Message:
of course with this method line 136 is no longer required but it doesn't hurt so I
left it in mine, again I hope it helps solve this report.
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-10 00:26
Message:
it seems that changing line 135 to
my $mandir = $self->install_path()->{'bindoc'};
seems to work for me. Maybe this will help others?
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-04 20:01
Message:
I used
perl -pi -e
's,install_sets[\(]\$self-(.)installdirs[\)]-.(\{)(.)bindoc.,install_map-\1\2\3blib/bindoc\3,g'
Po4aBuilder.pm
to patch before build which gives me
my $mandir = $self->install_map->{'blib/bindoc'};
on line 135 of Po4aBuilder.pm
but now I get these errors, that is the right line cause I had no /usr/local but it's
not not installed locales or intl man pages at all.
./Build install --install_path lib=/sw/lib/perl5 --install_path
arch=/sw/lib/perl5/darwin-thread-multi-2level --install_path script=/sw/bin --install_path
bin=/sw/bin --install_path bindoc=/sw/share/man/man1 --install_path
libdoc=/sw/share/man/man3 --install_path binhtml=/sw/share/man/man1 --install_path
libhtml=/sw/share/man/man3 destdir=/sw/src/fink.build/root-po4a-0.45-1
Use of uninitialized value $mandir in substitution (s///) at Po4aBuilder.pm line 136.
Use of uninitialized value $localedir in substitution (s///) at Po4aBuilder.pm line 141.
----------------------------------------------------------------------
Comment By: Denis Barbier (barbier-guest)
Date: 2013-09-04 18:11
Message:
Replace l.132 of Po4aBuilder.pm
my $mandir = $self->install_sets($self->installdirs)->{'bindoc'};
by
my $mandir = $self->install_map->{'blib/bindoc'};
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-04 00:34
Message:
it does not, I can post my build log if it helps but 0.45 is doing the same thing.
----------------------------------------------------------------------
Comment By: Denis Barbier (barbier-guest)
Date: 2013-09-03 23:54
Message:
Hello,
I had trouble with Module::Build, and made some changes in 0.45. Could you please check
whether 0.45 fixes this bug?
----------------------------------------------------------------------
Comment By: Justin Hallett (thesin-guest)
Date: 2013-09-03 23:48
Message:
As the fink maintainer for po4a I can confirm this behaviour from 0.42 to 0.45, is there a
patch or Build option to fix this yet?
----------------------------------------------------------------------
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=410622&aid=31...