Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1019537 > unrolled thread

Bug#966396: debhelper: should invoke perl as /usr/bin/perl

Started byDominic Hargreaves <dom@earth.li>
First post2020-07-28 00:30 +0200
Last post2020-08-01 18:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.debian.bugs.dist

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#966396: debhelper: should invoke perl as /usr/bin/perl Dominic Hargreaves <dom@earth.li> - 2020-07-28 00:30 +0200
    Bug#966396: debhelper: should invoke perl as /usr/bin/perl mattia@debian.org - 2020-07-30 15:20 +0200
      Bug#966396: debhelper: should invoke perl as /usr/bin/perl Dominic Hargreaves <dom@earth.li> - 2020-08-01 18:40 +0200

#1019537 — Bug#966396: debhelper: should invoke perl as /usr/bin/perl

FromDominic Hargreaves <dom@earth.li>
Date2020-07-28 00:30 +0200
SubjectBug#966396: debhelper: should invoke perl as /usr/bin/perl
Message-ID<AxjN7-3mk-1@gated-at.bofh.it>
Package: debhelper
Version: 13.2
X-Debbugs-Cc: debian-perl@lists.debian.org

On Tue, Jul 21, 2020 at 03:38:05PM +0200, Stefan Hornburg (Racke) wrote:
> On 7/21/20 3:32 PM, Dominic Hargreaves wrote:
> > On Tue, Jul 21, 2020 at 11:54:50AM +0200, Stefan Hornburg (Racke) wrote:
> >> I'm trying to update a really old Debian package (safe-hole-perl) because of bug
> >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=965811.
> >>
> >> It uses Module::Build and is a XS module.
> >>
> >> Error message on build:
> >>
> >> dh binary
> >>    dh_testroot
> >>    dh_prep
> >>    dh_auto_install
> >> 	perl Build install --destdir /var/tmp/debaux-racke/safe-hole-perl/safe-hole-perl-0.14/debian/libsafe-hole-perl
> >> --create_packlist 0
> >> Building Safe-Hole
> >> WARNING: Can't figure out install path for types: arch lib
> >> Files will not be installed.
> >> Installing
> >> /var/tmp/debaux-racke/safe-hole-perl/safe-hole-perl-0.14/debian/libsafe-hole-perl/home/racke/perl5/perlbrew/perls/perl-5.30.0/man/man3/Safe::Hole.3
> > 
> > At a guess, the problem is related to the fact your perl is a perlbrew
> > one (see the install path above).
> > 
> > Does it work if you arrange for the perl in your path to be /usr/bin/perl?
> > 
> > This smells like a bug in debhelper to me - perl policy says that perl
> > should be /usr/bin/perl in shebangs, and I think the same should apply
> > here. I'm amazed this hasn't bit us before, if I'm right (it's been like
> > this since at least 2009, and probably forever).
> > 
> > https://salsa.debian.org/debian/debhelper/-/blob/master/lib/Debian/Debhelper/Buildsystem/perl_build.pm#L44
> > 
> > Dominic
> > 
> > 
> 
> Yes, that was the problem. After "perlbrew off" it works as expected. It is an old problem indeed.
> 
> Thanks a lot (to Dominique as well) for the quick answer.

Filing this as a bug, with a proposed patch at
https://salsa.debian.org/debian/debhelper/-/merge_requests/40

[toc] | [next] | [standalone]


#1019796

Frommattia@debian.org
Date2020-07-30 15:20 +0200
Message-ID<AygDv-5HM-3@gated-at.bofh.it>
In reply to#1019537

[Multipart message — attachments visible in raw view] — view raw

On Mon, Jul 27, 2020 at 11:17:37PM +0100, Dominic Hargreaves wrote:
> > > Does it work if you arrange for the perl in your path to be /usr/bin/perl?
> > > 
> > > This smells like a bug in debhelper to me - perl policy says that perl
> > > should be /usr/bin/perl in shebangs, and I think the same should apply
> > > here. I'm amazed this hasn't bit us before, if I'm right (it's been like
> > > this since at least 2009, and probably forever).
> > > 
> > > https://salsa.debian.org/debian/debhelper/-/blob/master/lib/Debian/Debhelper/Buildsystem/perl_build.pm#L44
> > 
> > Yes, that was the problem. After "perlbrew off" it works as expected. It is an old problem indeed.
> > 
> Filing this as a bug, with a proposed patch at
> https://salsa.debian.org/debian/debhelper/-/merge_requests/40

may I disagree?
I'll admit I never had to do it with perl, but every time people insists
on using full paths overrinding a program by hacking on PATH suddenly
becomes much harder.

As usual, one would expect that their build system is sane, having a
non-working (or whatever was the problem there) `perl` during a build is
very much the fault of the person controlling that system, not of
debhelper.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
More about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

[toc] | [prev] | [next] | [standalone]


#1020073

FromDominic Hargreaves <dom@earth.li>
Date2020-08-01 18:40 +0200
Message-ID<Az2Ia-29W-5@gated-at.bofh.it>
In reply to#1019796
On Thu, Jul 30, 2020 at 03:09:43PM +0200, mattia@debian.org wrote:
> On Mon, Jul 27, 2020 at 11:17:37PM +0100, Dominic Hargreaves wrote:
> > > > This smells like a bug in debhelper to me - perl policy says that perl
> > > > should be /usr/bin/perl in shebangs, and I think the same should apply
> > > > here. I'm amazed this hasn't bit us before, if I'm right (it's been like
> > > > this since at least 2009, and probably forever).
> > > > 
> > > > https://salsa.debian.org/debian/debhelper/-/blob/master/lib/Debian/Debhelper/Buildsystem/perl_build.pm#L44
> > > 
> > > Yes, that was the problem. After "perlbrew off" it works as expected. It is an old problem indeed.
> > > 
> > Filing this as a bug, with a proposed patch at
> > https://salsa.debian.org/debian/debhelper/-/merge_requests/40
> 
> may I disagree?
> I'll admit I never had to do it with perl, but every time people insists
> on using full paths overrinding a program by hacking on PATH suddenly
> becomes much harder.

I'm not persuaded by this argument. Debhelper is invoking perl in order
to build Debian packages, whose contents must be compatible with
/usr/bin/perl. Anyone hacking on something needing to change /usr/bin/perl
is already going to need to deal with replacing /usr/bin/perl in order
to test anything properly.

> As usual, one would expect that their build system is sane, having a
> non-working (or whatever was the problem there) `perl` during a build is
> very much the fault of the person controlling that system, not of
> debhelper.

Not at all. Whilst release builds of packages should of course be built
in clean environments, this is not a reason to break developer workflows
when people happen to use a different perl for day to day activities.

Dominic.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web