Package: linux-base
Version: 4.12

Hi. This relates to whether Perl should be a package dependency of
linux-base. linux-base provides /usr/bin/linux-version which can be
invoked by many things that interact with initramfs / firmware
generation, kernel level build stuff. If perl is not installed, the
invocation will fail. If this occurs when creating a chroot (eg via
mmdebstrap as we are), this breaks the build. A workaround is to specify
perl in the list of packages that get installed in the chroot.

While package linux-base does not require perl, it installs a script
that if invoked will fail to run if perl is not installed. This problem
goes unnoticed if installing a system from minbase or friends (because
perl is pulled by something), but it shows up if doing a custom chroot
build where a specific list of packages is used to seed (and therefore
expected to be installed in) the chroot, along with their dependencies.

perl-base is listed as Priority:required which, AFAIK, means it is
absolutely mandatory. If so, why does it not get auto-installed as a
dependency of at least one of the packages below when constructing a
Trixie base? The same is true of Bookworm (excluding
linux-sysctl-defaults).

findutils
dpkg
libc-bin
base-files
base-passwd
debianutils
bash
diffutils
util-linux
sed
grep
gzip
udev
e2fsprogs
linux-sysctl-defaults

If the above set plus initramfs-tools plus our raspberry pi kernel image
is requested for install, apt fails to install all packages:

Processing triggers for initramfs-tools (0.148.3+rpt2) ...
/usr/sbin/update-initramfs: line 217: /usr/bin/linux-version: cannot
execute: required file not found
dpkg: error processing package initramfs-tools (--install):

linux-version cannot be executed because there is no (perl) interpreter
installed in the chroot.

Adding perl-base to the above list results in a successful build. Why
should this be required? If perl-base is mandatory for any Debian
system, why is it not pulled in automatically by one of the above
packages?

At first glance, it may seem reasonable to think that base-files could
be a candidate of which to mark perl-base as a dependency of. However,
the above package list is able to install successfully without any linux
package dependency because nothing invokes linux-base, therefore making
it not mandatory in such a system (although how useful this system would
be is unclear - probably not very).

I would like to ask the linux-base maintainers if there should be an
explicitly dependency on perl-base and if not, where should the
dependency be wired?

Thanks,
--  Matt

Reply via email to