Package: libdebhelper-perl
Version: 13.24.2
Severity: important
X-Debbugs-Cc: [email protected]

Dear Maintainer,

   * What led up to the situation?

This was triggered while attemting to harden first the execution and
then the build of LinuxCNC.
Many scripts of that package had missing quotes in shell scripts
and thus were susceptible to blanks or other unexpected characters
in file names.

We found that it still fails when a directory in the path to the
build directory had a blank, invoking "make" directly. I had now
tried to invoke it via dpkg-buildpackage and, well, it did not get
very far.

https://github.com/LinuxCNC/linuxcnc/pull/3309 gives a bit of context
from our side.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

The directory I cloned linuxcnc into I renamed to "linux cnc",
entered it (cd !$ worked fine), ran ./debian/configure no-docs,
then dpkg-buildpackage.

   * What was the outcome of this action?

make[1]: Entering directory '/home/moeller/GitHub/linux cnc'
dh_auto_build -- build-software
date: invalid date '@'
date: invalid date '@'
Use of uninitialized value $abspath in -d at 
/usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 140.

Comment: It is a trivial "if ( -d $abspath " that is apparently missing
some quotes. But there is likely more to it downstream.

dh_auto_build: error: invalid or non-existing path to the source directory: 
/home/moeller/GitHub/linuxcnc/src

Comment: THat path is indeed not existing. I had renamed "linuxcnc" to
"linux cnc" for this test. Same shell, nothing logged in from somewhere
else or so.

make[1]: *** [debian/rules:55: override_dh_auto_build-arch] Error 255
make[1]: Leaving directory '/home/moeller/GitHub/linux cnc'
make: *** [debian/rules:43: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
moeller@mariner1:/home/moeller/GitHub/linux cnc$

   * What outcome did you expect instead?

The error in the LinuxCNC Makefile with its very own path expansion
should have surfaced. This is much earlier.

It would be lovely to add to the CI the execution of various debhelper
utils from a directory that has a blank in its name.

-- System Information:
Debian Release: 13.0
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.10.9-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libdebhelper-perl depends on:
ii  perl  5.40.1-6

libdebhelper-perl recommends no packages.

libdebhelper-perl suggests no packages.

-- no debconf information

Reply via email to