[Pkg-postgresql-public] Bug#896121: pgbackrest: package files are not on @INC anymore with perl 5.26.2

Niko Tyni ntyni at debian.org
Fri Apr 20 18:46:14 BST 2018


On Thu, Apr 19, 2018 at 09:09:24PM +0200, Paul Gevers wrote:
> Source: pgbackrest
> Version: 2.01-1
> Severity: serious
> User: debian-ci at lists.debian.org
> Usertags: needs-update
> 
> Your autopkgtestĀ¹ of version 2.01-1 started to fail when perl 5.26.2 hit
> the archive with the error copied below. It seems the package installs
> files in /usr/lib/<arch-triplet>/perl/5.26.1/. That path is not on @INC
> with perl 5.26.2, so either you need to put the files somewhere else, or
> you need a hard Depends on perl 5.26.1.
> 
> I think the issue is much more severe than just the autopkgtest failing,
> I think the package stopped working with the default perl and INC.

Yes. We discussed this on IRC with Myon, and I believe the result was
that something like

 sed -i 's!PREFIX=/usr!INSTALLDIRS=vendor!' debian/rules

fixes it.

The modules are supposed to end up in /usr/lib/<triplet>/perl5/5.26
($Config{vendorarch}), as per the Debian Perl Policy. The normal way to
achieve that is to pass INSTALLDIRS=vendor to Makefile.PL as suggested
by the policy.

The package used to work because the files were installed to Perl's
private library directory /usr/lib/<triplet>/perl/5.26.1 (note /perl/
not /perl5/). This private directory changed with the upgrade of Perl.

When you fix this, please file a bug against perl to add a Breaks entry
for the older pgbackrest versions so that partial upgrades can't end up
with a broken combination of packages.

Thanks for your work on Debian,
-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-postgresql-public mailing list