develooper Front page | perl.perl5.porters | Postings from March 2013

Re: [perl #117289] ExtUtils-ParseXS installs xsubpp twice

Thread Next
From:
Petr Pisar
Date:
March 25, 2013 19:31
Subject:
Re: [perl #117289] ExtUtils-ParseXS installs xsubpp twice
Message ID:
20130325154531.GD1782@dhcp-0-146.brq.redhat.com
On Sat, Mar 23, 2013 at 11:57:12AM -0700, James E Keenan via RT wrote:
> On Fri Mar 22 05:19:42 2013, ppisar wrote:
> > 
> > ExtUtils-ParseXS-3.18 installs xsubpp script twice:
> > 
> > $ make pure_install DESTDIR=/tmp/ExtUtils-ParseXS-3.18-dest
> > [...]
> > $ find /tmp/ExtUtils-ParseXS-3.18-dest -name xsubpp
> > /tmp/ExtUtils-ParseXS-3.18-dest/usr/local/share/perl5/ExtUtils/xsubpp
> > /tmp/ExtUtils-ParseXS-3.18-dest/usr/local/bin/xsubpp
> > 
[...]
> > Please stop installing xsubpp into @INC path.
> > 
> 
> I don't see what the problem is here.
> 
The problem here is the same file gets installed into /usr/{,local/}bin and
into @INC. What's good for to have the same file twice in your system?

> In the first place, when you install/upgrade ExtUtils::ParseXS from
> CPAN, it installs xsubpp into /usr/local/bin and its man page into
> /usr/local/share/man/man1 -- period; nothing else gets installed.
> 
Not at all. I've just given a try:

root@fedora-20:/usr/local # cpan -i -f ExtUtils::ParseXS
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 25 Mar 2013 14:41:04 GMT
Running install for module 'ExtUtils::ParseXS'
Running make for S/SM/SMUELLER/ExtUtils-ParseXS-3.18.tar.gz
[...]
Result: PASS
  SMUELLER/ExtUtils-ParseXS-3.18.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /usr/local/share/perl5/ExtUtils/Typemaps.pm
Installing /usr/local/share/perl5/ExtUtils/ParseXS.pod
Installing /usr/local/share/perl5/ExtUtils/xsubpp
Installing /usr/local/share/perl5/ExtUtils/ParseXS.pm
Installing /usr/local/share/perl5/ExtUtils/Typemaps/Type.pm
Installing /usr/local/share/perl5/ExtUtils/Typemaps/InputMap.pm
Installing /usr/local/share/perl5/ExtUtils/Typemaps/Cmd.pm
Installing /usr/local/share/perl5/ExtUtils/Typemaps/OutputMap.pm
Installing /usr/local/share/perl5/ExtUtils/ParseXS/Constants.pm
Installing /usr/local/share/perl5/ExtUtils/ParseXS/CountLines.pm
Installing /usr/local/share/perl5/ExtUtils/ParseXS/Utilities.pm
Installing /usr/local/share/man/man1/xsubpp.1
Installing /usr/local/share/man/man3/ExtUtils::ParseXS::Utilities.3pm
Installing /usr/local/share/man/man3/ExtUtils::ParseXS.3pm
Installing /usr/local/share/man/man3/ExtUtils::ParseXS::Constants.3pm
Installing /usr/local/share/man/man3/ExtUtils::Typemaps::Type.3pm
Installing /usr/local/share/man/man3/ExtUtils::Typemaps::OutputMap.3pm
Installing /usr/local/share/man/man3/ExtUtils::Typemaps::Cmd.3pm
Installing /usr/local/share/man/man3/ExtUtils::Typemaps.3pm
Installing /usr/local/share/man/man3/ExtUtils::Typemaps::InputMap.3pm
Installing /usr/local/bin/xsubpp
Appending installation info to /usr/lib64/perl5/perllocal.pod
  SMUELLER/ExtUtils-ParseXS-3.18.tar.gz
  /usr/bin/make install  -- OK

> I have never had occasion to use 'make pure_install',
The same as make install minus installing some unneeded stuff.

> 
> The array C<@INC> contains the list of places that the C<do EXPR>,
> C<require>, or C<use> constructs look for their library files.
> 
And is xsubpp supposed to be "require"-d by other perl code? Then there is no
reason to install the file there.

> AFAIK, there is no requirement that the paths named in @INC contain
> *only* Perl library (.pm) files.

Thus it's reasonable to put the file there?

> /usr/local/lib/perl5/5.16.0/ExtUtils/, for example, contains .pm files,
> a .pod file, a MANIFEST.SKIP,
Yeah, such usefull MANIFEST.SKIP that will get overwitten by another package
installation? Maybe that's reason for make pure_install.

>a configuration file (typemap) as well as
> a read-only version of xsubpp.
>
Again, what is it good for?

> So, I don't see a bug here.
> 
If I can be constructive, moving lib/ExtUtils/xsubpp to scripts/xsubpp and
removing 'EXE_FILES' => ['lib/ExtUtils/xsubpp'] from Makefile.PL should fix
this issue.

-- Petr

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About