On Thu, Apr 19, 2018 at 09:09:24PM +0200, Paul Gevers wrote:
> Source: pgbackrest
> Version: 2.01-1
> Severity: serious
> User: debian...@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   nt...@debian.org

Reply via email to