Thread: BUG #14117: psql and pg_dump commands should use ENV perl

BUG #14117: psql and pg_dump commands should use ENV perl

From
jsteffee@bepress.com
Date:
The following bug has been logged on the website:

Bug reference:      14117
Logged by:          Joe Steffee
Email address:      jsteffee@bepress.com
PostgreSQL version: 9.5.2
Operating system:   Ubuntu 14.04.2
Description:

We have multiple systems which use non-system perl for various tasks,
including perl scripts which test some pg_dump commands. These break because
psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
#!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl
called with ENV, where /usr/bin/perl has libraries compiled differently.

Re: BUG #14117: psql and pg_dump commands should use ENV perl

From
Tom Lane
Date:
jsteffee@bepress.com writes:
> We have multiple systems which use non-system perl for various tasks,
> including perl scripts which test some pg_dump commands. These break because
> psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
> #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl
> called with ENV, where /usr/bin/perl has libraries compiled differently.

Uh, what?  Neither of those programs use perl at all.

We do have hard-wired uses of /usr/bin/perl in some scripts that might get
used at build time, but those shouldn't really be an issue, especially not
if you're using prebuilt packages, or even just building from a tarball.

            regards, tom lane

Re: BUG #14117: psql and pg_dump commands should use ENV perl

From
Andres Freund
Date:
On 2016-04-27 18:27:07 -0400, Tom Lane wrote:
> jsteffee@bepress.com writes:
> > We have multiple systems which use non-system perl for various tasks,
> > including perl scripts which test some pg_dump commands. These break because
> > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
> > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl
> > called with ENV, where /usr/bin/perl has libraries compiled differently.
>
> Uh, what?  Neither of those programs use perl at all.
>
> We do have hard-wired uses of /usr/bin/perl in some scripts that might get
> used at build time, but those shouldn't really be an issue, especially not
> if you're using prebuilt packages, or even just building from a tarball.

I guess the OP is using the debian/ubuntu packages which have a wrapper
around most postgres binariers which tries to use the correct version of
the binary.

Joe, you might have more success opening a bug-report against either Debian's
or Ubuntu's packages.

Andres

Re: BUG #14117: psql and pg_dump commands should use ENV perl

From
Joe Steffee
Date:
pg_dump and psql are perl programs.

They were installed from http://apt.postgresql.org/pub/repos/apt/

Who maintains apt.postgresql.org?


On Wed, Apr 27, 2016 at 3:30 PM, Andres Freund <andres@anarazel.de> wrote:

> On 2016-04-27 18:27:07 -0400, Tom Lane wrote:
> > jsteffee@bepress.com writes:
> > > We have multiple systems which use non-system perl for various tasks,
> > > including perl scripts which test some pg_dump commands. These break
> because
> > > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
> > > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on
> the perl
> > > called with ENV, where /usr/bin/perl has libraries compiled
> differently.
> >
> > Uh, what?  Neither of those programs use perl at all.
> >
> > We do have hard-wired uses of /usr/bin/perl in some scripts that might
> get
> > used at build time, but those shouldn't really be an issue, especially
> not
> > if you're using prebuilt packages, or even just building from a tarball.
>
> I guess the OP is using the debian/ubuntu packages which have a wrapper
> around most postgres binariers which tries to use the correct version of
> the binary.
>
> Joe, you might have more success opening a bug-report against either
> Debian's
> or Ubuntu's packages.
>
> Andres
>



--
Joe Steffee
Linux Systems Administrator
bepress

Re: BUG #14117: psql and pg_dump commands should use ENV perl

From
Joe Steffee
Date:
You're right. /usr/bin/psql is a wrapper for the actual psql command being
called. You can close this bug.

On Wed, Apr 27, 2016 at 3:47 PM, Joe Steffee <jsteffee@bepress.com> wrote:

> pg_dump and psql are perl programs.
>
> They were installed from http://apt.postgresql.org/pub/repos/apt/
>
> Who maintains apt.postgresql.org?
>
>
> On Wed, Apr 27, 2016 at 3:30 PM, Andres Freund <andres@anarazel.de> wrote:
>
>> On 2016-04-27 18:27:07 -0400, Tom Lane wrote:
>> > jsteffee@bepress.com writes:
>> > > We have multiple systems which use non-system perl for various tasks,
>> > > including perl scripts which test some pg_dump commands. These break
>> because
>> > > psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
>> > > #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on
>> the perl
>> > > called with ENV, where /usr/bin/perl has libraries compiled
>> differently.
>> >
>> > Uh, what?  Neither of those programs use perl at all.
>> >
>> > We do have hard-wired uses of /usr/bin/perl in some scripts that might
>> get
>> > used at build time, but those shouldn't really be an issue, especially
>> not
>> > if you're using prebuilt packages, or even just building from a tarball.
>>
>> I guess the OP is using the debian/ubuntu packages which have a wrapper
>> around most postgres binariers which tries to use the correct version of
>> the binary.
>>
>> Joe, you might have more success opening a bug-report against either
>> Debian's
>> or Ubuntu's packages.
>>
>> Andres
>>
>
>
>
> --
> Joe Steffee
> Linux Systems Administrator
> bepress
>



--
Joe Steffee
Linux Systems Administrator
bepress

Re: BUG #14117: psql and pg_dump commands should use ENV perl

From
Christoph Berg
Date:
Re: jsteffee@bepress.com 2016-04-27 <20160427202409.19109.81530@wrigleys.postgresql.org>
> The following bug has been logged on the website:
>
> Bug reference:      14117
> Logged by:          Joe Steffee
> Email address:      jsteffee@bepress.com
> PostgreSQL version: 9.5.2
> Operating system:   Ubuntu 14.04.2
> Description:
>
> We have multiple systems which use non-system perl for various tasks,
> including perl scripts which test some pg_dump commands. These break because
> psql and pg_dump are hard-coded with #!/usr/bin/perl instead of
> #!/usr/bin/env perl. The PERL5LIB is set up with libraries based on the perl
> called with ENV, where /usr/bin/perl has libraries compiled differently.

Hi,

the usage of `#!/usr/bin/perl' is mandated by the Debian policy and
the Perl sub policy, so it is not going to change. If you need a
different Perl, you'll need to dpkg-divert /usr/bin/perl away and
install your version there, I'm afraid.

Christoph