Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#8973 closed defect (fixed)

Perl bindings may be installed to directory not in @INC

Reported by: sphery Owned by: beirdo
Priority: minor Milestone: 0.24
Component: Bindings - Perl Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Since [25450], the MythTV Perl bindings are always installed into the MythTV install prefix, even on systems where that location is not a part of the Perl @INC (see, for example, http://www.gossamer-threads.com/lists/mythtv/users/452749#452749 ). Forcing the MythTV prefix to be passed to the Perl bindings prevents users on such systems from modifying the install location.

If, instead, we remove the PREFIX from the Makefile and use the --perl-config-opts argument added by [25450] to /allow/ users to configure the Perl bindings install location, any user could ensure they go wherever is appropriate, but Perl would, by default, do something reasonable. For example, using something like:

./configure --prefix=/usr/local --perl-config-opts="PREFIX=/usr/local"

would allow a user to install MythTV and the Perl bindings into the /usr/local hierarchy (or, similar for an install into HOME directories or other directories), even if the system Perl would have chosen to install the Perl bindings into /usr, instead. This way, we would trust Perl to do the right thing by default, but allow users to override Perl's configuration, when appropriate.

Attached patch allows use of --perl-config-opts for specifying Perl bindings install prefix, as above.

Attachments (1)

mythtv-perl_bindings-fix_install_prefix.patch (1014 bytes) - added by sphery 9 years ago.

Download all attachments as: .zip

Change History (4)

Changed 9 years ago by sphery

comment:1 Changed 9 years ago by beirdo

Status: newaccepted

comment:2 Changed 9 years ago by beirdo

Resolution: fixed
Status: acceptedclosed

(In [26427]) Fix perl bindings make install

Instead of passing PREFIX in directly, if you want to install the Perl bindings anywhere but system default, you will need to use --perl-config-opts in configure like so:

--perl-config-opts="PREFIX=/tmp/blah"

Of course substitute in your selected PREFIX value

If you do install them in nonstandard places, it is still up to you as the user to set @INC or PERL5LIB correctly so your scripts can see the bindings.

Fixes #8973.

comment:3 Changed 9 years ago by beirdo

Milestone: unknown0.24
Note: See TracTickets for help on using tickets.